Container for the parameters to the SubmitJob operation. Submits an AWS Batch job from a job definition. Parameters specified during SubmitJob override parameters defined in the job definition.
Inheritance: AmazonBatchRequest
Esempio n. 1
0
 private Amazon.Batch.Model.SubmitJobResponse CallAWSServiceOperation(IAmazonBatch client, Amazon.Batch.Model.SubmitJobRequest request)
 {
     Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Batch", "SubmitJob");
     try
     {
         #if DESKTOP
         return(client.SubmitJob(request));
         #elif CORECLR
         return(client.SubmitJobAsync(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;
     }
 }
Esempio n. 2
0
        public object Execute(ExecutorContext context)
        {
            var cmdletContext = context as CmdletContext;
            // create request
            var request = new Amazon.Batch.Model.SubmitJobRequest();


            // populate ArrayProperties
            var requestArrayPropertiesIsNull = true;

            request.ArrayProperties = new Amazon.Batch.Model.ArrayProperties();
            System.Int32?requestArrayProperties_arrayProperties_Size = null;
            if (cmdletContext.ArrayProperties_Size != null)
            {
                requestArrayProperties_arrayProperties_Size = cmdletContext.ArrayProperties_Size.Value;
            }
            if (requestArrayProperties_arrayProperties_Size != null)
            {
                request.ArrayProperties.Size = requestArrayProperties_arrayProperties_Size.Value;
                requestArrayPropertiesIsNull = false;
            }
            // determine if request.ArrayProperties should be set to null
            if (requestArrayPropertiesIsNull)
            {
                request.ArrayProperties = null;
            }

            // populate ContainerOverrides
            var requestContainerOverridesIsNull = true;

            request.ContainerOverrides = new Amazon.Batch.Model.ContainerOverrides();
            List <System.String> requestContainerOverrides_containerOverrides_Command = null;

            if (cmdletContext.ContainerOverrides_Command != null)
            {
                requestContainerOverrides_containerOverrides_Command = cmdletContext.ContainerOverrides_Command;
            }
            if (requestContainerOverrides_containerOverrides_Command != null)
            {
                request.ContainerOverrides.Command = requestContainerOverrides_containerOverrides_Command;
                requestContainerOverridesIsNull    = false;
            }
            List <Amazon.Batch.Model.KeyValuePair> requestContainerOverrides_containerOverrides_Environment = null;

            if (cmdletContext.ContainerOverrides_Environment != null)
            {
                requestContainerOverrides_containerOverrides_Environment = cmdletContext.ContainerOverrides_Environment;
            }
            if (requestContainerOverrides_containerOverrides_Environment != null)
            {
                request.ContainerOverrides.Environment = requestContainerOverrides_containerOverrides_Environment;
                requestContainerOverridesIsNull        = false;
            }
            System.String requestContainerOverrides_containerOverrides_InstanceType = null;
            if (cmdletContext.ContainerOverrides_InstanceType != null)
            {
                requestContainerOverrides_containerOverrides_InstanceType = cmdletContext.ContainerOverrides_InstanceType;
            }
            if (requestContainerOverrides_containerOverrides_InstanceType != null)
            {
                request.ContainerOverrides.InstanceType = requestContainerOverrides_containerOverrides_InstanceType;
                requestContainerOverridesIsNull         = false;
            }
            System.Int32?requestContainerOverrides_containerOverrides_Memory = null;
            if (cmdletContext.ContainerOverrides_Memory != null)
            {
                requestContainerOverrides_containerOverrides_Memory = cmdletContext.ContainerOverrides_Memory.Value;
            }
            if (requestContainerOverrides_containerOverrides_Memory != null)
            {
                request.ContainerOverrides.Memory = requestContainerOverrides_containerOverrides_Memory.Value;
                requestContainerOverridesIsNull   = false;
            }
            List <Amazon.Batch.Model.ResourceRequirement> requestContainerOverrides_containerOverrides_ResourceRequirement = null;

            if (cmdletContext.ContainerOverrides_ResourceRequirement != null)
            {
                requestContainerOverrides_containerOverrides_ResourceRequirement = cmdletContext.ContainerOverrides_ResourceRequirement;
            }
            if (requestContainerOverrides_containerOverrides_ResourceRequirement != null)
            {
                request.ContainerOverrides.ResourceRequirements = requestContainerOverrides_containerOverrides_ResourceRequirement;
                requestContainerOverridesIsNull = false;
            }
            System.Int32?requestContainerOverrides_containerOverrides_Vcpus = null;
            if (cmdletContext.ContainerOverrides_Vcpus != null)
            {
                requestContainerOverrides_containerOverrides_Vcpus = cmdletContext.ContainerOverrides_Vcpus.Value;
            }
            if (requestContainerOverrides_containerOverrides_Vcpus != null)
            {
                request.ContainerOverrides.Vcpus = requestContainerOverrides_containerOverrides_Vcpus.Value;
                requestContainerOverridesIsNull  = false;
            }
            // determine if request.ContainerOverrides should be set to null
            if (requestContainerOverridesIsNull)
            {
                request.ContainerOverrides = null;
            }
            if (cmdletContext.DependsOn != null)
            {
                request.DependsOn = cmdletContext.DependsOn;
            }
            if (cmdletContext.JobDefinition != null)
            {
                request.JobDefinition = cmdletContext.JobDefinition;
            }
            if (cmdletContext.JobName != null)
            {
                request.JobName = cmdletContext.JobName;
            }
            if (cmdletContext.JobQueue != null)
            {
                request.JobQueue = cmdletContext.JobQueue;
            }

            // populate NodeOverrides
            var requestNodeOverridesIsNull = true;

            request.NodeOverrides = new Amazon.Batch.Model.NodeOverrides();
            List <Amazon.Batch.Model.NodePropertyOverride> requestNodeOverrides_nodeOverrides_NodePropertyOverride = null;

            if (cmdletContext.NodeOverrides_NodePropertyOverride != null)
            {
                requestNodeOverrides_nodeOverrides_NodePropertyOverride = cmdletContext.NodeOverrides_NodePropertyOverride;
            }
            if (requestNodeOverrides_nodeOverrides_NodePropertyOverride != null)
            {
                request.NodeOverrides.NodePropertyOverrides = requestNodeOverrides_nodeOverrides_NodePropertyOverride;
                requestNodeOverridesIsNull = false;
            }
            System.Int32?requestNodeOverrides_nodeOverrides_NumNode = null;
            if (cmdletContext.NodeOverrides_NumNode != null)
            {
                requestNodeOverrides_nodeOverrides_NumNode = cmdletContext.NodeOverrides_NumNode.Value;
            }
            if (requestNodeOverrides_nodeOverrides_NumNode != null)
            {
                request.NodeOverrides.NumNodes = requestNodeOverrides_nodeOverrides_NumNode.Value;
                requestNodeOverridesIsNull     = false;
            }
            // determine if request.NodeOverrides should be set to null
            if (requestNodeOverridesIsNull)
            {
                request.NodeOverrides = null;
            }
            if (cmdletContext.Parameter != null)
            {
                request.Parameters = cmdletContext.Parameter;
            }

            // populate RetryStrategy
            var requestRetryStrategyIsNull = true;

            request.RetryStrategy = new Amazon.Batch.Model.RetryStrategy();
            System.Int32?requestRetryStrategy_retryStrategy_Attempt = null;
            if (cmdletContext.RetryStrategy_Attempt != null)
            {
                requestRetryStrategy_retryStrategy_Attempt = cmdletContext.RetryStrategy_Attempt.Value;
            }
            if (requestRetryStrategy_retryStrategy_Attempt != null)
            {
                request.RetryStrategy.Attempts = requestRetryStrategy_retryStrategy_Attempt.Value;
                requestRetryStrategyIsNull     = false;
            }
            // determine if request.RetryStrategy should be set to null
            if (requestRetryStrategyIsNull)
            {
                request.RetryStrategy = null;
            }
            if (cmdletContext.Timeout != null)
            {
                request.Timeout = cmdletContext.Timeout;
            }

            CmdletOutput output;

            // issue call
            var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint);

            try
            {
                var    response       = CallAWSServiceOperation(client, request);
                object pipelineOutput = null;
                pipelineOutput = cmdletContext.Select(response, this);
                output         = new CmdletOutput
                {
                    PipelineOutput  = pipelineOutput,
                    ServiceResponse = response
                };
            }
            catch (Exception e)
            {
                output = new CmdletOutput {
                    ErrorResponse = e
                };
            }

            return(output);
        }
Esempio n. 3
0
        internal SubmitJobResponse SubmitJob(SubmitJobRequest request)
        {
            var marshaller = new SubmitJobRequestMarshaller();
            var unmarshaller = SubmitJobResponseUnmarshaller.Instance;

            return Invoke<SubmitJobRequest,SubmitJobResponse>(request, marshaller, unmarshaller);
        }
Esempio n. 4
0
        /// <summary>
        /// Initiates the asynchronous execution of the SubmitJob operation.
        /// </summary>
        /// 
        /// <param name="request">Container for the necessary parameters to execute the SubmitJob 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<SubmitJobResponse> SubmitJobAsync(SubmitJobRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var marshaller = new SubmitJobRequestMarshaller();
            var unmarshaller = SubmitJobResponseUnmarshaller.Instance;

            return InvokeAsync<SubmitJobRequest,SubmitJobResponse>(request, marshaller, 
                unmarshaller, cancellationToken);
        }
Esempio n. 5
0
        /// <summary>
        /// Initiates the asynchronous execution of the SubmitJob operation.
        /// </summary>
        /// 
        /// <param name="request">Container for the necessary parameters to execute the SubmitJob operation on AmazonBatchClient.</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>
        /// 
        /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndSubmitJob
        ///         operation.</returns>
        public IAsyncResult BeginSubmitJob(SubmitJobRequest request, AsyncCallback callback, object state)
        {
            var marshaller = new SubmitJobRequestMarshaller();
            var unmarshaller = SubmitJobResponseUnmarshaller.Instance;

            return BeginInvoke<SubmitJobRequest>(request, marshaller, unmarshaller,
                callback, state);
        }