/// <summary> /// Initiates the asynchronous execution of the TerminateJobFlows operation. /// <seealso cref="Amazon.ElasticMapReduce.IAmazonElasticMapReduce"/> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the TerminateJobFlows operation.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// <returns>The task object representing the asynchronous operation.</returns> public Task <TerminateJobFlowsResponse> TerminateJobFlowsAsync(TerminateJobFlowsRequest request, CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new TerminateJobFlowsRequestMarshaller(); var unmarshaller = TerminateJobFlowsResponseUnmarshaller.Instance; return(Invoke <IRequest, TerminateJobFlowsRequest, TerminateJobFlowsResponse>(request, marshaller, unmarshaller, signer, cancellationToken)); }
internal TerminateJobFlowsResponse TerminateJobFlows(TerminateJobFlowsRequest request) { var marshaller = new TerminateJobFlowsRequestMarshaller(); var unmarshaller = TerminateJobFlowsResponseUnmarshaller.Instance; return(Invoke <TerminateJobFlowsRequest, TerminateJobFlowsResponse>(request, marshaller, unmarshaller)); }
/// <summary> /// <para> 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. </para> /// </summary> /// /// <param name="terminateJobFlowsRequest">Container for the necessary /// parameters to execute the TerminateJobFlows service method on /// AmazonElasticMapReduce.</param> /// /// <exception cref="InternalServerErrorException"/> public TerminateJobFlowsResponse TerminateJobFlows(TerminateJobFlowsRequest terminateJobFlowsRequest) { IRequest <TerminateJobFlowsRequest> request = new TerminateJobFlowsRequestMarshaller().Marshall(terminateJobFlowsRequest); TerminateJobFlowsResponse response = Invoke <TerminateJobFlowsRequest, TerminateJobFlowsResponse> (request, this.signer, TerminateJobFlowsResponseUnmarshaller.GetInstance()); return(response); }
IAsyncResult invokeTerminateJobFlows(TerminateJobFlowsRequest terminateJobFlowsRequest, AsyncCallback callback, object state, bool synchronized) { IRequest irequest = new TerminateJobFlowsRequestMarshaller().Marshall(terminateJobFlowsRequest); var unmarshaller = TerminateJobFlowsResponseUnmarshaller.GetInstance(); AsyncResult result = new AsyncResult(irequest, callback, state, synchronized, signer, unmarshaller); Invoke(result); return(result); }
internal TerminateJobFlowsResponse TerminateJobFlows(TerminateJobFlowsRequest request) { var task = TerminateJobFlowsAsync(request); try { return(task.Result); } catch (AggregateException e) { ExceptionDispatchInfo.Capture(e.InnerException).Throw(); return(null); } }
private static IDictionary <string, string> ConvertTerminateJobFlows(TerminateJobFlowsRequest request) { IDictionary <string, string> dictionary = new Dictionary <string, string>(); dictionary["Action"] = "TerminateJobFlows"; List <string> jobFlowIds = request.JobFlowIds; int num = 1; foreach (string str in jobFlowIds) { dictionary["JobFlowIds" + ".member." + num] = str; num++; } return(dictionary); }
/** * Convert TerminateJobFlowsRequest to name value pairs */ private static IDictionary <string, string> ConvertTerminateJobFlows(TerminateJobFlowsRequest request) { IDictionary <string, string> parameters = new Dictionary <string, string>(); parameters["Action"] = "TerminateJobFlows"; List <string> terminateJobFlowsRequestJobFlowIdsList = request.JobFlowIds; int terminateJobFlowsRequestJobFlowIdsListIndex = 1; foreach (string terminateJobFlowsRequestJobFlowIds in terminateJobFlowsRequestJobFlowIdsList) { parameters[String.Concat("JobFlowIds", ".member.", terminateJobFlowsRequestJobFlowIdsListIndex)] = terminateJobFlowsRequestJobFlowIds; terminateJobFlowsRequestJobFlowIdsListIndex++; } return(parameters); }
/// <summary> /// Send a request to EMR service to terminate job /// </summary> /// <param name="emrClient">EMR Client to make requests to the Amazon EMR Service</param> /// <param name="settings">Settings to replace placeholders</param> /// <param name="jobFlowId">Existing jobflow Id, can be null for the new job.</param> /// <returns>JobFlow Id, if request failed -> returns null</returns> public override async Task <string> SendAsync(IAmazonElasticMapReduce emrClient, IBuilderSettings settings, string jobFlowId) { SetTerminationProtectionRequest setTerminationProtectionRequest = new SetTerminationProtectionRequest(); setTerminationProtectionRequest.JobFlowIds = new List <string> { jobFlowId }; setTerminationProtectionRequest.TerminationProtected = false; AmazonWebServiceResponse response = await emrClient.SetTerminationProtectionAsync(setTerminationProtectionRequest); TerminateJobFlowsRequest terminateJobRequest = new TerminateJobFlowsRequest(); terminateJobRequest.JobFlowIds = new List <string> { jobFlowId }; response = await emrClient.TerminateJobFlowsAsync(terminateJobRequest); return(this.IsOk(response) ? jobFlowId : null); }
/// <summary> /// Terminate Job Flows /// </summary> /// <param name="request">Terminate Job Flows request</param> /// <returns>Terminate Job Flows Response from the service</returns> public TerminateJobFlowsResponse TerminateJobFlows(TerminateJobFlowsRequest request) { return(Invoke <TerminateJobFlowsResponse>(ConvertTerminateJobFlows(request))); }
/// <summary> /// Initiates the asynchronous execution of the TerminateJobFlows operation. /// <seealso cref="Amazon.ElasticMapReduce.AmazonElasticMapReduce.TerminateJobFlows"/> /// </summary> /// /// <param name="terminateJobFlowsRequest">Container for the necessary parameters to execute the TerminateJobFlows operation on /// AmazonElasticMapReduce.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> public IAsyncResult BeginTerminateJobFlows(TerminateJobFlowsRequest terminateJobFlowsRequest, AsyncCallback callback, object state) { return(invokeTerminateJobFlows(terminateJobFlowsRequest, callback, state, false)); }
/// <summary> /// <para> 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. </para> <para> The call to TerminateJobFlows is asynchronous. Depending on the configuration of the job flow, /// it may take up to 5-20 minutes for the job flow to completely terminate and release allocated resources, such as Amazon EC2 instances. /// </para> /// </summary> /// /// <param name="terminateJobFlowsRequest">Container for the necessary parameters to execute the TerminateJobFlows service method on /// AmazonElasticMapReduce.</param> /// /// <exception cref="InternalServerErrorException"/> public TerminateJobFlowsResponse TerminateJobFlows(TerminateJobFlowsRequest terminateJobFlowsRequest) { IAsyncResult asyncResult = invokeTerminateJobFlows(terminateJobFlowsRequest, null, null, true); return(EndTerminateJobFlows(asyncResult)); }