Copyright | (c) 2013-2015 Brendan Hay |
---|---|
License | Mozilla Public License, v. 2.0. |
Maintainer | Brendan Hay <brendan.g.hay@gmail.com> |
Stability | auto-generated |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
Language | Haskell2010 |
- Service Configuration
- Errors
- Waiters
- Operations
- Types
- ActionOnFailure
- ClusterState
- ClusterStateChangeReasonCode
- InstanceGroupState
- InstanceGroupStateChangeReasonCode
- InstanceGroupType
- InstanceRoleType
- InstanceState
- InstanceStateChangeReasonCode
- MarketType
- StepState
- StepStateChangeReasonCode
- Application
- BootstrapActionConfig
- Cluster
- ClusterStateChangeReason
- ClusterStatus
- ClusterSummary
- ClusterTimeline
- Command
- Configuration
- EC2InstanceAttributes
- HadoopJARStepConfig
- HadoopStepConfig
- Instance
- InstanceGroup
- InstanceGroupConfig
- InstanceGroupModifyConfig
- InstanceGroupStateChangeReason
- InstanceGroupStatus
- InstanceGroupTimeline
- InstanceStateChangeReason
- InstanceStatus
- InstanceTimeline
- JobFlowInstancesConfig
- KeyValue
- PlacementType
- ScriptBootstrapActionConfig
- Step
- StepConfig
- StepStateChangeReason
- StepStatus
- StepSummary
- StepTimeline
- SupportedProductConfig
- Tag
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 tasks such as web indexing, data mining, log file analysis, machine learning, scientific simulation, and data warehousing.
See: AWS API Reference
- eMR :: Service
- _InvalidRequestException :: AsError a => Getting (First ServiceError) a ServiceError
- _InternalServerError :: AsError a => Getting (First ServiceError) a ServiceError
- _InternalServerException :: AsError a => Getting (First ServiceError) a ServiceError
- clusterRunning :: Wait DescribeCluster
- module Network.AWS.EMR.RunJobFlow
- module Network.AWS.EMR.SetVisibleToAllUsers
- module Network.AWS.EMR.TerminateJobFlows
- module Network.AWS.EMR.RemoveTags
- module Network.AWS.EMR.DescribeStep
- module Network.AWS.EMR.DescribeCluster
- module Network.AWS.EMR.ModifyInstanceGroups
- module Network.AWS.EMR.AddJobFlowSteps
- module Network.AWS.EMR.SetTerminationProtection
- module Network.AWS.EMR.ListSteps
- module Network.AWS.EMR.AddInstanceGroups
- module Network.AWS.EMR.ListInstanceGroups
- module Network.AWS.EMR.ListBootstrapActions
- module Network.AWS.EMR.AddTags
- module Network.AWS.EMR.ListInstances
- module Network.AWS.EMR.ListClusters
- data ActionOnFailure
- data ClusterState
- data ClusterStateChangeReasonCode
- data InstanceGroupState
- data InstanceGroupStateChangeReasonCode
- data InstanceGroupType
- data InstanceRoleType
- data InstanceState
- data InstanceStateChangeReasonCode
- data MarketType
- data StepState
- data StepStateChangeReasonCode = None
- data Application
- application :: Application
- aAdditionalInfo :: Lens' Application (HashMap Text Text)
- aArgs :: Lens' Application [Text]
- aName :: Lens' Application (Maybe Text)
- aVersion :: Lens' Application (Maybe Text)
- data BootstrapActionConfig
- bootstrapActionConfig :: Text -> ScriptBootstrapActionConfig -> BootstrapActionConfig
- bacName :: Lens' BootstrapActionConfig Text
- bacScriptBootstrapAction :: Lens' BootstrapActionConfig ScriptBootstrapActionConfig
- data Cluster
- cluster :: Text -> Text -> ClusterStatus -> Cluster
- cluRequestedAMIVersion :: Lens' Cluster (Maybe Text)
- cluEC2InstanceAttributes :: Lens' Cluster (Maybe EC2InstanceAttributes)
- cluNormalizedInstanceHours :: Lens' Cluster (Maybe Int)
- cluConfigurations :: Lens' Cluster [Configuration]
- cluReleaseLabel :: Lens' Cluster (Maybe Text)
- cluLogURI :: Lens' Cluster (Maybe Text)
- cluRunningAMIVersion :: Lens' Cluster (Maybe Text)
- cluMasterPublicDNSName :: Lens' Cluster (Maybe Text)
- cluAutoTerminate :: Lens' Cluster (Maybe Bool)
- cluTerminationProtected :: Lens' Cluster (Maybe Bool)
- cluVisibleToAllUsers :: Lens' Cluster (Maybe Bool)
- cluApplications :: Lens' Cluster [Application]
- cluTags :: Lens' Cluster [Tag]
- cluServiceRole :: Lens' Cluster (Maybe Text)
- cluId :: Lens' Cluster Text
- cluName :: Lens' Cluster Text
- cluStatus :: Lens' Cluster ClusterStatus
- data ClusterStateChangeReason
- clusterStateChangeReason :: ClusterStateChangeReason
- cscrCode :: Lens' ClusterStateChangeReason (Maybe ClusterStateChangeReasonCode)
- cscrMessage :: Lens' ClusterStateChangeReason (Maybe Text)
- data ClusterStatus
- clusterStatus :: ClusterStatus
- csState :: Lens' ClusterStatus (Maybe ClusterState)
- csStateChangeReason :: Lens' ClusterStatus (Maybe ClusterStateChangeReason)
- csTimeline :: Lens' ClusterStatus (Maybe ClusterTimeline)
- data ClusterSummary
- clusterSummary :: ClusterSummary
- csStatus :: Lens' ClusterSummary (Maybe ClusterStatus)
- csNormalizedInstanceHours :: Lens' ClusterSummary (Maybe Int)
- csName :: Lens' ClusterSummary (Maybe Text)
- csId :: Lens' ClusterSummary (Maybe Text)
- data ClusterTimeline
- clusterTimeline :: ClusterTimeline
- ctReadyDateTime :: Lens' ClusterTimeline (Maybe UTCTime)
- ctCreationDateTime :: Lens' ClusterTimeline (Maybe UTCTime)
- ctEndDateTime :: Lens' ClusterTimeline (Maybe UTCTime)
- data Command
- command :: Command
- cArgs :: Lens' Command [Text]
- cScriptPath :: Lens' Command (Maybe Text)
- cName :: Lens' Command (Maybe Text)
- data Configuration
- configuration :: Configuration
- cConfigurations :: Lens' Configuration [Configuration]
- cClassification :: Lens' Configuration (Maybe Text)
- cProperties :: Lens' Configuration (HashMap Text Text)
- data EC2InstanceAttributes
- ec2InstanceAttributes :: EC2InstanceAttributes
- eiaEC2KeyName :: Lens' EC2InstanceAttributes (Maybe Text)
- eiaEmrManagedSlaveSecurityGroup :: Lens' EC2InstanceAttributes (Maybe Text)
- eiaAdditionalSlaveSecurityGroups :: Lens' EC2InstanceAttributes [Text]
- eiaIAMInstanceProfile :: Lens' EC2InstanceAttributes (Maybe Text)
- eiaAdditionalMasterSecurityGroups :: Lens' EC2InstanceAttributes [Text]
- eiaEmrManagedMasterSecurityGroup :: Lens' EC2InstanceAttributes (Maybe Text)
- eiaEC2SubnetId :: Lens' EC2InstanceAttributes (Maybe Text)
- eiaEC2AvailabilityZone :: Lens' EC2InstanceAttributes (Maybe Text)
- data HadoopJARStepConfig
- hadoopJARStepConfig :: Text -> HadoopJARStepConfig
- hjscArgs :: Lens' HadoopJARStepConfig [Text]
- hjscMainClass :: Lens' HadoopJARStepConfig (Maybe Text)
- hjscProperties :: Lens' HadoopJARStepConfig [KeyValue]
- hjscJAR :: Lens' HadoopJARStepConfig Text
- data HadoopStepConfig
- hadoopStepConfig :: HadoopStepConfig
- hscArgs :: Lens' HadoopStepConfig [Text]
- hscJAR :: Lens' HadoopStepConfig (Maybe Text)
- hscMainClass :: Lens' HadoopStepConfig (Maybe Text)
- hscProperties :: Lens' HadoopStepConfig (HashMap Text Text)
- data Instance
- instance' :: Instance
- iStatus :: Lens' Instance (Maybe InstanceStatus)
- iPublicDNSName :: Lens' Instance (Maybe Text)
- iEC2InstanceId :: Lens' Instance (Maybe Text)
- iPrivateIPAddress :: Lens' Instance (Maybe Text)
- iId :: Lens' Instance (Maybe Text)
- iPrivateDNSName :: Lens' Instance (Maybe Text)
- iPublicIPAddress :: Lens' Instance (Maybe Text)
- data InstanceGroup
- instanceGroup :: InstanceGroup
- igStatus :: Lens' InstanceGroup (Maybe InstanceGroupStatus)
- igBidPrice :: Lens' InstanceGroup (Maybe Text)
- igRequestedInstanceCount :: Lens' InstanceGroup (Maybe Int)
- igRunningInstanceCount :: Lens' InstanceGroup (Maybe Int)
- igConfigurations :: Lens' InstanceGroup [Configuration]
- igInstanceGroupType :: Lens' InstanceGroup (Maybe InstanceGroupType)
- igInstanceType :: Lens' InstanceGroup (Maybe Text)
- igMarket :: Lens' InstanceGroup (Maybe MarketType)
- igName :: Lens' InstanceGroup (Maybe Text)
- igId :: Lens' InstanceGroup (Maybe Text)
- data InstanceGroupConfig
- instanceGroupConfig :: InstanceRoleType -> Text -> Int -> InstanceGroupConfig
- igcBidPrice :: Lens' InstanceGroupConfig (Maybe Text)
- igcConfigurations :: Lens' InstanceGroupConfig [Configuration]
- igcMarket :: Lens' InstanceGroupConfig (Maybe MarketType)
- igcName :: Lens' InstanceGroupConfig (Maybe Text)
- igcInstanceRole :: Lens' InstanceGroupConfig InstanceRoleType
- igcInstanceType :: Lens' InstanceGroupConfig Text
- igcInstanceCount :: Lens' InstanceGroupConfig Int
- data InstanceGroupModifyConfig
- instanceGroupModifyConfig :: Text -> InstanceGroupModifyConfig
- igmcInstanceCount :: Lens' InstanceGroupModifyConfig (Maybe Int)
- igmcEC2InstanceIdsToTerminate :: Lens' InstanceGroupModifyConfig [Text]
- igmcInstanceGroupId :: Lens' InstanceGroupModifyConfig Text
- data InstanceGroupStateChangeReason
- instanceGroupStateChangeReason :: InstanceGroupStateChangeReason
- igscrCode :: Lens' InstanceGroupStateChangeReason (Maybe InstanceGroupStateChangeReasonCode)
- igscrMessage :: Lens' InstanceGroupStateChangeReason (Maybe Text)
- data InstanceGroupStatus
- instanceGroupStatus :: InstanceGroupStatus
- igsState :: Lens' InstanceGroupStatus (Maybe InstanceGroupState)
- igsStateChangeReason :: Lens' InstanceGroupStatus (Maybe InstanceGroupStateChangeReason)
- igsTimeline :: Lens' InstanceGroupStatus (Maybe InstanceGroupTimeline)
- data InstanceGroupTimeline
- instanceGroupTimeline :: InstanceGroupTimeline
- igtReadyDateTime :: Lens' InstanceGroupTimeline (Maybe UTCTime)
- igtCreationDateTime :: Lens' InstanceGroupTimeline (Maybe UTCTime)
- igtEndDateTime :: Lens' InstanceGroupTimeline (Maybe UTCTime)
- data InstanceStateChangeReason
- instanceStateChangeReason :: InstanceStateChangeReason
- iscrCode :: Lens' InstanceStateChangeReason (Maybe InstanceStateChangeReasonCode)
- iscrMessage :: Lens' InstanceStateChangeReason (Maybe Text)
- data InstanceStatus
- instanceStatus :: InstanceStatus
- isState :: Lens' InstanceStatus (Maybe InstanceState)
- isStateChangeReason :: Lens' InstanceStatus (Maybe InstanceStateChangeReason)
- isTimeline :: Lens' InstanceStatus (Maybe InstanceTimeline)
- data InstanceTimeline
- instanceTimeline :: InstanceTimeline
- itReadyDateTime :: Lens' InstanceTimeline (Maybe UTCTime)
- itCreationDateTime :: Lens' InstanceTimeline (Maybe UTCTime)
- itEndDateTime :: Lens' InstanceTimeline (Maybe UTCTime)
- data JobFlowInstancesConfig
- jobFlowInstancesConfig :: JobFlowInstancesConfig
- jficSlaveInstanceType :: Lens' JobFlowInstancesConfig (Maybe Text)
- jficEC2KeyName :: Lens' JobFlowInstancesConfig (Maybe Text)
- jficInstanceCount :: Lens' JobFlowInstancesConfig (Maybe Int)
- jficEmrManagedSlaveSecurityGroup :: Lens' JobFlowInstancesConfig (Maybe Text)
- jficAdditionalSlaveSecurityGroups :: Lens' JobFlowInstancesConfig [Text]
- jficHadoopVersion :: Lens' JobFlowInstancesConfig (Maybe Text)
- jficAdditionalMasterSecurityGroups :: Lens' JobFlowInstancesConfig [Text]
- jficEmrManagedMasterSecurityGroup :: Lens' JobFlowInstancesConfig (Maybe Text)
- jficEC2SubnetId :: Lens' JobFlowInstancesConfig (Maybe Text)
- jficMasterInstanceType :: Lens' JobFlowInstancesConfig (Maybe Text)
- jficInstanceGroups :: Lens' JobFlowInstancesConfig [InstanceGroupConfig]
- jficKeepJobFlowAliveWhenNoSteps :: Lens' JobFlowInstancesConfig (Maybe Bool)
- jficTerminationProtected :: Lens' JobFlowInstancesConfig (Maybe Bool)
- jficPlacement :: Lens' JobFlowInstancesConfig (Maybe PlacementType)
- data KeyValue
- keyValue :: KeyValue
- kvValue :: Lens' KeyValue (Maybe Text)
- kvKey :: Lens' KeyValue (Maybe Text)
- data PlacementType
- placementType :: Text -> PlacementType
- ptAvailabilityZone :: Lens' PlacementType Text
- data ScriptBootstrapActionConfig
- scriptBootstrapActionConfig :: Text -> ScriptBootstrapActionConfig
- sbacArgs :: Lens' ScriptBootstrapActionConfig [Text]
- sbacPath :: Lens' ScriptBootstrapActionConfig Text
- data Step
- step :: Step
- sStatus :: Lens' Step (Maybe StepStatus)
- sActionOnFailure :: Lens' Step (Maybe ActionOnFailure)
- sConfig :: Lens' Step (Maybe HadoopStepConfig)
- sName :: Lens' Step (Maybe Text)
- sId :: Lens' Step (Maybe Text)
- data StepConfig
- stepConfig :: Text -> HadoopJARStepConfig -> StepConfig
- scActionOnFailure :: Lens' StepConfig (Maybe ActionOnFailure)
- scName :: Lens' StepConfig Text
- scHadoopJARStep :: Lens' StepConfig HadoopJARStepConfig
- data StepStateChangeReason
- stepStateChangeReason :: StepStateChangeReason
- sscrCode :: Lens' StepStateChangeReason (Maybe StepStateChangeReasonCode)
- sscrMessage :: Lens' StepStateChangeReason (Maybe Text)
- data StepStatus
- stepStatus :: StepStatus
- ssState :: Lens' StepStatus (Maybe StepState)
- ssStateChangeReason :: Lens' StepStatus (Maybe StepStateChangeReason)
- ssTimeline :: Lens' StepStatus (Maybe StepTimeline)
- data StepSummary
- stepSummary :: StepSummary
- ssStatus :: Lens' StepSummary (Maybe StepStatus)
- ssActionOnFailure :: Lens' StepSummary (Maybe ActionOnFailure)
- ssConfig :: Lens' StepSummary (Maybe HadoopStepConfig)
- ssName :: Lens' StepSummary (Maybe Text)
- ssId :: Lens' StepSummary (Maybe Text)
- data StepTimeline
- stepTimeline :: StepTimeline
- stCreationDateTime :: Lens' StepTimeline (Maybe UTCTime)
- stEndDateTime :: Lens' StepTimeline (Maybe UTCTime)
- stStartDateTime :: Lens' StepTimeline (Maybe UTCTime)
- data SupportedProductConfig
- supportedProductConfig :: SupportedProductConfig
- spcArgs :: Lens' SupportedProductConfig [Text]
- spcName :: Lens' SupportedProductConfig (Maybe Text)
- data Tag
- tag :: Tag
- tagValue :: Lens' Tag (Maybe Text)
- tagKey :: Lens' Tag (Maybe Text)
Service Configuration
Errors
Error matchers are designed for use with the functions provided by
Control.Exception.Lens.
This allows catching (and rethrowing) service specific errors returned
by EMR
.
InvalidRequestException
_InvalidRequestException :: AsError a => Getting (First ServiceError) a ServiceError Source
This exception occurs when there is something wrong with user input.
InternalServerError
_InternalServerError :: AsError a => Getting (First ServiceError) a ServiceError Source
Indicates that an error occurred while processing the request and that the request was not completed.
InternalServerException
_InternalServerException :: AsError a => Getting (First ServiceError) a ServiceError Source
This exception occurs when there is an internal failure in the EMR service.
Waiters
Waiters poll by repeatedly sending a request until some remote success condition
configured by the Wait
specification is fulfilled. The Wait
specification
determines how many attempts should be made, in addition to delay and retry strategies.
ClusterRunning
clusterRunning :: Wait DescribeCluster Source
Polls DescribeCluster
every 30 seconds until a
successful state is reached. An error is returned after 60 failed checks.
Operations
Some AWS operations return results that are incomplete and require subsequent
requests in order to obtain the entire result set. The process of sending
subsequent requests to continue where a previous request left off is called
pagination. For example, the ListObjects
operation of Amazon S3 returns up to
1000 objects at a time, and you must send subsequent requests with the
appropriate Marker in order to retrieve the next page of results.
Operations that have an AWSPager
instance can transparently perform subsequent
requests, correctly setting Markers and other request facets to iterate through
the entire result set of a truncated API operation. Operations which support
this have an additional note in the documentation.
Many operations have the ability to filter results on the server side. See the individual operation parameters for details.
RunJobFlow
module Network.AWS.EMR.RunJobFlow
SetVisibleToAllUsers
TerminateJobFlows
RemoveTags
module Network.AWS.EMR.RemoveTags
DescribeStep
module Network.AWS.EMR.DescribeStep
DescribeCluster
ModifyInstanceGroups
AddJobFlowSteps
SetTerminationProtection
ListSteps (Paginated)
module Network.AWS.EMR.ListSteps
AddInstanceGroups
ListInstanceGroups (Paginated)
ListBootstrapActions (Paginated)
AddTags
module Network.AWS.EMR.AddTags
ListInstances (Paginated)
ListClusters (Paginated)
module Network.AWS.EMR.ListClusters
Types
ActionOnFailure
data ActionOnFailure Source
ClusterState
data ClusterState Source
ClusterStateChangeReasonCode
data ClusterStateChangeReasonCode Source
AllStepsCompleted | |
BootstrapFailure | |
InstanceFailure | |
InternalError | |
StepFailure | |
UserRequest | |
ValidationError |
InstanceGroupState
data InstanceGroupState Source
IGSArrested | |
IGSBootstrapping | |
IGSEnded | |
IGSProvisioning | |
IGSResizing | |
IGSRunning | |
IGSShuttingDown | |
IGSSuspended | |
IGSTerminated | |
IGSTerminating |
InstanceGroupStateChangeReasonCode
data InstanceGroupStateChangeReasonCode Source
InstanceGroupType
data InstanceGroupType Source
InstanceRoleType
data InstanceRoleType Source
InstanceState
data InstanceState Source
InstanceStateChangeReasonCode
data InstanceStateChangeReasonCode Source
ISCRCBootstrapFailure | |
ISCRCClusterTerminated | |
ISCRCInstanceFailure | |
ISCRCInternalError | |
ISCRCValidationError |
MarketType
data MarketType Source
StepState
StepStateChangeReasonCode
data StepStateChangeReasonCode Source
Application
data Application Source
An application is any Amazon or third-party software that you can add to the cluster. This structure contains a list of strings that indicates the software to use with the cluster and accepts a user argument list. Amazon EMR accepts and forwards the argument list to the corresponding installation script as bootstrap action argument. 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.
In Amazon EMR releases 4.0 and greater, the only accepted parameter is the application name. To pass arguments to applications, you supply a configuration for each application.
See: application
smart constructor.
application :: Application Source
Creates a value of Application
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
aAdditionalInfo :: Lens' Application (HashMap Text Text) Source
This option is for advanced users only. This is meta information about third-party applications that third-party vendors use for testing purposes.
aArgs :: Lens' Application [Text] Source
Arguments for Amazon EMR to pass to the application.
BootstrapActionConfig
data BootstrapActionConfig Source
Configuration of a bootstrap action.
See: bootstrapActionConfig
smart constructor.
Creates a value of BootstrapActionConfig
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
bacName :: Lens' BootstrapActionConfig Text Source
The name of the bootstrap action.
bacScriptBootstrapAction :: Lens' BootstrapActionConfig ScriptBootstrapActionConfig Source
The script run by the bootstrap action.
Cluster
The detailed description of the cluster.
See: cluster
smart constructor.
Creates a value of Cluster
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
cluRequestedAMIVersion :: Lens' Cluster (Maybe Text) Source
The AMI version requested for this cluster.
cluEC2InstanceAttributes :: Lens' Cluster (Maybe EC2InstanceAttributes) Source
Undocumented member.
cluNormalizedInstanceHours :: Lens' Cluster (Maybe Int) Source
An approximation of the cost of the job flow, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an 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.
cluConfigurations :: Lens' Cluster [Configuration] Source
Amazon EMR releases 4.x or later.
The list of Configurations supplied to the EMR cluster.
cluReleaseLabel :: Lens' Cluster (Maybe Text) Source
The release label for the Amazon EMR release. For Amazon EMR 3.x and 2.x AMIs, use amiVersion instead instead of ReleaseLabel.
cluLogURI :: Lens' Cluster (Maybe Text) Source
The path to the Amazon S3 location where logs for this cluster are stored.
cluMasterPublicDNSName :: Lens' Cluster (Maybe Text) Source
The public DNS name of the master EC2 instance.
cluAutoTerminate :: Lens' Cluster (Maybe Bool) Source
Specifies whether the cluster should terminate after completing all steps.
cluTerminationProtected :: Lens' Cluster (Maybe Bool) Source
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.
cluVisibleToAllUsers :: Lens' Cluster (Maybe Bool) Source
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.
cluApplications :: Lens' Cluster [Application] Source
The applications installed on this cluster.
cluServiceRole :: Lens' Cluster (Maybe Text) Source
The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.
cluStatus :: Lens' Cluster ClusterStatus Source
The current status details about the cluster.
ClusterStateChangeReason
data ClusterStateChangeReason Source
The reason that the cluster changed to its current state.
See: clusterStateChangeReason
smart constructor.
clusterStateChangeReason :: ClusterStateChangeReason Source
Creates a value of ClusterStateChangeReason
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
cscrCode :: Lens' ClusterStateChangeReason (Maybe ClusterStateChangeReasonCode) Source
The programmatic code for the state change reason.
cscrMessage :: Lens' ClusterStateChangeReason (Maybe Text) Source
The descriptive message for the state change reason.
ClusterStatus
data ClusterStatus Source
The detailed status of the cluster.
See: clusterStatus
smart constructor.
clusterStatus :: ClusterStatus Source
Creates a value of ClusterStatus
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
csState :: Lens' ClusterStatus (Maybe ClusterState) Source
The current state of the cluster.
csStateChangeReason :: Lens' ClusterStatus (Maybe ClusterStateChangeReason) Source
The reason for the cluster status change.
csTimeline :: Lens' ClusterStatus (Maybe ClusterTimeline) Source
A timeline that represents the status of a cluster over the lifetime of the cluster.
ClusterSummary
data ClusterSummary Source
The summary description of the cluster.
See: clusterSummary
smart constructor.
clusterSummary :: ClusterSummary Source
Creates a value of ClusterSummary
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
csStatus :: Lens' ClusterSummary (Maybe ClusterStatus) Source
The details about the current status of the cluster.
csNormalizedInstanceHours :: Lens' ClusterSummary (Maybe Int) Source
An approximation of the cost of the job flow, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an 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.
ClusterTimeline
data ClusterTimeline Source
Represents the timeline of the cluster's lifecycle.
See: clusterTimeline
smart constructor.
clusterTimeline :: ClusterTimeline Source
Creates a value of ClusterTimeline
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
ctReadyDateTime :: Lens' ClusterTimeline (Maybe UTCTime) Source
The date and time when the cluster was ready to execute steps.
ctCreationDateTime :: Lens' ClusterTimeline (Maybe UTCTime) Source
The creation date and time of the cluster.
ctEndDateTime :: Lens' ClusterTimeline (Maybe UTCTime) Source
The date and time when the cluster was terminated.
Command
An entity describing an executable that runs on a cluster.
See: command
smart constructor.
Creates a value of Command
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
Configuration
data Configuration Source
Amazon EMR releases 4.x or later.
Specifies a hardware and software configuration of the EMR cluster. This includes configurations for applications and software bundled with Amazon EMR. The Configuration object is a JSON object which is defined by a classification and a set of properties. Configurations can be nested, so a configuration may have its own Configuration objects listed.
See: configuration
smart constructor.
configuration :: Configuration Source
Creates a value of Configuration
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
cConfigurations :: Lens' Configuration [Configuration] Source
A list of configurations you apply to this configuration object.
cClassification :: Lens' Configuration (Maybe Text) Source
The classification of a configuration. For more information see, Amazon EMR Configurations.
cProperties :: Lens' Configuration (HashMap Text Text) Source
A set of properties supplied to the Configuration object.
EC2InstanceAttributes
data EC2InstanceAttributes Source
Provides information about the EC2 instances in a cluster grouped by category. For example, key name, subnet ID, IAM instance profile, and so on.
See: ec2InstanceAttributes
smart constructor.
ec2InstanceAttributes :: EC2InstanceAttributes Source
Creates a value of EC2InstanceAttributes
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
eiaEC2KeyName :: Lens' EC2InstanceAttributes (Maybe Text) Source
The name of the Amazon EC2 key pair to use when connecting with SSH into the master node as a user named "hadoop".
eiaEmrManagedSlaveSecurityGroup :: Lens' EC2InstanceAttributes (Maybe Text) Source
The identifier of the Amazon EC2 security group (managed by Amazon Elastic MapReduce) for the slave nodes.
eiaAdditionalSlaveSecurityGroups :: Lens' EC2InstanceAttributes [Text] Source
A list of additional Amazon EC2 security group IDs for the slave nodes.
eiaIAMInstanceProfile :: Lens' EC2InstanceAttributes (Maybe Text) Source
The IAM role that was specified when the job flow was launched. The EC2 instances of the job flow assume this role.
eiaAdditionalMasterSecurityGroups :: Lens' EC2InstanceAttributes [Text] Source
A list of additional Amazon EC2 security group IDs for the master node.
eiaEmrManagedMasterSecurityGroup :: Lens' EC2InstanceAttributes (Maybe Text) Source
The identifier of the Amazon EC2 security group (managed by Amazon Elastic MapReduce) for the master node.
eiaEC2SubnetId :: Lens' EC2InstanceAttributes (Maybe Text) Source
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.
eiaEC2AvailabilityZone :: Lens' EC2InstanceAttributes (Maybe Text) Source
The Availability Zone in which the cluster will run.
HadoopJARStepConfig
data HadoopJARStepConfig Source
A job flow step consisting of a JAR file whose main function will be executed. The main function submits a job for Hadoop to execute and waits for the job to finish or fail.
See: hadoopJARStepConfig
smart constructor.
Creates a value of HadoopJARStepConfig
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
hjscArgs :: Lens' HadoopJARStepConfig [Text] Source
A list of command line arguments passed to the JAR file's main function when executed.
hjscMainClass :: Lens' HadoopJARStepConfig (Maybe Text) Source
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.
hjscProperties :: Lens' HadoopJARStepConfig [KeyValue] Source
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.
hjscJAR :: Lens' HadoopJARStepConfig Text Source
A path to a JAR file run during the step.
HadoopStepConfig
data HadoopStepConfig Source
A cluster step consisting of a JAR file whose main function will be executed. The main function submits a job for Hadoop to execute and waits for the job to finish or fail.
See: hadoopStepConfig
smart constructor.
hadoopStepConfig :: HadoopStepConfig Source
Creates a value of HadoopStepConfig
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
hscArgs :: Lens' HadoopStepConfig [Text] Source
The list of command line arguments to pass to the JAR file's main function for execution.
hscJAR :: Lens' HadoopStepConfig (Maybe Text) Source
The path to the JAR file that runs during the step.
hscMainClass :: Lens' HadoopStepConfig (Maybe Text) Source
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.
hscProperties :: Lens' HadoopStepConfig (HashMap Text Text) Source
The 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.
Instance
Represents an EC2 instance provisioned as part of cluster.
See: instance'
smart constructor.
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:
iEC2InstanceId :: Lens' Instance (Maybe Text) Source
The unique identifier of the instance in Amazon EC2.
InstanceGroup
data InstanceGroup Source
This entity represents an instance group, which is a group of instances that have common purpose. For example, CORE instance group is used for HDFS.
See: instanceGroup
smart constructor.
instanceGroup :: InstanceGroup Source
Creates a value of InstanceGroup
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
igStatus :: Lens' InstanceGroup (Maybe InstanceGroupStatus) Source
The current status of the instance group.
igBidPrice :: Lens' InstanceGroup (Maybe Text) Source
The bid price for each EC2 instance in the instance group when launching nodes as Spot Instances, expressed in USD.
igRequestedInstanceCount :: Lens' InstanceGroup (Maybe Int) Source
The target number of instances for the instance group.
igRunningInstanceCount :: Lens' InstanceGroup (Maybe Int) Source
The number of instances currently running in this instance group.
igConfigurations :: Lens' InstanceGroup [Configuration] Source
Amazon EMR releases 4.x or later.
The list of configurations supplied for an EMR cluster instance group. You can specify a separate configuration for each instance group (master, core, and task).
igInstanceGroupType :: Lens' InstanceGroup (Maybe InstanceGroupType) Source
The type of the instance group. Valid values are MASTER, CORE or TASK.
igInstanceType :: Lens' InstanceGroup (Maybe Text) Source
The EC2 instance type for all instances in the instance group.
igMarket :: Lens' InstanceGroup (Maybe MarketType) Source
The marketplace to provision instances for this group. Valid values are ON_DEMAND or SPOT.
InstanceGroupConfig
data InstanceGroupConfig Source
Configuration defining a new instance group.
See: instanceGroupConfig
smart constructor.
:: InstanceRoleType | |
-> Text | |
-> Int | |
-> InstanceGroupConfig |
Creates a value of InstanceGroupConfig
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
igcBidPrice :: Lens' InstanceGroupConfig (Maybe Text) Source
Bid price for each Amazon EC2 instance in the instance group when launching nodes as Spot Instances, expressed in USD.
igcConfigurations :: Lens' InstanceGroupConfig [Configuration] Source
Amazon EMR releases 4.x or later.
The list of configurations supplied for an EMR cluster instance group. You can specify a separate configuration for each instance group (master, core, and task).
igcMarket :: Lens' InstanceGroupConfig (Maybe MarketType) Source
Market type of the Amazon EC2 instances used to create a cluster node.
igcInstanceRole :: Lens' InstanceGroupConfig InstanceRoleType Source
The role of the instance group in the cluster.
igcInstanceType :: Lens' InstanceGroupConfig Text Source
The Amazon EC2 instance type for all instances in the instance group.
igcInstanceCount :: Lens' InstanceGroupConfig Int Source
Target number of instances for the instance group.
InstanceGroupModifyConfig
data InstanceGroupModifyConfig Source
Modify an instance group size.
See: instanceGroupModifyConfig
smart constructor.
instanceGroupModifyConfig Source
Creates a value of InstanceGroupModifyConfig
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
igmcInstanceCount :: Lens' InstanceGroupModifyConfig (Maybe Int) Source
Target size for the instance group.
igmcEC2InstanceIdsToTerminate :: Lens' InstanceGroupModifyConfig [Text] Source
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.
igmcInstanceGroupId :: Lens' InstanceGroupModifyConfig Text Source
Unique ID of the instance group to expand or shrink.
InstanceGroupStateChangeReason
data InstanceGroupStateChangeReason Source
The status change reason details for the instance group.
See: instanceGroupStateChangeReason
smart constructor.
instanceGroupStateChangeReason :: InstanceGroupStateChangeReason Source
Creates a value of InstanceGroupStateChangeReason
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
igscrCode :: Lens' InstanceGroupStateChangeReason (Maybe InstanceGroupStateChangeReasonCode) Source
The programmable code for the state change reason.
igscrMessage :: Lens' InstanceGroupStateChangeReason (Maybe Text) Source
The status change reason description.
InstanceGroupStatus
data InstanceGroupStatus Source
The details of the instance group status.
See: instanceGroupStatus
smart constructor.
instanceGroupStatus :: InstanceGroupStatus Source
Creates a value of InstanceGroupStatus
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
igsState :: Lens' InstanceGroupStatus (Maybe InstanceGroupState) Source
The current state of the instance group.
igsStateChangeReason :: Lens' InstanceGroupStatus (Maybe InstanceGroupStateChangeReason) Source
The status change reason details for the instance group.
igsTimeline :: Lens' InstanceGroupStatus (Maybe InstanceGroupTimeline) Source
The timeline of the instance group status over time.
InstanceGroupTimeline
data InstanceGroupTimeline Source
The timeline of the instance group lifecycle.
See: instanceGroupTimeline
smart constructor.
instanceGroupTimeline :: InstanceGroupTimeline Source
Creates a value of InstanceGroupTimeline
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
igtReadyDateTime :: Lens' InstanceGroupTimeline (Maybe UTCTime) Source
The date and time when the instance group became ready to perform tasks.
igtCreationDateTime :: Lens' InstanceGroupTimeline (Maybe UTCTime) Source
The creation date and time of the instance group.
igtEndDateTime :: Lens' InstanceGroupTimeline (Maybe UTCTime) Source
The date and time when the instance group terminated.
InstanceStateChangeReason
data InstanceStateChangeReason Source
The details of the status change reason for the instance.
See: instanceStateChangeReason
smart constructor.
instanceStateChangeReason :: InstanceStateChangeReason Source
Creates a value of InstanceStateChangeReason
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
iscrCode :: Lens' InstanceStateChangeReason (Maybe InstanceStateChangeReasonCode) Source
The programmable code for the state change reason.
iscrMessage :: Lens' InstanceStateChangeReason (Maybe Text) Source
The status change reason description.
InstanceStatus
data InstanceStatus Source
The instance status details.
See: instanceStatus
smart constructor.
instanceStatus :: InstanceStatus Source
Creates a value of InstanceStatus
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
isState :: Lens' InstanceStatus (Maybe InstanceState) Source
The current state of the instance.
isStateChangeReason :: Lens' InstanceStatus (Maybe InstanceStateChangeReason) Source
The details of the status change reason for the instance.
isTimeline :: Lens' InstanceStatus (Maybe InstanceTimeline) Source
The timeline of the instance status over time.
InstanceTimeline
data InstanceTimeline Source
The timeline of the instance lifecycle.
See: instanceTimeline
smart constructor.
instanceTimeline :: InstanceTimeline Source
Creates a value of InstanceTimeline
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
itReadyDateTime :: Lens' InstanceTimeline (Maybe UTCTime) Source
The date and time when the instance was ready to perform tasks.
itCreationDateTime :: Lens' InstanceTimeline (Maybe UTCTime) Source
The creation date and time of the instance.
itEndDateTime :: Lens' InstanceTimeline (Maybe UTCTime) Source
The date and time when the instance was terminated.
JobFlowInstancesConfig
data JobFlowInstancesConfig Source
A description of the Amazon EC2 instance running the job flow. A valid JobFlowInstancesConfig must contain at least InstanceGroups, which is the recommended configuration. However, a valid alternative is to have MasterInstanceType, SlaveInstanceType, and InstanceCount (all three must be present).
See: jobFlowInstancesConfig
smart constructor.
jobFlowInstancesConfig :: JobFlowInstancesConfig Source
Creates a value of JobFlowInstancesConfig
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
jficSlaveInstanceType
jficEC2KeyName
jficInstanceCount
jficEmrManagedSlaveSecurityGroup
jficAdditionalSlaveSecurityGroups
jficHadoopVersion
jficAdditionalMasterSecurityGroups
jficEmrManagedMasterSecurityGroup
jficEC2SubnetId
jficMasterInstanceType
jficInstanceGroups
jficKeepJobFlowAliveWhenNoSteps
jficTerminationProtected
jficPlacement
jficSlaveInstanceType :: Lens' JobFlowInstancesConfig (Maybe Text) Source
The EC2 instance type of the slave nodes.
jficEC2KeyName :: Lens' JobFlowInstancesConfig (Maybe Text) Source
The name of the Amazon EC2 key pair that can be used to ssh to the master node as the user called "hadoop."
jficInstanceCount :: Lens' JobFlowInstancesConfig (Maybe Int) Source
The number of Amazon EC2 instances used to execute the job flow.
jficEmrManagedSlaveSecurityGroup :: Lens' JobFlowInstancesConfig (Maybe Text) Source
The identifier of the Amazon EC2 security group (managed by Amazon ElasticMapReduce) for the slave nodes.
jficAdditionalSlaveSecurityGroups :: Lens' JobFlowInstancesConfig [Text] Source
A list of additional Amazon EC2 security group IDs for the slave nodes.
jficHadoopVersion :: Lens' JobFlowInstancesConfig (Maybe Text) Source
The Hadoop version for the job flow. Valid inputs are "0.18" (deprecated), "0.20" (deprecated), "0.20.205" (deprecated), "1.0.3", "2.2.0", or "2.4.0". 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.
jficAdditionalMasterSecurityGroups :: Lens' JobFlowInstancesConfig [Text] Source
A list of additional Amazon EC2 security group IDs for the master node.
jficEmrManagedMasterSecurityGroup :: Lens' JobFlowInstancesConfig (Maybe Text) Source
The identifier of the Amazon EC2 security group (managed by Amazon ElasticMapReduce) for the master node.
jficEC2SubnetId :: Lens' JobFlowInstancesConfig (Maybe Text) Source
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.
jficMasterInstanceType :: Lens' JobFlowInstancesConfig (Maybe Text) Source
The EC2 instance type of the master node.
jficInstanceGroups :: Lens' JobFlowInstancesConfig [InstanceGroupConfig] Source
Configuration for the job flow's instance groups.
jficKeepJobFlowAliveWhenNoSteps :: Lens' JobFlowInstancesConfig (Maybe Bool) Source
Specifies whether the job flow should be kept alive after completing all steps.
jficTerminationProtected :: Lens' JobFlowInstancesConfig (Maybe Bool) Source
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.
jficPlacement :: Lens' JobFlowInstancesConfig (Maybe PlacementType) Source
The Availability Zone the job flow will run in.
KeyValue
A key value pair.
See: keyValue
smart constructor.
PlacementType
data PlacementType Source
The Amazon EC2 location for the job flow.
See: placementType
smart constructor.
Creates a value of PlacementType
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
ptAvailabilityZone :: Lens' PlacementType Text Source
The Amazon EC2 Availability Zone for the job flow.
ScriptBootstrapActionConfig
data ScriptBootstrapActionConfig Source
Configuration of the script to run during a bootstrap action.
See: scriptBootstrapActionConfig
smart constructor.
scriptBootstrapActionConfig Source
Creates a value of ScriptBootstrapActionConfig
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
sbacArgs :: Lens' ScriptBootstrapActionConfig [Text] Source
A list of command line arguments to pass to the bootstrap action script.
sbacPath :: Lens' ScriptBootstrapActionConfig Text Source
Location of the script to run during a bootstrap action. Can be either a location in Amazon S3 or on a local file system.
Step
This represents a step in a cluster.
See: step
smart constructor.
sStatus :: Lens' Step (Maybe StepStatus) Source
The current execution status details of the cluster step.
sActionOnFailure :: Lens' Step (Maybe ActionOnFailure) Source
This specifies what action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE.
sConfig :: Lens' Step (Maybe HadoopStepConfig) Source
The Hadoop job configuration of the cluster step.
StepConfig
data StepConfig Source
Specification of a job flow step.
See: stepConfig
smart constructor.
Creates a value of StepConfig
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
scActionOnFailure :: Lens' StepConfig (Maybe ActionOnFailure) Source
The action to take if the job flow step fails.
scName :: Lens' StepConfig Text Source
The name of the job flow step.
scHadoopJARStep :: Lens' StepConfig HadoopJARStepConfig Source
The JAR file used for the job flow step.
StepStateChangeReason
data StepStateChangeReason Source
The details of the step state change reason.
See: stepStateChangeReason
smart constructor.
stepStateChangeReason :: StepStateChangeReason Source
Creates a value of StepStateChangeReason
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
sscrCode :: Lens' StepStateChangeReason (Maybe StepStateChangeReasonCode) Source
The programmable code for the state change reason. Note: Currently, the service provides no code for the state change.
sscrMessage :: Lens' StepStateChangeReason (Maybe Text) Source
The descriptive message for the state change reason.
StepStatus
data StepStatus Source
The execution status details of the cluster step.
See: stepStatus
smart constructor.
stepStatus :: StepStatus Source
Creates a value of StepStatus
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
ssStateChangeReason :: Lens' StepStatus (Maybe StepStateChangeReason) Source
The reason for the step execution status change.
ssTimeline :: Lens' StepStatus (Maybe StepTimeline) Source
The timeline of the cluster step status over time.
StepSummary
data StepSummary Source
The summary of the cluster step.
See: stepSummary
smart constructor.
stepSummary :: StepSummary Source
Creates a value of StepSummary
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
ssStatus :: Lens' StepSummary (Maybe StepStatus) Source
The current execution status details of the cluster step.
ssActionOnFailure :: Lens' StepSummary (Maybe ActionOnFailure) Source
This specifies what action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE.
ssConfig :: Lens' StepSummary (Maybe HadoopStepConfig) Source
The Hadoop job configuration of the cluster step.
StepTimeline
data StepTimeline Source
The timeline of the cluster step lifecycle.
See: stepTimeline
smart constructor.
stepTimeline :: StepTimeline Source
Creates a value of StepTimeline
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
stCreationDateTime :: Lens' StepTimeline (Maybe UTCTime) Source
The date and time when the cluster step was created.
stEndDateTime :: Lens' StepTimeline (Maybe UTCTime) Source
The date and time when the cluster step execution completed or failed.
stStartDateTime :: Lens' StepTimeline (Maybe UTCTime) Source
The date and time when the cluster step execution started.
SupportedProductConfig
data SupportedProductConfig Source
The list of supported product configurations which allow user-supplied arguments. EMR accepts these arguments and forwards them to the corresponding installation script as bootstrap action arguments.
See: supportedProductConfig
smart constructor.
supportedProductConfig :: SupportedProductConfig Source
Creates a value of SupportedProductConfig
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
spcArgs :: Lens' SupportedProductConfig [Text] Source
The list of user-supplied arguments.
Tag
A key/value pair containing user-defined metadata that you can associate with an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clu\ sters to track your Amazon EMR resource allocation costs. For more information, see Tagging Amazon EMR Resources.
See: tag
smart constructor.