/// <summary> /// Send a request to EMR service to add new step/steps /// </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) { AddJobFlowStepsRequestBuilder builder = new AddJobFlowStepsRequestBuilder(settings); AddJobFlowStepsRequest request = builder.Build(jobFlowId, this.steps); AddJobFlowStepsResponse response = await emrClient.AddJobFlowStepsAsync(request); return(this.IsOk(response) ? jobFlowId : null); }
private Amazon.ElasticMapReduce.Model.AddJobFlowStepsResponse CallAWSServiceOperation(IAmazonElasticMapReduce client, Amazon.ElasticMapReduce.Model.AddJobFlowStepsRequest request) { Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Elastic MapReduce", "AddJobFlowSteps"); try { #if DESKTOP return(client.AddJobFlowSteps(request)); #elif CORECLR return(client.AddJobFlowStepsAsync(request).GetAwaiter().GetResult()); #else #error "Unknown build edition" #endif } catch (AmazonServiceException exc) { var webException = exc.InnerException as System.Net.WebException; if (webException != null) { throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); } throw; } }