/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the batch-2016-08-10.normal.json service model. */ using System; using System.Runtime.ExceptionServices; using System.Threading; using System.Threading.Tasks; using System.Collections.Generic; using System.Net; using Amazon.Batch.Model; using Amazon.Batch.Model.Internal.MarshallTransformations; using Amazon.Batch.Internal; using Amazon.Runtime; using Amazon.Runtime.Internal; using Amazon.Runtime.Internal.Auth; using Amazon.Runtime.Internal.Transform; namespace Amazon.Batch { /// /// Implementation for accessing Batch /// /// Batch /// /// Using Batch, you can run batch computing workloads on the Amazon Web Services Cloud. /// Batch computing is a common means for developers, scientists, and engineers to access /// large amounts of compute resources. Batch uses the advantages of the batch computing /// to remove the undifferentiated heavy lifting of configuring and managing required /// infrastructure. At the same time, it also adopts a familiar batch computing software /// approach. You can use Batch to efficiently provision resources d, and work toward /// eliminating capacity constraints, reducing your overall compute costs, and delivering /// results more quickly. /// /// /// /// As a fully managed service, Batch can run batch computing workloads of any scale. /// Batch automatically provisions compute resources and optimizes workload distribution /// based on the quantity and scale of your specific workloads. With Batch, there's no /// need to install or manage batch computing software. This means that you can focus /// on analyzing results and solving your specific problems instead. /// /// public partial class AmazonBatchClient : AmazonServiceClient, IAmazonBatch { private static IServiceMetadata serviceMetadata = new AmazonBatchMetadata(); #region Constructors /// /// Constructs AmazonBatchClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// public AmazonBatchClient() : base(FallbackCredentialsFactory.GetCredentials(), new AmazonBatchConfig()) { } /// /// Constructs AmazonBatchClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// /// The region to connect. public AmazonBatchClient(RegionEndpoint region) : base(FallbackCredentialsFactory.GetCredentials(), new AmazonBatchConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonBatchClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// /// The AmazonBatchClient Configuration Object public AmazonBatchClient(AmazonBatchConfig config) : base(FallbackCredentialsFactory.GetCredentials(config), config){} /// /// Constructs AmazonBatchClient with AWS Credentials /// /// AWS Credentials public AmazonBatchClient(AWSCredentials credentials) : this(credentials, new AmazonBatchConfig()) { } /// /// Constructs AmazonBatchClient with AWS Credentials /// /// AWS Credentials /// The region to connect. public AmazonBatchClient(AWSCredentials credentials, RegionEndpoint region) : this(credentials, new AmazonBatchConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonBatchClient with AWS Credentials and an /// AmazonBatchClient Configuration object. /// /// AWS Credentials /// The AmazonBatchClient Configuration Object public AmazonBatchClient(AWSCredentials credentials, AmazonBatchConfig clientConfig) : base(credentials, clientConfig) { } /// /// Constructs AmazonBatchClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key public AmazonBatchClient(string awsAccessKeyId, string awsSecretAccessKey) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonBatchConfig()) { } /// /// Constructs AmazonBatchClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// The region to connect. public AmazonBatchClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonBatchConfig() {RegionEndpoint=region}) { } /// /// Constructs AmazonBatchClient with AWS Access Key ID, AWS Secret Key and an /// AmazonBatchClient Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// The AmazonBatchClient Configuration Object public AmazonBatchClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonBatchConfig clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, clientConfig) { } /// /// Constructs AmazonBatchClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token public AmazonBatchClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonBatchConfig()) { } /// /// Constructs AmazonBatchClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token /// The region to connect. public AmazonBatchClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonBatchConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonBatchClient with AWS Access Key ID, AWS Secret Key and an /// AmazonBatchClient Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token /// The AmazonBatchClient Configuration Object public AmazonBatchClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonBatchConfig clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, clientConfig) { } #endregion #if AWS_ASYNC_ENUMERABLES_API private IBatchPaginatorFactory _paginators; /// /// Paginators for the service /// public IBatchPaginatorFactory Paginators { get { if (this._paginators == null) { this._paginators = new BatchPaginatorFactory(this); } return this._paginators; } } #endif #region Overrides /// /// Creates the signer for the service. /// protected override AbstractAWSSigner CreateSigner() { return new AWS4Signer(); } /// /// Customizes the runtime pipeline. /// /// Runtime pipeline for the current client. protected override void CustomizeRuntimePipeline(RuntimePipeline pipeline) { pipeline.RemoveHandler(); pipeline.AddHandlerAfter(new AmazonBatchEndpointResolver()); } /// /// Capture metadata for the service. /// protected override IServiceMetadata ServiceMetadata { get { return serviceMetadata; } } #endregion #region Dispose /// /// Disposes the service client. /// protected override void Dispose(bool disposing) { base.Dispose(disposing); } #endregion #region CancelJob internal virtual CancelJobResponse CancelJob(CancelJobRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CancelJobRequestMarshaller.Instance; options.ResponseUnmarshaller = CancelJobResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Cancels a job in an Batch job queue. Jobs that are in the SUBMITTED or /// PENDING are canceled. A job inRUNNABLE remains in RUNNABLE /// until it reaches the head of the job queue. Then the job status is updated to FAILED. /// /// /// /// A PENDING job is canceled after all dependency jobs are completed. Therefore, /// it may take longer than expected to cancel a job in PENDING status. /// /// /// /// When you try to cancel an array parent job in PENDING, Batch attempts /// to cancel all child jobs. The array parent job is canceled when all child jobs are /// completed. /// /// /// /// Jobs that progressed to the STARTING or RUNNING state aren't /// canceled. However, the API operation still succeeds, even if no job is canceled. These /// jobs must be terminated with the TerminateJob operation. /// /// /// Container for the necessary parameters to execute the CancelJob service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CancelJob service method, as returned by Batch. /// /// These errors are usually caused by a client action. One example cause is using an /// action or resource on behalf of a user that doesn't have permissions to use the action /// or resource. Another cause is specifying an identifier that's not valid. /// /// /// These errors are usually caused by a server issue. /// /// REST API Reference for CancelJob Operation public virtual Task CancelJobAsync(CancelJobRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CancelJobRequestMarshaller.Instance; options.ResponseUnmarshaller = CancelJobResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region CreateComputeEnvironment internal virtual CreateComputeEnvironmentResponse CreateComputeEnvironment(CreateComputeEnvironmentRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateComputeEnvironmentRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateComputeEnvironmentResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Creates an Batch compute environment. You can create MANAGED or UNMANAGED /// compute environments. MANAGED compute environments can use Amazon EC2 /// or Fargate resources. UNMANAGED compute environments can only use EC2 /// resources. /// /// /// /// In a managed compute environment, Batch manages the capacity and instance types of /// the compute resources within the environment. This is based on the compute resource /// specification that you define or the launch /// template that you specify when you create the compute environment. Either, you /// can choose to use EC2 On-Demand Instances and EC2 Spot Instances. Or, you can use /// Fargate and Fargate Spot capacity in your managed compute environment. You can optionally /// set a maximum price so that Spot Instances only launch when the Spot Instance price /// is less than a specified percentage of the On-Demand price. /// /// /// /// Multi-node parallel jobs aren't supported on Spot Instances. /// /// /// /// In an unmanaged compute environment, you can manage your own EC2 compute resources /// and have flexibility with how you configure your compute resources. For example, you /// can use custom AMIs. However, you must verify that each of your AMIs meet the Amazon /// ECS container instance AMI specification. For more information, see container /// instance AMIs in the Amazon Elastic Container Service Developer Guide. /// After you created your unmanaged compute environment, you can use the DescribeComputeEnvironments /// operation to find the Amazon ECS cluster that's associated with it. Then, launch your /// container instances into that Amazon ECS cluster. For more information, see Launching /// an Amazon ECS container instance in the Amazon Elastic Container Service Developer /// Guide. /// /// /// /// To create a compute environment that uses EKS resources, the caller must have permissions /// to call eks:DescribeCluster. /// /// /// /// Batch doesn't automatically upgrade the AMIs in a compute environment after it's created. /// For example, it also doesn't update the AMIs in your compute environment when a newer /// version of the Amazon ECS optimized AMI is available. You're responsible for the management /// of the guest operating system. This includes any updates and security patches. You're /// also responsible for any additional application software or utilities that you install /// on the compute resources. There are two ways to use a new AMI for your Batch jobs. /// The original method is to complete these steps: /// ///
  1. /// /// Create a new compute environment with the new AMI. /// ///
  2. /// /// Add the compute environment to an existing job queue. /// ///
  3. /// /// Remove the earlier compute environment from your job queue. /// ///
  4. /// /// Delete the earlier compute environment. /// ///
/// /// In April 2022, Batch added enhanced support for updating compute environments. For /// more information, see Updating /// compute environments. To use the enhanced updating of compute environments to /// update AMIs, follow these rules: /// ///
  • /// /// Either don't set the service role (serviceRole) parameter or set it to /// the AWSBatchServiceRole service-linked role. /// ///
  • /// /// Set the allocation strategy (allocationStrategy) parameter to BEST_FIT_PROGRESSIVE /// or SPOT_CAPACITY_OPTIMIZED. /// ///
  • /// /// Set the update to latest image version (updateToLatestImageVersion) parameter /// to true. The updateToLatestImageVersion parameter is used /// when you update a compute environment. This parameter is ignored when you create a /// compute environment. /// ///
  • /// /// Don't specify an AMI ID in imageId, imageIdOverride (in /// /// ec2Configuration ), or in the launch template (launchTemplate). /// In that case, Batch selects the latest Amazon ECS optimized AMI that's supported by /// Batch at the time the infrastructure update is initiated. Alternatively, you can specify /// the AMI ID in the imageId or imageIdOverride parameters, /// or the launch template identified by the LaunchTemplate properties. Changing /// any of these properties starts an infrastructure update. If the AMI ID is specified /// in the launch template, it can't be replaced by specifying an AMI ID in either the /// imageId or imageIdOverride parameters. It can only be replaced /// by specifying a different launch template, or if the launch template version is set /// to $Default or $Latest, by setting either a new default /// version for the launch template (if $Default) or by adding a new version /// to the launch template (if $Latest). /// ///
/// /// If these rules are followed, any update that starts an infrastructure update causes /// the AMI ID to be re-selected. If the version setting in the launch template /// (launchTemplate) is set to $Latest or $Default, /// the latest or default version of the launch template is evaluated up at the time of /// the infrastructure update, even if the launchTemplate wasn't updated. /// ///
///
/// Container for the necessary parameters to execute the CreateComputeEnvironment service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CreateComputeEnvironment service method, as returned by Batch. /// /// These errors are usually caused by a client action. One example cause is using an /// action or resource on behalf of a user that doesn't have permissions to use the action /// or resource. Another cause is specifying an identifier that's not valid. /// /// /// These errors are usually caused by a server issue. /// /// REST API Reference for CreateComputeEnvironment Operation public virtual Task CreateComputeEnvironmentAsync(CreateComputeEnvironmentRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateComputeEnvironmentRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateComputeEnvironmentResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region CreateJobQueue internal virtual CreateJobQueueResponse CreateJobQueue(CreateJobQueueRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateJobQueueRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateJobQueueResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Creates an Batch job queue. When you create a job queue, you associate one or more /// compute environments to the queue and assign an order of preference for the compute /// environments. /// /// /// /// You also set a priority to the job queue that determines the order that the Batch /// scheduler places jobs onto its associated compute environments. For example, if a /// compute environment is associated with more than one job queue, the job queue with /// a higher priority is given preference for scheduling jobs to that compute environment. /// /// /// Container for the necessary parameters to execute the CreateJobQueue service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CreateJobQueue service method, as returned by Batch. /// /// These errors are usually caused by a client action. One example cause is using an /// action or resource on behalf of a user that doesn't have permissions to use the action /// or resource. Another cause is specifying an identifier that's not valid. /// /// /// These errors are usually caused by a server issue. /// /// REST API Reference for CreateJobQueue Operation public virtual Task CreateJobQueueAsync(CreateJobQueueRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateJobQueueRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateJobQueueResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region CreateSchedulingPolicy internal virtual CreateSchedulingPolicyResponse CreateSchedulingPolicy(CreateSchedulingPolicyRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateSchedulingPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateSchedulingPolicyResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Creates an Batch scheduling policy. /// /// Container for the necessary parameters to execute the CreateSchedulingPolicy service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CreateSchedulingPolicy service method, as returned by Batch. /// /// These errors are usually caused by a client action. One example cause is using an /// action or resource on behalf of a user that doesn't have permissions to use the action /// or resource. Another cause is specifying an identifier that's not valid. /// /// /// These errors are usually caused by a server issue. /// /// REST API Reference for CreateSchedulingPolicy Operation public virtual Task CreateSchedulingPolicyAsync(CreateSchedulingPolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateSchedulingPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateSchedulingPolicyResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteComputeEnvironment internal virtual DeleteComputeEnvironmentResponse DeleteComputeEnvironment(DeleteComputeEnvironmentRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteComputeEnvironmentRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteComputeEnvironmentResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Deletes an Batch compute environment. /// /// /// /// Before you can delete a compute environment, you must set its state to DISABLED /// with the UpdateComputeEnvironment API operation and disassociate it from any /// job queues with the UpdateJobQueue API operation. Compute environments that /// use Fargate resources must terminate all active jobs on that compute environment before /// deleting the compute environment. If this isn't done, the compute environment enters /// an invalid state. /// /// /// Container for the necessary parameters to execute the DeleteComputeEnvironment service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteComputeEnvironment service method, as returned by Batch. /// /// These errors are usually caused by a client action. One example cause is using an /// action or resource on behalf of a user that doesn't have permissions to use the action /// or resource. Another cause is specifying an identifier that's not valid. /// /// /// These errors are usually caused by a server issue. /// /// REST API Reference for DeleteComputeEnvironment Operation public virtual Task DeleteComputeEnvironmentAsync(DeleteComputeEnvironmentRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteComputeEnvironmentRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteComputeEnvironmentResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteJobQueue internal virtual DeleteJobQueueResponse DeleteJobQueue(DeleteJobQueueRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteJobQueueRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteJobQueueResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Deletes the specified job queue. You must first disable submissions for a queue with /// the UpdateJobQueue operation. All jobs in the queue are eventually terminated /// when you delete a job queue. The jobs are terminated at a rate of about 16 jobs each /// second. /// /// /// /// It's not necessary to disassociate compute environments from a queue before submitting /// a DeleteJobQueue request. /// /// /// Container for the necessary parameters to execute the DeleteJobQueue service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteJobQueue service method, as returned by Batch. /// /// These errors are usually caused by a client action. One example cause is using an /// action or resource on behalf of a user that doesn't have permissions to use the action /// or resource. Another cause is specifying an identifier that's not valid. /// /// /// These errors are usually caused by a server issue. /// /// REST API Reference for DeleteJobQueue Operation public virtual Task DeleteJobQueueAsync(DeleteJobQueueRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteJobQueueRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteJobQueueResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteSchedulingPolicy internal virtual DeleteSchedulingPolicyResponse DeleteSchedulingPolicy(DeleteSchedulingPolicyRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteSchedulingPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteSchedulingPolicyResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Deletes the specified scheduling policy. /// /// /// /// You can't delete a scheduling policy that's used in any job queues. /// /// /// Container for the necessary parameters to execute the DeleteSchedulingPolicy service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteSchedulingPolicy service method, as returned by Batch. /// /// These errors are usually caused by a client action. One example cause is using an /// action or resource on behalf of a user that doesn't have permissions to use the action /// or resource. Another cause is specifying an identifier that's not valid. /// /// /// These errors are usually caused by a server issue. /// /// REST API Reference for DeleteSchedulingPolicy Operation public virtual Task DeleteSchedulingPolicyAsync(DeleteSchedulingPolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteSchedulingPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteSchedulingPolicyResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeregisterJobDefinition internal virtual DeregisterJobDefinitionResponse DeregisterJobDefinition(DeregisterJobDefinitionRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeregisterJobDefinitionRequestMarshaller.Instance; options.ResponseUnmarshaller = DeregisterJobDefinitionResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Deregisters an Batch job definition. Job definitions are permanently deleted after /// 180 days. /// /// Container for the necessary parameters to execute the DeregisterJobDefinition service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeregisterJobDefinition service method, as returned by Batch. /// /// These errors are usually caused by a client action. One example cause is using an /// action or resource on behalf of a user that doesn't have permissions to use the action /// or resource. Another cause is specifying an identifier that's not valid. /// /// /// These errors are usually caused by a server issue. /// /// REST API Reference for DeregisterJobDefinition Operation public virtual Task DeregisterJobDefinitionAsync(DeregisterJobDefinitionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeregisterJobDefinitionRequestMarshaller.Instance; options.ResponseUnmarshaller = DeregisterJobDefinitionResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DescribeComputeEnvironments internal virtual DescribeComputeEnvironmentsResponse DescribeComputeEnvironments(DescribeComputeEnvironmentsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeComputeEnvironmentsRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeComputeEnvironmentsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Describes one or more of your compute environments. /// /// /// /// If you're using an unmanaged compute environment, you can use the DescribeComputeEnvironment /// operation to determine the ecsClusterArn that you launch your Amazon /// ECS container instances into. /// /// /// Container for the necessary parameters to execute the DescribeComputeEnvironments service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DescribeComputeEnvironments service method, as returned by Batch. /// /// These errors are usually caused by a client action. One example cause is using an /// action or resource on behalf of a user that doesn't have permissions to use the action /// or resource. Another cause is specifying an identifier that's not valid. /// /// /// These errors are usually caused by a server issue. /// /// REST API Reference for DescribeComputeEnvironments Operation public virtual Task DescribeComputeEnvironmentsAsync(DescribeComputeEnvironmentsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeComputeEnvironmentsRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeComputeEnvironmentsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DescribeJobDefinitions internal virtual DescribeJobDefinitionsResponse DescribeJobDefinitions(DescribeJobDefinitionsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeJobDefinitionsRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeJobDefinitionsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Describes a list of job definitions. You can specify a status (such as /// ACTIVE) to only return job definitions that match that status. /// /// Container for the necessary parameters to execute the DescribeJobDefinitions service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DescribeJobDefinitions service method, as returned by Batch. /// /// These errors are usually caused by a client action. One example cause is using an /// action or resource on behalf of a user that doesn't have permissions to use the action /// or resource. Another cause is specifying an identifier that's not valid. /// /// /// These errors are usually caused by a server issue. /// /// REST API Reference for DescribeJobDefinitions Operation public virtual Task DescribeJobDefinitionsAsync(DescribeJobDefinitionsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeJobDefinitionsRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeJobDefinitionsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DescribeJobQueues internal virtual DescribeJobQueuesResponse DescribeJobQueues(DescribeJobQueuesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeJobQueuesRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeJobQueuesResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Describes one or more of your job queues. /// /// Container for the necessary parameters to execute the DescribeJobQueues service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DescribeJobQueues service method, as returned by Batch. /// /// These errors are usually caused by a client action. One example cause is using an /// action or resource on behalf of a user that doesn't have permissions to use the action /// or resource. Another cause is specifying an identifier that's not valid. /// /// /// These errors are usually caused by a server issue. /// /// REST API Reference for DescribeJobQueues Operation public virtual Task DescribeJobQueuesAsync(DescribeJobQueuesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeJobQueuesRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeJobQueuesResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DescribeJobs internal virtual DescribeJobsResponse DescribeJobs(DescribeJobsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeJobsRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeJobsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Describes a list of Batch jobs. /// /// Container for the necessary parameters to execute the DescribeJobs service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DescribeJobs service method, as returned by Batch. /// /// These errors are usually caused by a client action. One example cause is using an /// action or resource on behalf of a user that doesn't have permissions to use the action /// or resource. Another cause is specifying an identifier that's not valid. /// /// /// These errors are usually caused by a server issue. /// /// REST API Reference for DescribeJobs Operation public virtual Task DescribeJobsAsync(DescribeJobsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeJobsRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeJobsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DescribeSchedulingPolicies internal virtual DescribeSchedulingPoliciesResponse DescribeSchedulingPolicies(DescribeSchedulingPoliciesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeSchedulingPoliciesRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeSchedulingPoliciesResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Describes one or more of your scheduling policies. /// /// Container for the necessary parameters to execute the DescribeSchedulingPolicies service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DescribeSchedulingPolicies service method, as returned by Batch. /// /// These errors are usually caused by a client action. One example cause is using an /// action or resource on behalf of a user that doesn't have permissions to use the action /// or resource. Another cause is specifying an identifier that's not valid. /// /// /// These errors are usually caused by a server issue. /// /// REST API Reference for DescribeSchedulingPolicies Operation public virtual Task DescribeSchedulingPoliciesAsync(DescribeSchedulingPoliciesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeSchedulingPoliciesRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeSchedulingPoliciesResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListJobs internal virtual ListJobsResponse ListJobs(ListJobsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListJobsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListJobsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Returns a list of Batch jobs. /// /// /// /// You must specify only one of the following items: /// ///
  • /// /// A job queue ID to return a list of jobs in that job queue /// ///
  • /// /// A multi-node parallel job ID to return a list of nodes for that job /// ///
  • /// /// An array job ID to return a list of the children for that job /// ///
/// /// You can filter the results by job status with the jobStatus parameter. /// If you don't specify a status, only RUNNING jobs are returned. /// ///
/// Container for the necessary parameters to execute the ListJobs service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListJobs service method, as returned by Batch. /// /// These errors are usually caused by a client action. One example cause is using an /// action or resource on behalf of a user that doesn't have permissions to use the action /// or resource. Another cause is specifying an identifier that's not valid. /// /// /// These errors are usually caused by a server issue. /// /// REST API Reference for ListJobs Operation public virtual Task ListJobsAsync(ListJobsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListJobsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListJobsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListSchedulingPolicies internal virtual ListSchedulingPoliciesResponse ListSchedulingPolicies(ListSchedulingPoliciesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListSchedulingPoliciesRequestMarshaller.Instance; options.ResponseUnmarshaller = ListSchedulingPoliciesResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Returns a list of Batch scheduling policies. /// /// Container for the necessary parameters to execute the ListSchedulingPolicies service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListSchedulingPolicies service method, as returned by Batch. /// /// These errors are usually caused by a client action. One example cause is using an /// action or resource on behalf of a user that doesn't have permissions to use the action /// or resource. Another cause is specifying an identifier that's not valid. /// /// /// These errors are usually caused by a server issue. /// /// REST API Reference for ListSchedulingPolicies Operation public virtual Task ListSchedulingPoliciesAsync(ListSchedulingPoliciesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListSchedulingPoliciesRequestMarshaller.Instance; options.ResponseUnmarshaller = ListSchedulingPoliciesResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListTagsForResource internal virtual ListTagsForResourceResponse ListTagsForResource(ListTagsForResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Lists the tags for an Batch resource. Batch resources that support tags are compute /// environments, jobs, job definitions, job queues, and scheduling policies. ARNs for /// child jobs of array and multi-node parallel (MNP) jobs aren't supported. /// /// Container for the necessary parameters to execute the ListTagsForResource service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListTagsForResource service method, as returned by Batch. /// /// These errors are usually caused by a client action. One example cause is using an /// action or resource on behalf of a user that doesn't have permissions to use the action /// or resource. Another cause is specifying an identifier that's not valid. /// /// /// These errors are usually caused by a server issue. /// /// REST API Reference for ListTagsForResource Operation public virtual Task ListTagsForResourceAsync(ListTagsForResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region RegisterJobDefinition internal virtual RegisterJobDefinitionResponse RegisterJobDefinition(RegisterJobDefinitionRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = RegisterJobDefinitionRequestMarshaller.Instance; options.ResponseUnmarshaller = RegisterJobDefinitionResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Registers an Batch job definition. /// /// Container for the necessary parameters to execute the RegisterJobDefinition service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the RegisterJobDefinition service method, as returned by Batch. /// /// These errors are usually caused by a client action. One example cause is using an /// action or resource on behalf of a user that doesn't have permissions to use the action /// or resource. Another cause is specifying an identifier that's not valid. /// /// /// These errors are usually caused by a server issue. /// /// REST API Reference for RegisterJobDefinition Operation public virtual Task RegisterJobDefinitionAsync(RegisterJobDefinitionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = RegisterJobDefinitionRequestMarshaller.Instance; options.ResponseUnmarshaller = RegisterJobDefinitionResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region SubmitJob internal virtual SubmitJobResponse SubmitJob(SubmitJobRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = SubmitJobRequestMarshaller.Instance; options.ResponseUnmarshaller = SubmitJobResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Submits an Batch job from a job definition. Parameters that are specified during SubmitJob /// override parameters defined in the job definition. vCPU and memory requirements that /// are specified in the resourceRequirements objects in the job definition /// are the exception. They can't be overridden this way using the memory /// and vcpus parameters. Rather, you must specify updates to job definition /// parameters in a resourceRequirements object that's included in the containerOverrides /// parameter. /// /// /// /// Job queues with a scheduling policy are limited to 500 active fair share identifiers /// at a time. /// /// /// /// Jobs that run on Fargate resources can't be guaranteed to run for more than 14 days. /// This is because, after 14 days, Fargate resources might become unavailable and job /// might be terminated. /// /// /// /// Container for the necessary parameters to execute the SubmitJob service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the SubmitJob service method, as returned by Batch. /// /// These errors are usually caused by a client action. One example cause is using an /// action or resource on behalf of a user that doesn't have permissions to use the action /// or resource. Another cause is specifying an identifier that's not valid. /// /// /// These errors are usually caused by a server issue. /// /// REST API Reference for SubmitJob Operation public virtual Task SubmitJobAsync(SubmitJobRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = SubmitJobRequestMarshaller.Instance; options.ResponseUnmarshaller = SubmitJobResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region TagResource internal virtual TagResourceResponse TagResource(TagResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = TagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Associates the specified tags to a resource with the specified resourceArn. /// If existing tags on a resource aren't specified in the request parameters, they aren't /// changed. When a resource is deleted, the tags that are associated with that resource /// are deleted as well. Batch resources that support tags are compute environments, jobs, /// job definitions, job queues, and scheduling policies. ARNs for child jobs of array /// and multi-node parallel (MNP) jobs aren't supported. /// /// Container for the necessary parameters to execute the TagResource service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the TagResource service method, as returned by Batch. /// /// These errors are usually caused by a client action. One example cause is using an /// action or resource on behalf of a user that doesn't have permissions to use the action /// or resource. Another cause is specifying an identifier that's not valid. /// /// /// These errors are usually caused by a server issue. /// /// REST API Reference for TagResource Operation public virtual Task TagResourceAsync(TagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = TagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region TerminateJob internal virtual TerminateJobResponse TerminateJob(TerminateJobRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = TerminateJobRequestMarshaller.Instance; options.ResponseUnmarshaller = TerminateJobResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Terminates a job in a job queue. Jobs that are in the STARTING or RUNNING /// state are terminated, which causes them to transition to FAILED. Jobs /// that have not progressed to the STARTING state are cancelled. /// /// Container for the necessary parameters to execute the TerminateJob service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the TerminateJob service method, as returned by Batch. /// /// These errors are usually caused by a client action. One example cause is using an /// action or resource on behalf of a user that doesn't have permissions to use the action /// or resource. Another cause is specifying an identifier that's not valid. /// /// /// These errors are usually caused by a server issue. /// /// REST API Reference for TerminateJob Operation public virtual Task TerminateJobAsync(TerminateJobRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = TerminateJobRequestMarshaller.Instance; options.ResponseUnmarshaller = TerminateJobResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region UntagResource internal virtual UntagResourceResponse UntagResource(UntagResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UntagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Deletes specified tags from an Batch resource. /// /// Container for the necessary parameters to execute the UntagResource service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UntagResource service method, as returned by Batch. /// /// These errors are usually caused by a client action. One example cause is using an /// action or resource on behalf of a user that doesn't have permissions to use the action /// or resource. Another cause is specifying an identifier that's not valid. /// /// /// These errors are usually caused by a server issue. /// /// REST API Reference for UntagResource Operation public virtual Task UntagResourceAsync(UntagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UntagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region UpdateComputeEnvironment internal virtual UpdateComputeEnvironmentResponse UpdateComputeEnvironment(UpdateComputeEnvironmentRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateComputeEnvironmentRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateComputeEnvironmentResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Updates an Batch compute environment. /// /// Container for the necessary parameters to execute the UpdateComputeEnvironment service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UpdateComputeEnvironment service method, as returned by Batch. /// /// These errors are usually caused by a client action. One example cause is using an /// action or resource on behalf of a user that doesn't have permissions to use the action /// or resource. Another cause is specifying an identifier that's not valid. /// /// /// These errors are usually caused by a server issue. /// /// REST API Reference for UpdateComputeEnvironment Operation public virtual Task UpdateComputeEnvironmentAsync(UpdateComputeEnvironmentRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateComputeEnvironmentRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateComputeEnvironmentResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region UpdateJobQueue internal virtual UpdateJobQueueResponse UpdateJobQueue(UpdateJobQueueRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateJobQueueRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateJobQueueResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Updates a job queue. /// /// Container for the necessary parameters to execute the UpdateJobQueue service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UpdateJobQueue service method, as returned by Batch. /// /// These errors are usually caused by a client action. One example cause is using an /// action or resource on behalf of a user that doesn't have permissions to use the action /// or resource. Another cause is specifying an identifier that's not valid. /// /// /// These errors are usually caused by a server issue. /// /// REST API Reference for UpdateJobQueue Operation public virtual Task UpdateJobQueueAsync(UpdateJobQueueRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateJobQueueRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateJobQueueResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region UpdateSchedulingPolicy internal virtual UpdateSchedulingPolicyResponse UpdateSchedulingPolicy(UpdateSchedulingPolicyRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateSchedulingPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateSchedulingPolicyResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Updates a scheduling policy. /// /// Container for the necessary parameters to execute the UpdateSchedulingPolicy service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UpdateSchedulingPolicy service method, as returned by Batch. /// /// These errors are usually caused by a client action. One example cause is using an /// action or resource on behalf of a user that doesn't have permissions to use the action /// or resource. Another cause is specifying an identifier that's not valid. /// /// /// These errors are usually caused by a server issue. /// /// REST API Reference for UpdateSchedulingPolicy Operation public virtual Task UpdateSchedulingPolicyAsync(UpdateSchedulingPolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateSchedulingPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateSchedulingPolicyResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion } }