SetTerminationProtection locks a job flow so the Amazon EC2 instances in the cluster cannot be terminated by user intervention, an API call, or in the event of a job-flow error. The cluster still terminates upon successful completion of the job flow. Calling SetTerminationProtection on a job flow is analogous to calling the Amazon EC2 DisableAPITermination API on all of the EC2 instances in a cluster.
SetTerminationProtection is used to prevent accidental termination of a job flow and to ensure that in the event of an error, the instances will persist so you can recover any data stored in their ephemeral instance storage.
To terminate a job flow that has been locked by setting SetTerminationProtection to
true
, you must first unlock the job flow by a subsequent call to
SetTerminationProtection in which you set the value to false
.
For more information, go to Protecting a Job Flow from Termination in the Amazon Elastic MapReduce Developer’s Guide.
Access
public
Parameters
Parameter |
Type |
Required |
Description |
---|---|---|---|
|
Required |
A list of strings that uniquely identify the job flows to protect. This identifier is returned by |
|
|
Required |
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. |
|
|
Optional |
An associative array of parameters that can have the following keys:
|
Returns
Type |
Description |
---|---|
A |
Examples
Lock a job flow so the Amazon EC2 instances in the cluster cannot be terminated by user intervention, an API call, or in the event of a job-flow error.
$emr = new AmazonEMR(); $response = $emr->set_termination_protection(array('j-147KUX35ZRCTI', 'j-853ITCRZ65XUK'), 'true'); // Success? var_dump($response->isOK());Result:
bool(true)
Unlock a job flow so the Amazon EC2 instances in the cluster cannot be terminated by user intervention, an API call, or in the event of a job-flow error.
$emr = new AmazonEMR(); $response = $emr->set_termination_protection(array('j-147KUX35ZRCTI', 'j-853ITCRZ65XUK'), 'false'); // Success? var_dump($response->isOK());Result:
bool(true)
Source
Method defined in services/emr.class.php | Toggle source view (12 lines) | View on GitHub