emr.d.ts (96100B)
1 import {Request} from '../lib/request'; 2 import {Response} from '../lib/response'; 3 import {AWSError} from '../lib/error'; 4 import {Service} from '../lib/service'; 5 import {ServiceConfigurationOptions} from '../lib/service'; 6 import {ConfigBase as Config} from '../lib/config'; 7 interface Blob {} 8 declare class EMR extends Service { 9 /** 10 * Constructs a service object. This object has one method for each API operation. 11 */ 12 constructor(options?: EMR.Types.ClientConfiguration) 13 config: Config & EMR.Types.ClientConfiguration; 14 /** 15 * Adds one or more instance groups to a running cluster. 16 */ 17 addInstanceGroups(params: EMR.Types.AddInstanceGroupsInput, callback?: (err: AWSError, data: EMR.Types.AddInstanceGroupsOutput) => void): Request<EMR.Types.AddInstanceGroupsOutput, AWSError>; 18 /** 19 * Adds one or more instance groups to a running cluster. 20 */ 21 addInstanceGroups(callback?: (err: AWSError, data: EMR.Types.AddInstanceGroupsOutput) => void): Request<EMR.Types.AddInstanceGroupsOutput, AWSError>; 22 /** 23 * 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, see Add More than 256 Steps to a Job Flow in the Amazon EMR 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. Amazon EMR 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. 24 */ 25 addJobFlowSteps(params: EMR.Types.AddJobFlowStepsInput, callback?: (err: AWSError, data: EMR.Types.AddJobFlowStepsOutput) => void): Request<EMR.Types.AddJobFlowStepsOutput, AWSError>; 26 /** 27 * 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, see Add More than 256 Steps to a Job Flow in the Amazon EMR 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. Amazon EMR 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. 28 */ 29 addJobFlowSteps(callback?: (err: AWSError, data: EMR.Types.AddJobFlowStepsOutput) => void): Request<EMR.Types.AddJobFlowStepsOutput, AWSError>; 30 /** 31 * 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. 32 */ 33 addTags(params: EMR.Types.AddTagsInput, callback?: (err: AWSError, data: EMR.Types.AddTagsOutput) => void): Request<EMR.Types.AddTagsOutput, AWSError>; 34 /** 35 * 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. 36 */ 37 addTags(callback?: (err: AWSError, data: EMR.Types.AddTagsOutput) => void): Request<EMR.Types.AddTagsOutput, AWSError>; 38 /** 39 * Cancels a pending step or steps in a running cluster. Available only in Amazon EMR versions 4.8.0 and later, excluding version 5.0.0. A maximum of 256 steps are allowed in each CancelSteps request. CancelSteps is idempotent but asynchronous; it does not guarantee a step will be canceled, even if the request is successfully submitted. You can only cancel steps that are in a PENDING state. 40 */ 41 cancelSteps(params: EMR.Types.CancelStepsInput, callback?: (err: AWSError, data: EMR.Types.CancelStepsOutput) => void): Request<EMR.Types.CancelStepsOutput, AWSError>; 42 /** 43 * Cancels a pending step or steps in a running cluster. Available only in Amazon EMR versions 4.8.0 and later, excluding version 5.0.0. A maximum of 256 steps are allowed in each CancelSteps request. CancelSteps is idempotent but asynchronous; it does not guarantee a step will be canceled, even if the request is successfully submitted. You can only cancel steps that are in a PENDING state. 44 */ 45 cancelSteps(callback?: (err: AWSError, data: EMR.Types.CancelStepsOutput) => void): Request<EMR.Types.CancelStepsOutput, AWSError>; 46 /** 47 * Creates a security configuration, which is stored in the service and can be specified when a cluster is created. 48 */ 49 createSecurityConfiguration(params: EMR.Types.CreateSecurityConfigurationInput, callback?: (err: AWSError, data: EMR.Types.CreateSecurityConfigurationOutput) => void): Request<EMR.Types.CreateSecurityConfigurationOutput, AWSError>; 50 /** 51 * Creates a security configuration, which is stored in the service and can be specified when a cluster is created. 52 */ 53 createSecurityConfiguration(callback?: (err: AWSError, data: EMR.Types.CreateSecurityConfigurationOutput) => void): Request<EMR.Types.CreateSecurityConfigurationOutput, AWSError>; 54 /** 55 * Deletes a security configuration. 56 */ 57 deleteSecurityConfiguration(params: EMR.Types.DeleteSecurityConfigurationInput, callback?: (err: AWSError, data: EMR.Types.DeleteSecurityConfigurationOutput) => void): Request<EMR.Types.DeleteSecurityConfigurationOutput, AWSError>; 58 /** 59 * Deletes a security configuration. 60 */ 61 deleteSecurityConfiguration(callback?: (err: AWSError, data: EMR.Types.DeleteSecurityConfigurationOutput) => void): Request<EMR.Types.DeleteSecurityConfigurationOutput, AWSError>; 62 /** 63 * Provides cluster-level details including status, hardware and software configuration, VPC settings, and so on. For information about the cluster steps, see ListSteps. 64 */ 65 describeCluster(params: EMR.Types.DescribeClusterInput, callback?: (err: AWSError, data: EMR.Types.DescribeClusterOutput) => void): Request<EMR.Types.DescribeClusterOutput, AWSError>; 66 /** 67 * Provides cluster-level details including status, hardware and software configuration, VPC settings, and so on. For information about the cluster steps, see ListSteps. 68 */ 69 describeCluster(callback?: (err: AWSError, data: EMR.Types.DescribeClusterOutput) => void): Request<EMR.Types.DescribeClusterOutput, AWSError>; 70 /** 71 * 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 EMR can return a maximum of 512 job flow descriptions. 72 */ 73 describeJobFlows(params: EMR.Types.DescribeJobFlowsInput, callback?: (err: AWSError, data: EMR.Types.DescribeJobFlowsOutput) => void): Request<EMR.Types.DescribeJobFlowsOutput, AWSError>; 74 /** 75 * 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 EMR can return a maximum of 512 job flow descriptions. 76 */ 77 describeJobFlows(callback?: (err: AWSError, data: EMR.Types.DescribeJobFlowsOutput) => void): Request<EMR.Types.DescribeJobFlowsOutput, AWSError>; 78 /** 79 * Provides the details of a security configuration by returning the configuration JSON. 80 */ 81 describeSecurityConfiguration(params: EMR.Types.DescribeSecurityConfigurationInput, callback?: (err: AWSError, data: EMR.Types.DescribeSecurityConfigurationOutput) => void): Request<EMR.Types.DescribeSecurityConfigurationOutput, AWSError>; 82 /** 83 * Provides the details of a security configuration by returning the configuration JSON. 84 */ 85 describeSecurityConfiguration(callback?: (err: AWSError, data: EMR.Types.DescribeSecurityConfigurationOutput) => void): Request<EMR.Types.DescribeSecurityConfigurationOutput, AWSError>; 86 /** 87 * Provides more detail about the cluster step. 88 */ 89 describeStep(params: EMR.Types.DescribeStepInput, callback?: (err: AWSError, data: EMR.Types.DescribeStepOutput) => void): Request<EMR.Types.DescribeStepOutput, AWSError>; 90 /** 91 * Provides more detail about the cluster step. 92 */ 93 describeStep(callback?: (err: AWSError, data: EMR.Types.DescribeStepOutput) => void): Request<EMR.Types.DescribeStepOutput, AWSError>; 94 /** 95 * Provides information about the bootstrap actions associated with a cluster. 96 */ 97 listBootstrapActions(params: EMR.Types.ListBootstrapActionsInput, callback?: (err: AWSError, data: EMR.Types.ListBootstrapActionsOutput) => void): Request<EMR.Types.ListBootstrapActionsOutput, AWSError>; 98 /** 99 * Provides information about the bootstrap actions associated with a cluster. 100 */ 101 listBootstrapActions(callback?: (err: AWSError, data: EMR.Types.ListBootstrapActionsOutput) => void): Request<EMR.Types.ListBootstrapActionsOutput, AWSError>; 102 /** 103 * 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. 104 */ 105 listClusters(params: EMR.Types.ListClustersInput, callback?: (err: AWSError, data: EMR.Types.ListClustersOutput) => void): Request<EMR.Types.ListClustersOutput, AWSError>; 106 /** 107 * 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. 108 */ 109 listClusters(callback?: (err: AWSError, data: EMR.Types.ListClustersOutput) => void): Request<EMR.Types.ListClustersOutput, AWSError>; 110 /** 111 * Provides all available details about the instance groups in a cluster. 112 */ 113 listInstanceGroups(params: EMR.Types.ListInstanceGroupsInput, callback?: (err: AWSError, data: EMR.Types.ListInstanceGroupsOutput) => void): Request<EMR.Types.ListInstanceGroupsOutput, AWSError>; 114 /** 115 * Provides all available details about the instance groups in a cluster. 116 */ 117 listInstanceGroups(callback?: (err: AWSError, data: EMR.Types.ListInstanceGroupsOutput) => void): Request<EMR.Types.ListInstanceGroupsOutput, AWSError>; 118 /** 119 * 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. 120 */ 121 listInstances(params: EMR.Types.ListInstancesInput, callback?: (err: AWSError, data: EMR.Types.ListInstancesOutput) => void): Request<EMR.Types.ListInstancesOutput, AWSError>; 122 /** 123 * 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. 124 */ 125 listInstances(callback?: (err: AWSError, data: EMR.Types.ListInstancesOutput) => void): Request<EMR.Types.ListInstancesOutput, AWSError>; 126 /** 127 * Lists all the security configurations visible to this account, providing their creation dates and times, and their names. This call returns a maximum of 50 clusters per call, but returns a marker to track the paging of the cluster list across multiple ListSecurityConfigurations calls. 128 */ 129 listSecurityConfigurations(params: EMR.Types.ListSecurityConfigurationsInput, callback?: (err: AWSError, data: EMR.Types.ListSecurityConfigurationsOutput) => void): Request<EMR.Types.ListSecurityConfigurationsOutput, AWSError>; 130 /** 131 * Lists all the security configurations visible to this account, providing their creation dates and times, and their names. This call returns a maximum of 50 clusters per call, but returns a marker to track the paging of the cluster list across multiple ListSecurityConfigurations calls. 132 */ 133 listSecurityConfigurations(callback?: (err: AWSError, data: EMR.Types.ListSecurityConfigurationsOutput) => void): Request<EMR.Types.ListSecurityConfigurationsOutput, AWSError>; 134 /** 135 * Provides a list of steps for the cluster in reverse order unless you specify stepIds with the request. 136 */ 137 listSteps(params: EMR.Types.ListStepsInput, callback?: (err: AWSError, data: EMR.Types.ListStepsOutput) => void): Request<EMR.Types.ListStepsOutput, AWSError>; 138 /** 139 * Provides a list of steps for the cluster in reverse order unless you specify stepIds with the request. 140 */ 141 listSteps(callback?: (err: AWSError, data: EMR.Types.ListStepsOutput) => void): Request<EMR.Types.ListStepsOutput, AWSError>; 142 /** 143 * 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. 144 */ 145 modifyInstanceGroups(params: EMR.Types.ModifyInstanceGroupsInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>; 146 /** 147 * 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. 148 */ 149 modifyInstanceGroups(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>; 150 /** 151 * Creates or updates an automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. 152 */ 153 putAutoScalingPolicy(params: EMR.Types.PutAutoScalingPolicyInput, callback?: (err: AWSError, data: EMR.Types.PutAutoScalingPolicyOutput) => void): Request<EMR.Types.PutAutoScalingPolicyOutput, AWSError>; 154 /** 155 * Creates or updates an automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. 156 */ 157 putAutoScalingPolicy(callback?: (err: AWSError, data: EMR.Types.PutAutoScalingPolicyOutput) => void): Request<EMR.Types.PutAutoScalingPolicyOutput, AWSError>; 158 /** 159 * Removes an automatic scaling policy from a specified instance group within an EMR cluster. 160 */ 161 removeAutoScalingPolicy(params: EMR.Types.RemoveAutoScalingPolicyInput, callback?: (err: AWSError, data: EMR.Types.RemoveAutoScalingPolicyOutput) => void): Request<EMR.Types.RemoveAutoScalingPolicyOutput, AWSError>; 162 /** 163 * Removes an automatic scaling policy from a specified instance group within an EMR cluster. 164 */ 165 removeAutoScalingPolicy(callback?: (err: AWSError, data: EMR.Types.RemoveAutoScalingPolicyOutput) => void): Request<EMR.Types.RemoveAutoScalingPolicyOutput, AWSError>; 166 /** 167 * 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: 168 */ 169 removeTags(params: EMR.Types.RemoveTagsInput, callback?: (err: AWSError, data: EMR.Types.RemoveTagsOutput) => void): Request<EMR.Types.RemoveTagsOutput, AWSError>; 170 /** 171 * 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: 172 */ 173 removeTags(callback?: (err: AWSError, data: EMR.Types.RemoveTagsOutput) => void): Request<EMR.Types.RemoveTagsOutput, AWSError>; 174 /** 175 * RunJobFlow creates and starts running a new job flow. The job flow will run the steps specified. After 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 after 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, see Add More than 256 Steps to a Job Flow in the Amazon EMR Management Guide. For long running job flows, we recommend that you periodically store your results. 176 */ 177 runJobFlow(params: EMR.Types.RunJobFlowInput, callback?: (err: AWSError, data: EMR.Types.RunJobFlowOutput) => void): Request<EMR.Types.RunJobFlowOutput, AWSError>; 178 /** 179 * RunJobFlow creates and starts running a new job flow. The job flow will run the steps specified. After 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 after 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, see Add More than 256 Steps to a Job Flow in the Amazon EMR Management Guide. For long running job flows, we recommend that you periodically store your results. 180 */ 181 runJobFlow(callback?: (err: AWSError, data: EMR.Types.RunJobFlowOutput) => void): Request<EMR.Types.RunJobFlowOutput, AWSError>; 182 /** 183 * SetTerminationProtection locks a job flow so the 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, seeProtecting a Job Flow from Termination in the Amazon EMR Guide. 184 */ 185 setTerminationProtection(params: EMR.Types.SetTerminationProtectionInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>; 186 /** 187 * SetTerminationProtection locks a job flow so the 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, seeProtecting a Job Flow from Termination in the Amazon EMR Guide. 188 */ 189 setTerminationProtection(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>; 190 /** 191 * 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. 192 */ 193 setVisibleToAllUsers(params: EMR.Types.SetVisibleToAllUsersInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>; 194 /** 195 * 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. 196 */ 197 setVisibleToAllUsers(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>; 198 /** 199 * TerminateJobFlows shuts a list of job flows down. When a job flow is shut 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 maximum number of JobFlows allowed is 10. The call to TerminateJobFlows is asynchronous. Depending on the configuration of the job flow, it may take up to 1-5 minutes for the job flow to completely terminate and release allocated resources, such as Amazon EC2 instances. 200 */ 201 terminateJobFlows(params: EMR.Types.TerminateJobFlowsInput, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>; 202 /** 203 * TerminateJobFlows shuts a list of job flows down. When a job flow is shut 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 maximum number of JobFlows allowed is 10. The call to TerminateJobFlows is asynchronous. Depending on the configuration of the job flow, it may take up to 1-5 minutes for the job flow to completely terminate and release allocated resources, such as Amazon EC2 instances. 204 */ 205 terminateJobFlows(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>; 206 /** 207 * Waits for the clusterRunning state by periodically calling the underlying EMR.describeClusteroperation every 30 seconds (at most 60 times). 208 */ 209 waitFor(state: "clusterRunning", params: EMR.Types.DescribeClusterInput, callback?: (err: AWSError, data: EMR.Types.DescribeClusterOutput) => void): Request<EMR.Types.DescribeClusterOutput, AWSError>; 210 /** 211 * Waits for the clusterRunning state by periodically calling the underlying EMR.describeClusteroperation every 30 seconds (at most 60 times). 212 */ 213 waitFor(state: "clusterRunning", callback?: (err: AWSError, data: EMR.Types.DescribeClusterOutput) => void): Request<EMR.Types.DescribeClusterOutput, AWSError>; 214 /** 215 * Waits for the stepComplete state by periodically calling the underlying EMR.describeStepoperation every 30 seconds (at most 60 times). 216 */ 217 waitFor(state: "stepComplete", params: EMR.Types.DescribeStepInput, callback?: (err: AWSError, data: EMR.Types.DescribeStepOutput) => void): Request<EMR.Types.DescribeStepOutput, AWSError>; 218 /** 219 * Waits for the stepComplete state by periodically calling the underlying EMR.describeStepoperation every 30 seconds (at most 60 times). 220 */ 221 waitFor(state: "stepComplete", callback?: (err: AWSError, data: EMR.Types.DescribeStepOutput) => void): Request<EMR.Types.DescribeStepOutput, AWSError>; 222 } 223 declare namespace EMR.Types { 224 export type ActionOnFailure = "TERMINATE_JOB_FLOW"|"TERMINATE_CLUSTER"|"CANCEL_AND_WAIT"|"CONTINUE"|string; 225 export interface AddInstanceGroupsInput { 226 /** 227 * Instance groups to add. 228 */ 229 InstanceGroups: InstanceGroupConfigList; 230 /** 231 * Job flow in which to add the instance groups. 232 */ 233 JobFlowId: XmlStringMaxLen256; 234 } 235 export interface AddInstanceGroupsOutput { 236 /** 237 * The job flow ID in which the instance groups are added. 238 */ 239 JobFlowId?: XmlStringMaxLen256; 240 /** 241 * Instance group IDs of the newly created instance groups. 242 */ 243 InstanceGroupIds?: InstanceGroupIdsList; 244 } 245 export interface AddJobFlowStepsInput { 246 /** 247 * A string that uniquely identifies the job flow. This identifier is returned by RunJobFlow and can also be obtained from ListClusters. 248 */ 249 JobFlowId: XmlStringMaxLen256; 250 /** 251 * A list of StepConfig to be executed by the job flow. 252 */ 253 Steps: StepConfigList; 254 } 255 export interface AddJobFlowStepsOutput { 256 /** 257 * The identifiers of the list of steps added to the job flow. 258 */ 259 StepIds?: StepIdsList; 260 } 261 export interface AddTagsInput { 262 /** 263 * The Amazon EMR resource identifier to which tags will be added. This value must be a cluster identifier. 264 */ 265 ResourceId: ResourceId; 266 /** 267 * A list of tags to associate with a cluster and propagate to 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. 268 */ 269 Tags: TagList; 270 } 271 export interface AddTagsOutput { 272 } 273 export type AdjustmentType = "CHANGE_IN_CAPACITY"|"PERCENT_CHANGE_IN_CAPACITY"|"EXACT_CAPACITY"|string; 274 export interface Application { 275 /** 276 * The name of the application. 277 */ 278 Name?: String; 279 /** 280 * The version of the application. 281 */ 282 Version?: String; 283 /** 284 * Arguments for Amazon EMR to pass to the application. 285 */ 286 Args?: StringList; 287 /** 288 * This option is for advanced users only. This is meta information about third-party applications that third-party vendors use for testing purposes. 289 */ 290 AdditionalInfo?: StringMap; 291 } 292 export type ApplicationList = Application[]; 293 export interface AutoScalingPolicy { 294 /** 295 * The upper and lower EC2 instance limits for an automatic scaling policy. Automatic scaling activity will not cause an instance group to grow above or below these limits. 296 */ 297 Constraints: ScalingConstraints; 298 /** 299 * The scale-in and scale-out rules that comprise the automatic scaling policy. 300 */ 301 Rules: ScalingRuleList; 302 } 303 export interface AutoScalingPolicyDescription { 304 /** 305 * The status of an automatic scaling policy. 306 */ 307 Status?: AutoScalingPolicyStatus; 308 /** 309 * The upper and lower EC2 instance limits for an automatic scaling policy. Automatic scaling activity will not cause an instance group to grow above or below these limits. 310 */ 311 Constraints?: ScalingConstraints; 312 /** 313 * The scale-in and scale-out rules that comprise the automatic scaling policy. 314 */ 315 Rules?: ScalingRuleList; 316 } 317 export type AutoScalingPolicyState = "PENDING"|"ATTACHING"|"ATTACHED"|"DETACHING"|"DETACHED"|"FAILED"|string; 318 export interface AutoScalingPolicyStateChangeReason { 319 /** 320 * The code indicating the reason for the change in status.USER_REQUEST indicates that the scaling policy status was changed by a user. PROVISION_FAILURE indicates that the status change was because the policy failed to provision. CLEANUP_FAILURE indicates something unclean happened.--> 321 */ 322 Code?: AutoScalingPolicyStateChangeReasonCode; 323 /** 324 * A friendly, more verbose message that accompanies an automatic scaling policy state change. 325 */ 326 Message?: String; 327 } 328 export type AutoScalingPolicyStateChangeReasonCode = "USER_REQUEST"|"PROVISION_FAILURE"|"CLEANUP_FAILURE"|string; 329 export interface AutoScalingPolicyStatus { 330 /** 331 * 332 */ 333 State?: AutoScalingPolicyState; 334 /** 335 * The reason for a change in status. 336 */ 337 StateChangeReason?: AutoScalingPolicyStateChangeReason; 338 } 339 export type Boolean = boolean; 340 export type BooleanObject = boolean; 341 export interface BootstrapActionConfig { 342 /** 343 * The name of the bootstrap action. 344 */ 345 Name: XmlStringMaxLen256; 346 /** 347 * The script run by the bootstrap action. 348 */ 349 ScriptBootstrapAction: ScriptBootstrapActionConfig; 350 } 351 export type BootstrapActionConfigList = BootstrapActionConfig[]; 352 export interface BootstrapActionDetail { 353 /** 354 * A description of the bootstrap action. 355 */ 356 BootstrapActionConfig?: BootstrapActionConfig; 357 } 358 export type BootstrapActionDetailList = BootstrapActionDetail[]; 359 export interface CancelStepsInfo { 360 StepId?: StepId; 361 Status?: CancelStepsRequestStatus; 362 Reason?: String; 363 } 364 export type CancelStepsInfoList = CancelStepsInfo[]; 365 export interface CancelStepsInput { 366 /** 367 * The ClusterID for which specified steps will be canceled. Use RunJobFlow and ListClusters to get ClusterIDs. 368 */ 369 ClusterId?: XmlStringMaxLen256; 370 /** 371 * The list of StepIDs to cancel. Use ListSteps to get steps and their states for the specified cluster. 372 */ 373 StepIds?: StepIdsList; 374 } 375 export interface CancelStepsOutput { 376 /** 377 * A list of CancelStepsInfo, which shows the status of specified cancel requests for each StepID specified. 378 */ 379 CancelStepsInfoList?: CancelStepsInfoList; 380 } 381 export type CancelStepsRequestStatus = "SUBMITTED"|"FAILED"|string; 382 export interface CloudWatchAlarmDefinition { 383 /** 384 * Determines how the metric specified by MetricName is compared to the value specified by Threshold. 385 */ 386 ComparisonOperator: ComparisonOperator; 387 /** 388 * The number of periods, expressed in seconds using Period, during which the alarm condition must exist before the alarm triggers automatic scaling activity. The default value is 1. 389 */ 390 EvaluationPeriods?: Integer; 391 /** 392 * The name of the CloudWatch metric that is watched to determine an alarm condition. 393 */ 394 MetricName: String; 395 /** 396 * The namespace for the CloudWatch metric. The default is AWS/ElasticMapReduce. 397 */ 398 Namespace?: String; 399 /** 400 * The period, in seconds, over which the statistic is applied. EMR CloudWatch metrics are emitted every five minutes (300 seconds), so if an EMR CloudWatch metric is specified, specify 300. 401 */ 402 Period: Integer; 403 /** 404 * The statistic to apply to the metric associated with the alarm. The default is AVERAGE. 405 */ 406 Statistic?: Statistic; 407 /** 408 * The value against which the specified statistic is compared. 409 */ 410 Threshold: NonNegativeDouble; 411 /** 412 * The unit of measure associated with the CloudWatch metric being watched. The value specified for Unit must correspond to the units specified in the CloudWatch metric. 413 */ 414 Unit?: Unit; 415 /** 416 * A CloudWatch metric dimension. 417 */ 418 Dimensions?: MetricDimensionList; 419 } 420 export interface Cluster { 421 /** 422 * The unique identifier for the cluster. 423 */ 424 Id?: ClusterId; 425 /** 426 * The name of the cluster. 427 */ 428 Name?: String; 429 /** 430 * The current status details about the cluster. 431 */ 432 Status?: ClusterStatus; 433 /** 434 * Provides information about the EC2 instances in a cluster grouped by category. For example, key name, subnet ID, IAM instance profile, and so on. 435 */ 436 Ec2InstanceAttributes?: Ec2InstanceAttributes; 437 /** 438 * The path to the Amazon S3 location where logs for this cluster are stored. 439 */ 440 LogUri?: String; 441 /** 442 * The AMI version requested for this cluster. 443 */ 444 RequestedAmiVersion?: String; 445 /** 446 * The AMI version running on this cluster. 447 */ 448 RunningAmiVersion?: String; 449 /** 450 * The release label for the Amazon EMR release. For Amazon EMR 3.x and 2.x AMIs, use amiVersion instead instead of ReleaseLabel. 451 */ 452 ReleaseLabel?: String; 453 /** 454 * Specifies whether the cluster should terminate after completing all steps. 455 */ 456 AutoTerminate?: Boolean; 457 /** 458 * 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. 459 */ 460 TerminationProtected?: Boolean; 461 /** 462 * 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. 463 */ 464 VisibleToAllUsers?: Boolean; 465 /** 466 * The applications installed on this cluster. 467 */ 468 Applications?: ApplicationList; 469 /** 470 * A list of tags associated with a cluster. 471 */ 472 Tags?: TagList; 473 /** 474 * The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf. 475 */ 476 ServiceRole?: String; 477 /** 478 * 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. 479 */ 480 NormalizedInstanceHours?: Integer; 481 /** 482 * The public DNS name of the master EC2 instance. 483 */ 484 MasterPublicDnsName?: String; 485 /** 486 * Amazon EMR releases 4.x or later. The list of Configurations supplied to the EMR cluster. 487 */ 488 Configurations?: ConfigurationList; 489 /** 490 * The name of the security configuration applied to the cluster. 491 */ 492 SecurityConfiguration?: XmlString; 493 /** 494 * An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group. 495 */ 496 AutoScalingRole?: XmlString; 497 /** 498 * The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION is available only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0. 499 */ 500 ScaleDownBehavior?: ScaleDownBehavior; 501 } 502 export type ClusterId = string; 503 export type ClusterState = "STARTING"|"BOOTSTRAPPING"|"RUNNING"|"WAITING"|"TERMINATING"|"TERMINATED"|"TERMINATED_WITH_ERRORS"|string; 504 export interface ClusterStateChangeReason { 505 /** 506 * The programmatic code for the state change reason. 507 */ 508 Code?: ClusterStateChangeReasonCode; 509 /** 510 * The descriptive message for the state change reason. 511 */ 512 Message?: String; 513 } 514 export type ClusterStateChangeReasonCode = "INTERNAL_ERROR"|"VALIDATION_ERROR"|"INSTANCE_FAILURE"|"BOOTSTRAP_FAILURE"|"USER_REQUEST"|"STEP_FAILURE"|"ALL_STEPS_COMPLETED"|string; 515 export type ClusterStateList = ClusterState[]; 516 export interface ClusterStatus { 517 /** 518 * The current state of the cluster. 519 */ 520 State?: ClusterState; 521 /** 522 * The reason for the cluster status change. 523 */ 524 StateChangeReason?: ClusterStateChangeReason; 525 /** 526 * A timeline that represents the status of a cluster over the lifetime of the cluster. 527 */ 528 Timeline?: ClusterTimeline; 529 } 530 export interface ClusterSummary { 531 /** 532 * The unique identifier for the cluster. 533 */ 534 Id?: ClusterId; 535 /** 536 * The name of the cluster. 537 */ 538 Name?: String; 539 /** 540 * The details about the current status of the cluster. 541 */ 542 Status?: ClusterStatus; 543 /** 544 * 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. 545 */ 546 NormalizedInstanceHours?: Integer; 547 } 548 export type ClusterSummaryList = ClusterSummary[]; 549 export interface ClusterTimeline { 550 /** 551 * The creation date and time of the cluster. 552 */ 553 CreationDateTime?: _Date; 554 /** 555 * The date and time when the cluster was ready to execute steps. 556 */ 557 ReadyDateTime?: _Date; 558 /** 559 * The date and time when the cluster was terminated. 560 */ 561 EndDateTime?: _Date; 562 } 563 export interface Command { 564 /** 565 * The name of the command. 566 */ 567 Name?: String; 568 /** 569 * The Amazon S3 location of the command script. 570 */ 571 ScriptPath?: String; 572 /** 573 * Arguments for Amazon EMR to pass to the command for execution. 574 */ 575 Args?: StringList; 576 } 577 export type CommandList = Command[]; 578 export type ComparisonOperator = "GREATER_THAN_OR_EQUAL"|"GREATER_THAN"|"LESS_THAN"|"LESS_THAN_OR_EQUAL"|string; 579 export interface Configuration { 580 /** 581 * The classification of a configuration. For more information see, Amazon EMR Configurations. 582 */ 583 Classification?: String; 584 /** 585 * A list of configurations you apply to this configuration object. 586 */ 587 Configurations?: ConfigurationList; 588 /** 589 * A set of properties supplied to the Configuration object. 590 */ 591 Properties?: StringMap; 592 } 593 export type ConfigurationList = Configuration[]; 594 export interface CreateSecurityConfigurationInput { 595 /** 596 * The name of the security configuration. 597 */ 598 Name: XmlString; 599 /** 600 * The security configuration details in JSON format. 601 */ 602 SecurityConfiguration: String; 603 } 604 export interface CreateSecurityConfigurationOutput { 605 /** 606 * The name of the security configuration. 607 */ 608 Name: XmlString; 609 /** 610 * The date and time the security configuration was created. 611 */ 612 CreationDateTime: _Date; 613 } 614 export type _Date = Date; 615 export interface DeleteSecurityConfigurationInput { 616 /** 617 * The name of the security configuration. 618 */ 619 Name: XmlString; 620 } 621 export interface DeleteSecurityConfigurationOutput { 622 } 623 export interface DescribeClusterInput { 624 /** 625 * The identifier of the cluster to describe. 626 */ 627 ClusterId: ClusterId; 628 } 629 export interface DescribeClusterOutput { 630 /** 631 * This output contains the details for the requested cluster. 632 */ 633 Cluster?: Cluster; 634 } 635 export interface DescribeJobFlowsInput { 636 /** 637 * Return only job flows created after this date and time. 638 */ 639 CreatedAfter?: _Date; 640 /** 641 * Return only job flows created before this date and time. 642 */ 643 CreatedBefore?: _Date; 644 /** 645 * Return only job flows whose job flow ID is contained in this list. 646 */ 647 JobFlowIds?: XmlStringList; 648 /** 649 * Return only job flows whose state is contained in this list. 650 */ 651 JobFlowStates?: JobFlowExecutionStateList; 652 } 653 export interface DescribeJobFlowsOutput { 654 /** 655 * A list of job flows matching the parameters supplied. 656 */ 657 JobFlows?: JobFlowDetailList; 658 } 659 export interface DescribeSecurityConfigurationInput { 660 /** 661 * The name of the security configuration. 662 */ 663 Name: XmlString; 664 } 665 export interface DescribeSecurityConfigurationOutput { 666 /** 667 * The name of the security configuration. 668 */ 669 Name?: XmlString; 670 /** 671 * The security configuration details in JSON format. 672 */ 673 SecurityConfiguration?: String; 674 /** 675 * The date and time the security configuration was created 676 */ 677 CreationDateTime?: _Date; 678 } 679 export interface DescribeStepInput { 680 /** 681 * The identifier of the cluster with steps to describe. 682 */ 683 ClusterId: ClusterId; 684 /** 685 * The identifier of the step to describe. 686 */ 687 StepId: StepId; 688 } 689 export interface DescribeStepOutput { 690 /** 691 * The step details for the requested step identifier. 692 */ 693 Step?: Step; 694 } 695 export type EC2InstanceIdsList = InstanceId[]; 696 export type EC2InstanceIdsToTerminateList = InstanceId[]; 697 export interface EbsBlockDevice { 698 /** 699 * EBS volume specifications such as volume type, IOPS, and size (GiB) that will be requested for the EBS volume attached to an EC2 instance in the cluster. 700 */ 701 VolumeSpecification?: VolumeSpecification; 702 /** 703 * The device name that is exposed to the instance, such as /dev/sdh. 704 */ 705 Device?: String; 706 } 707 export interface EbsBlockDeviceConfig { 708 /** 709 * EBS volume specifications such as volume type, IOPS, and size (GiB) that will be requested for the EBS volume attached to an EC2 instance in the cluster. 710 */ 711 VolumeSpecification: VolumeSpecification; 712 /** 713 * Number of EBS volumes with a specific volume configuration that will be associated with every instance in the instance group 714 */ 715 VolumesPerInstance?: Integer; 716 } 717 export type EbsBlockDeviceConfigList = EbsBlockDeviceConfig[]; 718 export type EbsBlockDeviceList = EbsBlockDevice[]; 719 export interface EbsConfiguration { 720 /** 721 * An array of Amazon EBS volume specifications attached to a cluster instance. 722 */ 723 EbsBlockDeviceConfigs?: EbsBlockDeviceConfigList; 724 /** 725 * Indicates whether an Amazon EBS volume is EBS-optimized. 726 */ 727 EbsOptimized?: BooleanObject; 728 } 729 export interface EbsVolume { 730 /** 731 * The device name that is exposed to the instance, such as /dev/sdh. 732 */ 733 Device?: String; 734 /** 735 * The volume identifier of the EBS volume. 736 */ 737 VolumeId?: String; 738 } 739 export type EbsVolumeList = EbsVolume[]; 740 export interface Ec2InstanceAttributes { 741 /** 742 * The name of the Amazon EC2 key pair to use when connecting with SSH into the master node as a user named "hadoop". 743 */ 744 Ec2KeyName?: String; 745 /** 746 * 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. 747 */ 748 Ec2SubnetId?: String; 749 /** 750 * The Availability Zone in which the cluster will run. 751 */ 752 Ec2AvailabilityZone?: String; 753 /** 754 * The IAM role that was specified when the job flow was launched. The EC2 instances of the job flow assume this role. 755 */ 756 IamInstanceProfile?: String; 757 /** 758 * The identifier of the Amazon EC2 security group for the master node. 759 */ 760 EmrManagedMasterSecurityGroup?: String; 761 /** 762 * The identifier of the Amazon EC2 security group for the slave nodes. 763 */ 764 EmrManagedSlaveSecurityGroup?: String; 765 /** 766 * The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets. 767 */ 768 ServiceAccessSecurityGroup?: String; 769 /** 770 * A list of additional Amazon EC2 security group IDs for the master node. 771 */ 772 AdditionalMasterSecurityGroups?: StringList; 773 /** 774 * A list of additional Amazon EC2 security group IDs for the slave nodes. 775 */ 776 AdditionalSlaveSecurityGroups?: StringList; 777 } 778 export type ErrorCode = string; 779 export type ErrorMessage = string; 780 export interface FailureDetails { 781 /** 782 * The reason for the step failure. In the case where the service cannot successfully determine the root cause of the failure, it returns "Unknown Error" as a reason. 783 */ 784 Reason?: String; 785 /** 786 * The descriptive message including the error the EMR service has identified as the cause of step failure. This is text from an error log that describes the root cause of the failure. 787 */ 788 Message?: String; 789 /** 790 * The path to the log file where the step failure root cause was originally recorded. 791 */ 792 LogFile?: String; 793 } 794 export interface HadoopJarStepConfig { 795 /** 796 * 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. 797 */ 798 Properties?: KeyValueList; 799 /** 800 * A path to a JAR file run during the step. 801 */ 802 Jar: XmlString; 803 /** 804 * 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. 805 */ 806 MainClass?: XmlString; 807 /** 808 * A list of command line arguments passed to the JAR file's main function when executed. 809 */ 810 Args?: XmlStringList; 811 } 812 export interface HadoopStepConfig { 813 /** 814 * The path to the JAR file that runs during the step. 815 */ 816 Jar?: String; 817 /** 818 * 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. 819 */ 820 Properties?: StringMap; 821 /** 822 * 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. 823 */ 824 MainClass?: String; 825 /** 826 * The list of command line arguments to pass to the JAR file's main function for execution. 827 */ 828 Args?: StringList; 829 } 830 export interface Instance { 831 /** 832 * The unique identifier for the instance in Amazon EMR. 833 */ 834 Id?: InstanceId; 835 /** 836 * The unique identifier of the instance in Amazon EC2. 837 */ 838 Ec2InstanceId?: InstanceId; 839 /** 840 * The public DNS name of the instance. 841 */ 842 PublicDnsName?: String; 843 /** 844 * The public IP address of the instance. 845 */ 846 PublicIpAddress?: String; 847 /** 848 * The private DNS name of the instance. 849 */ 850 PrivateDnsName?: String; 851 /** 852 * The private IP address of the instance. 853 */ 854 PrivateIpAddress?: String; 855 /** 856 * The current status of the instance. 857 */ 858 Status?: InstanceStatus; 859 /** 860 * The identifier of the instance group to which this instance belongs. 861 */ 862 InstanceGroupId?: String; 863 /** 864 * The list of EBS volumes that are attached to this instance. 865 */ 866 EbsVolumes?: EbsVolumeList; 867 } 868 export interface InstanceGroup { 869 /** 870 * The identifier of the instance group. 871 */ 872 Id?: InstanceGroupId; 873 /** 874 * The name of the instance group. 875 */ 876 Name?: String; 877 /** 878 * The marketplace to provision instances for this group. Valid values are ON_DEMAND or SPOT. 879 */ 880 Market?: MarketType; 881 /** 882 * The type of the instance group. Valid values are MASTER, CORE or TASK. 883 */ 884 InstanceGroupType?: InstanceGroupType; 885 /** 886 * The bid price for each EC2 instance in the instance group when launching nodes as Spot Instances, expressed in USD. 887 */ 888 BidPrice?: String; 889 /** 890 * The EC2 instance type for all instances in the instance group. 891 */ 892 InstanceType?: InstanceType; 893 /** 894 * The target number of instances for the instance group. 895 */ 896 RequestedInstanceCount?: Integer; 897 /** 898 * The number of instances currently running in this instance group. 899 */ 900 RunningInstanceCount?: Integer; 901 /** 902 * The current status of the instance group. 903 */ 904 Status?: InstanceGroupStatus; 905 /** 906 * 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). 907 */ 908 Configurations?: ConfigurationList; 909 /** 910 * The EBS block devices that are mapped to this instance group. 911 */ 912 EbsBlockDevices?: EbsBlockDeviceList; 913 /** 914 * If the instance group is EBS-optimized. An Amazon EBS-optimized instance uses an optimized configuration stack and provides additional, dedicated capacity for Amazon EBS I/O. 915 */ 916 EbsOptimized?: BooleanObject; 917 /** 918 * Policy for customizing shrink operations. 919 */ 920 ShrinkPolicy?: ShrinkPolicy; 921 /** 922 * An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. See PutAutoScalingPolicy. 923 */ 924 AutoScalingPolicy?: AutoScalingPolicyDescription; 925 } 926 export interface InstanceGroupConfig { 927 /** 928 * Friendly name given to the instance group. 929 */ 930 Name?: XmlStringMaxLen256; 931 /** 932 * Market type of the EC2 instances used to create a cluster node. 933 */ 934 Market?: MarketType; 935 /** 936 * The role of the instance group in the cluster. 937 */ 938 InstanceRole: InstanceRoleType; 939 /** 940 * Bid price for each EC2 instance in the instance group when launching nodes as Spot Instances, expressed in USD. 941 */ 942 BidPrice?: XmlStringMaxLen256; 943 /** 944 * The EC2 instance type for all instances in the instance group. 945 */ 946 InstanceType: InstanceType; 947 /** 948 * Target number of instances for the instance group. 949 */ 950 InstanceCount: Integer; 951 /** 952 * 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). 953 */ 954 Configurations?: ConfigurationList; 955 /** 956 * EBS configurations that will be attached to each EC2 instance in the instance group. 957 */ 958 EbsConfiguration?: EbsConfiguration; 959 /** 960 * An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. See PutAutoScalingPolicy. 961 */ 962 AutoScalingPolicy?: AutoScalingPolicy; 963 } 964 export type InstanceGroupConfigList = InstanceGroupConfig[]; 965 export interface InstanceGroupDetail { 966 /** 967 * Unique identifier for the instance group. 968 */ 969 InstanceGroupId?: XmlStringMaxLen256; 970 /** 971 * Friendly name for the instance group. 972 */ 973 Name?: XmlStringMaxLen256; 974 /** 975 * Market type of the EC2 instances used to create a cluster node. 976 */ 977 Market: MarketType; 978 /** 979 * Instance group role in the cluster 980 */ 981 InstanceRole: InstanceRoleType; 982 /** 983 * Bid price for EC2 Instances when launching nodes as Spot Instances, expressed in USD. 984 */ 985 BidPrice?: XmlStringMaxLen256; 986 /** 987 * EC2 instance type. 988 */ 989 InstanceType: InstanceType; 990 /** 991 * Target number of instances to run in the instance group. 992 */ 993 InstanceRequestCount: Integer; 994 /** 995 * Actual count of running instances. 996 */ 997 InstanceRunningCount: Integer; 998 /** 999 * State of instance group. The following values are deprecated: STARTING, TERMINATED, and FAILED. 1000 */ 1001 State: InstanceGroupState; 1002 /** 1003 * Details regarding the state of the instance group. 1004 */ 1005 LastStateChangeReason?: XmlString; 1006 /** 1007 * The date/time the instance group was created. 1008 */ 1009 CreationDateTime: _Date; 1010 /** 1011 * The date/time the instance group was started. 1012 */ 1013 StartDateTime?: _Date; 1014 /** 1015 * The date/time the instance group was available to the cluster. 1016 */ 1017 ReadyDateTime?: _Date; 1018 /** 1019 * The date/time the instance group was terminated. 1020 */ 1021 EndDateTime?: _Date; 1022 } 1023 export type InstanceGroupDetailList = InstanceGroupDetail[]; 1024 export type InstanceGroupId = string; 1025 export type InstanceGroupIdsList = XmlStringMaxLen256[]; 1026 export type InstanceGroupList = InstanceGroup[]; 1027 export interface InstanceGroupModifyConfig { 1028 /** 1029 * Unique ID of the instance group to expand or shrink. 1030 */ 1031 InstanceGroupId: XmlStringMaxLen256; 1032 /** 1033 * Target size for the instance group. 1034 */ 1035 InstanceCount?: Integer; 1036 /** 1037 * The EC2 InstanceIds to terminate. After you terminate the instances, the instance group will not return to its original requested size. 1038 */ 1039 EC2InstanceIdsToTerminate?: EC2InstanceIdsToTerminateList; 1040 /** 1041 * Policy for customizing shrink operations. 1042 */ 1043 ShrinkPolicy?: ShrinkPolicy; 1044 } 1045 export type InstanceGroupModifyConfigList = InstanceGroupModifyConfig[]; 1046 export type InstanceGroupState = "PROVISIONING"|"BOOTSTRAPPING"|"RUNNING"|"RESIZING"|"SUSPENDED"|"TERMINATING"|"TERMINATED"|"ARRESTED"|"SHUTTING_DOWN"|"ENDED"|string; 1047 export interface InstanceGroupStateChangeReason { 1048 /** 1049 * The programmable code for the state change reason. 1050 */ 1051 Code?: InstanceGroupStateChangeReasonCode; 1052 /** 1053 * The status change reason description. 1054 */ 1055 Message?: String; 1056 } 1057 export type InstanceGroupStateChangeReasonCode = "INTERNAL_ERROR"|"VALIDATION_ERROR"|"INSTANCE_FAILURE"|"CLUSTER_TERMINATED"|string; 1058 export interface InstanceGroupStatus { 1059 /** 1060 * The current state of the instance group. 1061 */ 1062 State?: InstanceGroupState; 1063 /** 1064 * The status change reason details for the instance group. 1065 */ 1066 StateChangeReason?: InstanceGroupStateChangeReason; 1067 /** 1068 * The timeline of the instance group status over time. 1069 */ 1070 Timeline?: InstanceGroupTimeline; 1071 } 1072 export interface InstanceGroupTimeline { 1073 /** 1074 * The creation date and time of the instance group. 1075 */ 1076 CreationDateTime?: _Date; 1077 /** 1078 * The date and time when the instance group became ready to perform tasks. 1079 */ 1080 ReadyDateTime?: _Date; 1081 /** 1082 * The date and time when the instance group terminated. 1083 */ 1084 EndDateTime?: _Date; 1085 } 1086 export type InstanceGroupType = "MASTER"|"CORE"|"TASK"|string; 1087 export type InstanceGroupTypeList = InstanceGroupType[]; 1088 export type InstanceId = string; 1089 export type InstanceList = Instance[]; 1090 export interface InstanceResizePolicy { 1091 /** 1092 * Specific list of instances to be terminated when shrinking an instance group. 1093 */ 1094 InstancesToTerminate?: EC2InstanceIdsList; 1095 /** 1096 * Specific list of instances to be protected when shrinking an instance group. 1097 */ 1098 InstancesToProtect?: EC2InstanceIdsList; 1099 /** 1100 * Decommissioning timeout override for the specific list of instances to be terminated. 1101 */ 1102 InstanceTerminationTimeout?: Integer; 1103 } 1104 export type InstanceRoleType = "MASTER"|"CORE"|"TASK"|string; 1105 export type InstanceState = "AWAITING_FULFILLMENT"|"PROVISIONING"|"BOOTSTRAPPING"|"RUNNING"|"TERMINATED"|string; 1106 export interface InstanceStateChangeReason { 1107 /** 1108 * The programmable code for the state change reason. 1109 */ 1110 Code?: InstanceStateChangeReasonCode; 1111 /** 1112 * The status change reason description. 1113 */ 1114 Message?: String; 1115 } 1116 export type InstanceStateChangeReasonCode = "INTERNAL_ERROR"|"VALIDATION_ERROR"|"INSTANCE_FAILURE"|"BOOTSTRAP_FAILURE"|"CLUSTER_TERMINATED"|string; 1117 export type InstanceStateList = InstanceState[]; 1118 export interface InstanceStatus { 1119 /** 1120 * The current state of the instance. 1121 */ 1122 State?: InstanceState; 1123 /** 1124 * The details of the status change reason for the instance. 1125 */ 1126 StateChangeReason?: InstanceStateChangeReason; 1127 /** 1128 * The timeline of the instance status over time. 1129 */ 1130 Timeline?: InstanceTimeline; 1131 } 1132 export interface InstanceTimeline { 1133 /** 1134 * The creation date and time of the instance. 1135 */ 1136 CreationDateTime?: _Date; 1137 /** 1138 * The date and time when the instance was ready to perform tasks. 1139 */ 1140 ReadyDateTime?: _Date; 1141 /** 1142 * The date and time when the instance was terminated. 1143 */ 1144 EndDateTime?: _Date; 1145 } 1146 export type InstanceType = string; 1147 export type Integer = number; 1148 export interface JobFlowDetail { 1149 /** 1150 * The job flow identifier. 1151 */ 1152 JobFlowId: XmlStringMaxLen256; 1153 /** 1154 * The name of the job flow. 1155 */ 1156 Name: XmlStringMaxLen256; 1157 /** 1158 * The location in Amazon S3 where log files for the job are stored. 1159 */ 1160 LogUri?: XmlString; 1161 /** 1162 * 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 EMR, see AMI Versions Supported in EMR in the Amazon EMR Developer Guide. 1163 */ 1164 AmiVersion?: XmlStringMaxLen256; 1165 /** 1166 * Describes the execution status of the job flow. 1167 */ 1168 ExecutionStatusDetail: JobFlowExecutionStatusDetail; 1169 /** 1170 * Describes the Amazon EC2 instances of the job flow. 1171 */ 1172 Instances: JobFlowInstancesDetail; 1173 /** 1174 * A list of steps run by the job flow. 1175 */ 1176 Steps?: StepDetailList; 1177 /** 1178 * A list of the bootstrap actions run by the job flow. 1179 */ 1180 BootstrapActions?: BootstrapActionDetailList; 1181 /** 1182 * 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. 1183 */ 1184 SupportedProducts?: SupportedProductsList; 1185 /** 1186 * 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. 1187 */ 1188 VisibleToAllUsers?: Boolean; 1189 /** 1190 * The IAM role that was specified when the job flow was launched. The EC2 instances of the job flow assume this role. 1191 */ 1192 JobFlowRole?: XmlString; 1193 /** 1194 * The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf. 1195 */ 1196 ServiceRole?: XmlString; 1197 /** 1198 * An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. The IAM role provides a way for the automatic scaling feature to get the required permissions it needs to launch and terminate EC2 instances in an instance group. 1199 */ 1200 AutoScalingRole?: XmlString; 1201 /** 1202 * The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0. 1203 */ 1204 ScaleDownBehavior?: ScaleDownBehavior; 1205 } 1206 export type JobFlowDetailList = JobFlowDetail[]; 1207 export type JobFlowExecutionState = "STARTING"|"BOOTSTRAPPING"|"RUNNING"|"WAITING"|"SHUTTING_DOWN"|"TERMINATED"|"COMPLETED"|"FAILED"|string; 1208 export type JobFlowExecutionStateList = JobFlowExecutionState[]; 1209 export interface JobFlowExecutionStatusDetail { 1210 /** 1211 * The state of the job flow. 1212 */ 1213 State: JobFlowExecutionState; 1214 /** 1215 * The creation date and time of the job flow. 1216 */ 1217 CreationDateTime: _Date; 1218 /** 1219 * The start date and time of the job flow. 1220 */ 1221 StartDateTime?: _Date; 1222 /** 1223 * The date and time when the job flow was ready to start running bootstrap actions. 1224 */ 1225 ReadyDateTime?: _Date; 1226 /** 1227 * The completion date and time of the job flow. 1228 */ 1229 EndDateTime?: _Date; 1230 /** 1231 * Description of the job flow last changed state. 1232 */ 1233 LastStateChangeReason?: XmlString; 1234 } 1235 export interface JobFlowInstancesConfig { 1236 /** 1237 * The EC2 instance type of the master node. 1238 */ 1239 MasterInstanceType?: InstanceType; 1240 /** 1241 * The EC2 instance type of the slave nodes. 1242 */ 1243 SlaveInstanceType?: InstanceType; 1244 /** 1245 * The number of EC2 instances used to execute the job flow. 1246 */ 1247 InstanceCount?: Integer; 1248 /** 1249 * Configuration for the job flow's instance groups. 1250 */ 1251 InstanceGroups?: InstanceGroupConfigList; 1252 /** 1253 * The name of the EC2 key pair that can be used to ssh to the master node as the user called "hadoop." 1254 */ 1255 Ec2KeyName?: XmlStringMaxLen256; 1256 /** 1257 * The Availability Zone the job flow will run in. 1258 */ 1259 Placement?: PlacementType; 1260 /** 1261 * Specifies whether the job flow should be kept alive after completing all steps. 1262 */ 1263 KeepJobFlowAliveWhenNoSteps?: Boolean; 1264 /** 1265 * 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. 1266 */ 1267 TerminationProtected?: Boolean; 1268 /** 1269 * 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. 1270 */ 1271 HadoopVersion?: XmlStringMaxLen256; 1272 /** 1273 * 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. 1274 */ 1275 Ec2SubnetId?: XmlStringMaxLen256; 1276 /** 1277 * The identifier of the Amazon EC2 security group for the master node. 1278 */ 1279 EmrManagedMasterSecurityGroup?: XmlStringMaxLen256; 1280 /** 1281 * The identifier of the Amazon EC2 security group for the slave nodes. 1282 */ 1283 EmrManagedSlaveSecurityGroup?: XmlStringMaxLen256; 1284 /** 1285 * The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets. 1286 */ 1287 ServiceAccessSecurityGroup?: XmlStringMaxLen256; 1288 /** 1289 * A list of additional Amazon EC2 security group IDs for the master node. 1290 */ 1291 AdditionalMasterSecurityGroups?: SecurityGroupsList; 1292 /** 1293 * A list of additional Amazon EC2 security group IDs for the slave nodes. 1294 */ 1295 AdditionalSlaveSecurityGroups?: SecurityGroupsList; 1296 } 1297 export interface JobFlowInstancesDetail { 1298 /** 1299 * The Amazon EC2 master node instance type. 1300 */ 1301 MasterInstanceType: InstanceType; 1302 /** 1303 * The DNS name of the master node. 1304 */ 1305 MasterPublicDnsName?: XmlString; 1306 /** 1307 * The Amazon EC2 instance identifier of the master node. 1308 */ 1309 MasterInstanceId?: XmlString; 1310 /** 1311 * The Amazon EC2 slave node instance type. 1312 */ 1313 SlaveInstanceType: InstanceType; 1314 /** 1315 * The number of Amazon EC2 instances in the cluster. If the value is 1, the same instance serves as both the master and slave node. If the value is greater than 1, one instance is the master node and all others are slave nodes. 1316 */ 1317 InstanceCount: Integer; 1318 /** 1319 * Details about the job flow's instance groups. 1320 */ 1321 InstanceGroups?: InstanceGroupDetailList; 1322 /** 1323 * An approximation of the cost of the job flow, represented in m1.small/hours. This value is incremented one time for every hour that 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. 1324 */ 1325 NormalizedInstanceHours?: Integer; 1326 /** 1327 * The name of an Amazon EC2 key pair that can be used to ssh to the master node of job flow. 1328 */ 1329 Ec2KeyName?: XmlStringMaxLen256; 1330 /** 1331 * For job flows launched within Amazon Virtual Private Cloud, this value specifies the identifier of the subnet where the job flow was launched. 1332 */ 1333 Ec2SubnetId?: XmlStringMaxLen256; 1334 /** 1335 * The Amazon EC2 Availability Zone for the job flow. 1336 */ 1337 Placement?: PlacementType; 1338 /** 1339 * Specifies whether the job flow should terminate after completing all steps. 1340 */ 1341 KeepJobFlowAliveWhenNoSteps?: Boolean; 1342 /** 1343 * 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. 1344 */ 1345 TerminationProtected?: Boolean; 1346 /** 1347 * The Hadoop version for the job flow. 1348 */ 1349 HadoopVersion?: XmlStringMaxLen256; 1350 } 1351 export interface KeyValue { 1352 /** 1353 * The unique identifier of a key value pair. 1354 */ 1355 Key?: XmlString; 1356 /** 1357 * The value part of the identified key. 1358 */ 1359 Value?: XmlString; 1360 } 1361 export type KeyValueList = KeyValue[]; 1362 export interface ListBootstrapActionsInput { 1363 /** 1364 * The cluster identifier for the bootstrap actions to list. 1365 */ 1366 ClusterId: ClusterId; 1367 /** 1368 * The pagination token that indicates the next set of results to retrieve. 1369 */ 1370 Marker?: Marker; 1371 } 1372 export interface ListBootstrapActionsOutput { 1373 /** 1374 * The bootstrap actions associated with the cluster. 1375 */ 1376 BootstrapActions?: CommandList; 1377 /** 1378 * The pagination token that indicates the next set of results to retrieve. 1379 */ 1380 Marker?: Marker; 1381 } 1382 export interface ListClustersInput { 1383 /** 1384 * The creation date and time beginning value filter for listing clusters. 1385 */ 1386 CreatedAfter?: _Date; 1387 /** 1388 * The creation date and time end value filter for listing clusters. 1389 */ 1390 CreatedBefore?: _Date; 1391 /** 1392 * The cluster state filters to apply when listing clusters. 1393 */ 1394 ClusterStates?: ClusterStateList; 1395 /** 1396 * The pagination token that indicates the next set of results to retrieve. 1397 */ 1398 Marker?: Marker; 1399 } 1400 export interface ListClustersOutput { 1401 /** 1402 * The list of clusters for the account based on the given filters. 1403 */ 1404 Clusters?: ClusterSummaryList; 1405 /** 1406 * The pagination token that indicates the next set of results to retrieve. 1407 */ 1408 Marker?: Marker; 1409 } 1410 export interface ListInstanceGroupsInput { 1411 /** 1412 * The identifier of the cluster for which to list the instance groups. 1413 */ 1414 ClusterId: ClusterId; 1415 /** 1416 * The pagination token that indicates the next set of results to retrieve. 1417 */ 1418 Marker?: Marker; 1419 } 1420 export interface ListInstanceGroupsOutput { 1421 /** 1422 * The list of instance groups for the cluster and given filters. 1423 */ 1424 InstanceGroups?: InstanceGroupList; 1425 /** 1426 * The pagination token that indicates the next set of results to retrieve. 1427 */ 1428 Marker?: Marker; 1429 } 1430 export interface ListInstancesInput { 1431 /** 1432 * The identifier of the cluster for which to list the instances. 1433 */ 1434 ClusterId: ClusterId; 1435 /** 1436 * The identifier of the instance group for which to list the instances. 1437 */ 1438 InstanceGroupId?: InstanceGroupId; 1439 /** 1440 * The type of instance group for which to list the instances. 1441 */ 1442 InstanceGroupTypes?: InstanceGroupTypeList; 1443 /** 1444 * A list of instance states that will filter the instances returned with this request. 1445 */ 1446 InstanceStates?: InstanceStateList; 1447 /** 1448 * The pagination token that indicates the next set of results to retrieve. 1449 */ 1450 Marker?: Marker; 1451 } 1452 export interface ListInstancesOutput { 1453 /** 1454 * The list of instances for the cluster and given filters. 1455 */ 1456 Instances?: InstanceList; 1457 /** 1458 * The pagination token that indicates the next set of results to retrieve. 1459 */ 1460 Marker?: Marker; 1461 } 1462 export interface ListSecurityConfigurationsInput { 1463 /** 1464 * The pagination token that indicates the set of results to retrieve. 1465 */ 1466 Marker?: Marker; 1467 } 1468 export interface ListSecurityConfigurationsOutput { 1469 /** 1470 * The creation date and time, and name, of each security configuration. 1471 */ 1472 SecurityConfigurations?: SecurityConfigurationList; 1473 /** 1474 * A pagination token that indicates the next set of results to retrieve. Include the marker in the next ListSecurityConfiguration call to retrieve the next page of results, if required. 1475 */ 1476 Marker?: Marker; 1477 } 1478 export interface ListStepsInput { 1479 /** 1480 * The identifier of the cluster for which to list the steps. 1481 */ 1482 ClusterId: ClusterId; 1483 /** 1484 * The filter to limit the step list based on certain states. 1485 */ 1486 StepStates?: StepStateList; 1487 /** 1488 * The filter to limit the step list based on the identifier of the steps. 1489 */ 1490 StepIds?: XmlStringList; 1491 /** 1492 * The pagination token that indicates the next set of results to retrieve. 1493 */ 1494 Marker?: Marker; 1495 } 1496 export interface ListStepsOutput { 1497 /** 1498 * The filtered list of steps for the cluster. 1499 */ 1500 Steps?: StepSummaryList; 1501 /** 1502 * The pagination token that indicates the next set of results to retrieve. 1503 */ 1504 Marker?: Marker; 1505 } 1506 export type Marker = string; 1507 export type MarketType = "ON_DEMAND"|"SPOT"|string; 1508 export interface MetricDimension { 1509 /** 1510 * The dimension name. 1511 */ 1512 Key?: String; 1513 /** 1514 * The dimension value. 1515 */ 1516 Value?: String; 1517 } 1518 export type MetricDimensionList = MetricDimension[]; 1519 export interface ModifyInstanceGroupsInput { 1520 /** 1521 * The ID of the cluster to which the instance group belongs. 1522 */ 1523 ClusterId?: ClusterId; 1524 /** 1525 * Instance groups to change. 1526 */ 1527 InstanceGroups?: InstanceGroupModifyConfigList; 1528 } 1529 export type NewSupportedProductsList = SupportedProductConfig[]; 1530 export type NonNegativeDouble = number; 1531 export interface PlacementType { 1532 /** 1533 * The Amazon EC2 Availability Zone for the job flow. 1534 */ 1535 AvailabilityZone: XmlString; 1536 } 1537 export interface PutAutoScalingPolicyInput { 1538 /** 1539 * Specifies the ID of a cluster. The instance group to which the automatic scaling policy is applied is within this cluster. 1540 */ 1541 ClusterId: ClusterId; 1542 /** 1543 * Specifies the ID of the instance group to which the automatic scaling policy is applied. 1544 */ 1545 InstanceGroupId: InstanceGroupId; 1546 /** 1547 * Specifies the definition of the automatic scaling policy. 1548 */ 1549 AutoScalingPolicy: AutoScalingPolicy; 1550 } 1551 export interface PutAutoScalingPolicyOutput { 1552 /** 1553 * Specifies the ID of a cluster. The instance group to which the automatic scaling policy is applied is within this cluster. 1554 */ 1555 ClusterId?: ClusterId; 1556 /** 1557 * Specifies the ID of the instance group to which the scaling policy is applied. 1558 */ 1559 InstanceGroupId?: InstanceGroupId; 1560 /** 1561 * The automatic scaling policy definition. 1562 */ 1563 AutoScalingPolicy?: AutoScalingPolicyDescription; 1564 } 1565 export interface RemoveAutoScalingPolicyInput { 1566 /** 1567 * Specifies the ID of a cluster. The instance group to which the automatic scaling policy is applied is within this cluster. 1568 */ 1569 ClusterId: ClusterId; 1570 /** 1571 * Specifies the ID of the instance group to which the scaling policy is applied. 1572 */ 1573 InstanceGroupId: InstanceGroupId; 1574 } 1575 export interface RemoveAutoScalingPolicyOutput { 1576 } 1577 export interface RemoveTagsInput { 1578 /** 1579 * The Amazon EMR resource identifier from which tags will be removed. This value must be a cluster identifier. 1580 */ 1581 ResourceId: ResourceId; 1582 /** 1583 * A list of tag keys to remove from a resource. 1584 */ 1585 TagKeys: StringList; 1586 } 1587 export interface RemoveTagsOutput { 1588 } 1589 export type ResourceId = string; 1590 export interface RunJobFlowInput { 1591 /** 1592 * The name of the job flow. 1593 */ 1594 Name: XmlStringMaxLen256; 1595 /** 1596 * The location in Amazon S3 to write the log files of the job flow. If a value is not provided, logs are not created. 1597 */ 1598 LogUri?: XmlString; 1599 /** 1600 * A JSON string for selecting additional features. 1601 */ 1602 AdditionalInfo?: XmlString; 1603 /** 1604 * For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and greater, use ReleaseLabel. 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 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, see AMI Versions Supported in Elastic MapReduce in the Amazon Elastic MapReduce Developer Guide. Previously, the EMR AMI version API parameter options allowed you to use latest for the latest AMI version rather than specify a numerical value. Some regions no longer support this deprecated option as they only have a newer release label version of EMR, which requires you to specify an EMR release label release (EMR 4.x or later). 1605 */ 1606 AmiVersion?: XmlStringMaxLen256; 1607 /** 1608 * Amazon EMR releases 4.x or later. The release label for the Amazon EMR release. For Amazon EMR 3.x and 2.x AMIs, use amiVersion instead instead of ReleaseLabel. 1609 */ 1610 ReleaseLabel?: XmlStringMaxLen256; 1611 /** 1612 * A specification of the number and type of Amazon EC2 instances on which to run the job flow. 1613 */ 1614 Instances: JobFlowInstancesConfig; 1615 /** 1616 * A list of steps to be executed by the job flow. 1617 */ 1618 Steps?: StepConfigList; 1619 /** 1620 * A list of bootstrap actions that will be run before Hadoop is started on the cluster nodes. 1621 */ 1622 BootstrapActions?: BootstrapActionConfigList; 1623 /** 1624 * For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and greater, use Applications. A list of strings that indicates third-party software to use with the job flow. For more information, see 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. 1625 */ 1626 SupportedProducts?: SupportedProductsList; 1627 /** 1628 * For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and greater, use Applications. 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 cluster using MapR M3 Edition. "mapr-m5" - launch the cluster 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. "mapr-m7" - launch the cluster using MapR M7 Edition. "hunk" - launch the cluster with the Hunk Big Data Analtics Platform. "hue"- launch the cluster with Hue installed. "spark" - launch the cluster with Apache Spark installed. "ganglia" - launch the cluster with the Ganglia Monitoring System installed. 1629 */ 1630 NewSupportedProducts?: NewSupportedProductsList; 1631 /** 1632 * Amazon EMR releases 4.x or later. A list of applications for the cluster. Valid values are: "Hadoop", "Hive", "Mahout", "Pig", and "Spark." They are case insensitive. 1633 */ 1634 Applications?: ApplicationList; 1635 /** 1636 * Amazon EMR releases 4.x or later. The list of configurations supplied for the EMR cluster you are creating. 1637 */ 1638 Configurations?: ConfigurationList; 1639 /** 1640 * 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. 1641 */ 1642 VisibleToAllUsers?: Boolean; 1643 /** 1644 * Also called instance profile and EC2 role. An IAM role for an EMR cluster. The EC2 instances of the cluster assume this role. The default role is EMR_EC2_DefaultRole. In order to use the default role, you must have already created it using the CLI or console. 1645 */ 1646 JobFlowRole?: XmlString; 1647 /** 1648 * The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf. 1649 */ 1650 ServiceRole?: XmlString; 1651 /** 1652 * A list of tags to associate with a cluster and propagate to Amazon EC2 instances. 1653 */ 1654 Tags?: TagList; 1655 /** 1656 * The name of a security configuration to apply to the cluster. 1657 */ 1658 SecurityConfiguration?: XmlString; 1659 /** 1660 * An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group. 1661 */ 1662 AutoScalingRole?: XmlString; 1663 /** 1664 * Specifies the way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0. 1665 */ 1666 ScaleDownBehavior?: ScaleDownBehavior; 1667 } 1668 export interface RunJobFlowOutput { 1669 /** 1670 * An unique identifier for the job flow. 1671 */ 1672 JobFlowId?: XmlStringMaxLen256; 1673 } 1674 export type ScaleDownBehavior = "TERMINATE_AT_INSTANCE_HOUR"|"TERMINATE_AT_TASK_COMPLETION"|string; 1675 export interface ScalingAction { 1676 /** 1677 * Not available for instance groups. Instance groups use the market type specified for the group. 1678 */ 1679 Market?: MarketType; 1680 /** 1681 * The type of adjustment the automatic scaling activity makes when triggered, and the periodicity of the adjustment. 1682 */ 1683 SimpleScalingPolicyConfiguration: SimpleScalingPolicyConfiguration; 1684 } 1685 export interface ScalingConstraints { 1686 /** 1687 * The lower boundary of EC2 instances in an instance group below which scaling activities are not allowed to shrink. Scale-in activities will not terminate instances below this boundary. 1688 */ 1689 MinCapacity: Integer; 1690 /** 1691 * The upper boundary of EC2 instances in an instance group beyond which scaling activities are not allowed to grow. Scale-out activities will not add instances beyond this boundary. 1692 */ 1693 MaxCapacity: Integer; 1694 } 1695 export interface ScalingRule { 1696 /** 1697 * The name used to identify an automatic scaling rule. Rule names must be unique within a scaling policy. 1698 */ 1699 Name: String; 1700 /** 1701 * A friendly, more verbose description of the automatic scaling rule. 1702 */ 1703 Description?: String; 1704 /** 1705 * The conditions that trigger an automatic scaling activity. 1706 */ 1707 Action: ScalingAction; 1708 /** 1709 * The CloudWatch alarm definition that determines when automatic scaling activity is triggered. 1710 */ 1711 Trigger: ScalingTrigger; 1712 } 1713 export type ScalingRuleList = ScalingRule[]; 1714 export interface ScalingTrigger { 1715 /** 1716 * The definition of a CloudWatch metric alarm. When the defined alarm conditions are met along with other trigger parameters, scaling activity begins. 1717 */ 1718 CloudWatchAlarmDefinition: CloudWatchAlarmDefinition; 1719 } 1720 export interface ScriptBootstrapActionConfig { 1721 /** 1722 * Location of the script to run during a bootstrap action. Can be either a location in Amazon S3 or on a local file system. 1723 */ 1724 Path: XmlString; 1725 /** 1726 * A list of command line arguments to pass to the bootstrap action script. 1727 */ 1728 Args?: XmlStringList; 1729 } 1730 export type SecurityConfigurationList = SecurityConfigurationSummary[]; 1731 export interface SecurityConfigurationSummary { 1732 /** 1733 * The name of the security configuration. 1734 */ 1735 Name?: XmlString; 1736 /** 1737 * The date and time the security configuration was created. 1738 */ 1739 CreationDateTime?: _Date; 1740 } 1741 export type SecurityGroupsList = XmlStringMaxLen256[]; 1742 export interface SetTerminationProtectionInput { 1743 /** 1744 * 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 . 1745 */ 1746 JobFlowIds: XmlStringList; 1747 /** 1748 * 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. 1749 */ 1750 TerminationProtected: Boolean; 1751 } 1752 export interface SetVisibleToAllUsersInput { 1753 /** 1754 * Identifiers of the job flows to receive the new visibility setting. 1755 */ 1756 JobFlowIds: XmlStringList; 1757 /** 1758 * 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. 1759 */ 1760 VisibleToAllUsers: Boolean; 1761 } 1762 export interface ShrinkPolicy { 1763 /** 1764 * The desired timeout for decommissioning an instance. Overrides the default YARN decommissioning timeout. 1765 */ 1766 DecommissionTimeout?: Integer; 1767 /** 1768 * Custom policy for requesting termination protection or termination of specific instances when shrinking an instance group. 1769 */ 1770 InstanceResizePolicy?: InstanceResizePolicy; 1771 } 1772 export interface SimpleScalingPolicyConfiguration { 1773 /** 1774 * The way in which EC2 instances are added (if ScalingAdjustment is a positive number) or terminated (if ScalingAdjustment is a negative number) each time the scaling activity is triggered. CHANGE_IN_CAPACITY is the default. CHANGE_IN_CAPACITY indicates that the EC2 instance count increments or decrements by ScalingAdjustment, which should be expressed as an integer. PERCENT_CHANGE_IN_CAPACITY indicates the instance count increments or decrements by the percentage specified by ScalingAdjustment, which should be expressed as a decimal, for example, 0.20 indicates an increase in 20% increments of cluster capacity. EXACT_CAPACITY indicates the scaling activity results in an instance group with the number of EC2 instances specified by ScalingAdjustment, which should be expressed as a positive integer. 1775 */ 1776 AdjustmentType?: AdjustmentType; 1777 /** 1778 * The amount by which to scale in or scale out, based on the specified AdjustmentType. A positive value adds to the instance group's EC2 instance count while a negative number removes instances. If AdjustmentType is set to EXACT_CAPACITY, the number should only be a positive integer. If AdjustmentType is set to PERCENT_CHANGE_IN_CAPACITY, the value should express the percentage as a decimal. For example, -0.20 indicates a decrease in 20% increments of cluster capacity. 1779 */ 1780 ScalingAdjustment: Integer; 1781 /** 1782 * The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start. The default value is 0. 1783 */ 1784 CoolDown?: Integer; 1785 } 1786 export type Statistic = "SAMPLE_COUNT"|"AVERAGE"|"SUM"|"MINIMUM"|"MAXIMUM"|string; 1787 export interface Step { 1788 /** 1789 * The identifier of the cluster step. 1790 */ 1791 Id?: StepId; 1792 /** 1793 * The name of the cluster step. 1794 */ 1795 Name?: String; 1796 /** 1797 * The Hadoop job configuration of the cluster step. 1798 */ 1799 Config?: HadoopStepConfig; 1800 /** 1801 * This specifies what action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE. 1802 */ 1803 ActionOnFailure?: ActionOnFailure; 1804 /** 1805 * The current execution status details of the cluster step. 1806 */ 1807 Status?: StepStatus; 1808 } 1809 export interface StepConfig { 1810 /** 1811 * The name of the job flow step. 1812 */ 1813 Name: XmlStringMaxLen256; 1814 /** 1815 * The action to take if the job flow step fails. 1816 */ 1817 ActionOnFailure?: ActionOnFailure; 1818 /** 1819 * The JAR file used for the job flow step. 1820 */ 1821 HadoopJarStep: HadoopJarStepConfig; 1822 } 1823 export type StepConfigList = StepConfig[]; 1824 export interface StepDetail { 1825 /** 1826 * The step configuration. 1827 */ 1828 StepConfig: StepConfig; 1829 /** 1830 * The description of the step status. 1831 */ 1832 ExecutionStatusDetail: StepExecutionStatusDetail; 1833 } 1834 export type StepDetailList = StepDetail[]; 1835 export type StepExecutionState = "PENDING"|"RUNNING"|"CONTINUE"|"COMPLETED"|"CANCELLED"|"FAILED"|"INTERRUPTED"|string; 1836 export interface StepExecutionStatusDetail { 1837 /** 1838 * The state of the job flow step. 1839 */ 1840 State: StepExecutionState; 1841 /** 1842 * The creation date and time of the step. 1843 */ 1844 CreationDateTime: _Date; 1845 /** 1846 * The start date and time of the step. 1847 */ 1848 StartDateTime?: _Date; 1849 /** 1850 * The completion date and time of the step. 1851 */ 1852 EndDateTime?: _Date; 1853 /** 1854 * A description of the step's current state. 1855 */ 1856 LastStateChangeReason?: XmlString; 1857 } 1858 export type StepId = string; 1859 export type StepIdsList = XmlStringMaxLen256[]; 1860 export type StepState = "PENDING"|"CANCEL_PENDING"|"RUNNING"|"COMPLETED"|"CANCELLED"|"FAILED"|"INTERRUPTED"|string; 1861 export interface StepStateChangeReason { 1862 /** 1863 * The programmable code for the state change reason. Note: Currently, the service provides no code for the state change. 1864 */ 1865 Code?: StepStateChangeReasonCode; 1866 /** 1867 * The descriptive message for the state change reason. 1868 */ 1869 Message?: String; 1870 } 1871 export type StepStateChangeReasonCode = "NONE"|string; 1872 export type StepStateList = StepState[]; 1873 export interface StepStatus { 1874 /** 1875 * The execution state of the cluster step. 1876 */ 1877 State?: StepState; 1878 /** 1879 * The reason for the step execution status change. 1880 */ 1881 StateChangeReason?: StepStateChangeReason; 1882 /** 1883 * The details for the step failure including reason, message, and log file path where the root cause was identified. 1884 */ 1885 FailureDetails?: FailureDetails; 1886 /** 1887 * The timeline of the cluster step status over time. 1888 */ 1889 Timeline?: StepTimeline; 1890 } 1891 export interface StepSummary { 1892 /** 1893 * The identifier of the cluster step. 1894 */ 1895 Id?: StepId; 1896 /** 1897 * The name of the cluster step. 1898 */ 1899 Name?: String; 1900 /** 1901 * The Hadoop job configuration of the cluster step. 1902 */ 1903 Config?: HadoopStepConfig; 1904 /** 1905 * This specifies what action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE. 1906 */ 1907 ActionOnFailure?: ActionOnFailure; 1908 /** 1909 * The current execution status details of the cluster step. 1910 */ 1911 Status?: StepStatus; 1912 } 1913 export type StepSummaryList = StepSummary[]; 1914 export interface StepTimeline { 1915 /** 1916 * The date and time when the cluster step was created. 1917 */ 1918 CreationDateTime?: _Date; 1919 /** 1920 * The date and time when the cluster step execution started. 1921 */ 1922 StartDateTime?: _Date; 1923 /** 1924 * The date and time when the cluster step execution completed or failed. 1925 */ 1926 EndDateTime?: _Date; 1927 } 1928 export type String = string; 1929 export type StringList = String[]; 1930 export type StringMap = {[key: string]: String}; 1931 export interface SupportedProductConfig { 1932 /** 1933 * The name of the product configuration. 1934 */ 1935 Name?: XmlStringMaxLen256; 1936 /** 1937 * The list of user-supplied arguments. 1938 */ 1939 Args?: XmlStringList; 1940 } 1941 export type SupportedProductsList = XmlStringMaxLen256[]; 1942 export interface Tag { 1943 /** 1944 * A user-defined key, which is the minimum required information for a valid tag. For more information, see Tagging Amazon EMR Resources. 1945 */ 1946 Key?: String; 1947 /** 1948 * A user-defined value, which is optional in a tag. For more information, see Tagging Amazon EMR Resources. 1949 */ 1950 Value?: String; 1951 } 1952 export type TagList = Tag[]; 1953 export interface TerminateJobFlowsInput { 1954 /** 1955 * A list of job flows to be shutdown. 1956 */ 1957 JobFlowIds: XmlStringList; 1958 } 1959 export type Unit = "NONE"|"SECONDS"|"MICRO_SECONDS"|"MILLI_SECONDS"|"BYTES"|"KILO_BYTES"|"MEGA_BYTES"|"GIGA_BYTES"|"TERA_BYTES"|"BITS"|"KILO_BITS"|"MEGA_BITS"|"GIGA_BITS"|"TERA_BITS"|"PERCENT"|"COUNT"|"BYTES_PER_SECOND"|"KILO_BYTES_PER_SECOND"|"MEGA_BYTES_PER_SECOND"|"GIGA_BYTES_PER_SECOND"|"TERA_BYTES_PER_SECOND"|"BITS_PER_SECOND"|"KILO_BITS_PER_SECOND"|"MEGA_BITS_PER_SECOND"|"GIGA_BITS_PER_SECOND"|"TERA_BITS_PER_SECOND"|"COUNT_PER_SECOND"|string; 1960 export interface VolumeSpecification { 1961 /** 1962 * The volume type. Volume types supported are gp2, io1, standard. 1963 */ 1964 VolumeType: String; 1965 /** 1966 * The number of I/O operations per second (IOPS) that the volume supports. 1967 */ 1968 Iops?: Integer; 1969 /** 1970 * The volume size, in gibibytes (GiB). This can be a number from 1 - 1024. If the volume type is EBS-optimized, the minimum value is 10. 1971 */ 1972 SizeInGB: Integer; 1973 } 1974 export type XmlString = string; 1975 export type XmlStringList = XmlString[]; 1976 export type XmlStringMaxLen256 = string; 1977 /** 1978 * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version. 1979 */ 1980 export type apiVersion = "2009-03-31"|"latest"|string; 1981 export interface ClientApiVersions { 1982 /** 1983 * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version. 1984 */ 1985 apiVersion?: apiVersion; 1986 } 1987 export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions; 1988 } 1989 export = EMR;