feat(hos_client_create, hos_client_destory): 多次调用destory不会导致重复释放

This commit is contained in:
彭宣正
2020-12-14 17:24:58 +08:00
parent 505d529c32
commit 10b370e486
55976 changed files with 8544395 additions and 2 deletions

View File

@@ -0,0 +1,825 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/batch/BatchErrors.h>
#include <aws/core/client/AWSError.h>
#include <aws/core/client/ClientConfiguration.h>
#include <aws/core/client/AWSClient.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <aws/batch/model/CancelJobResult.h>
#include <aws/batch/model/CreateComputeEnvironmentResult.h>
#include <aws/batch/model/CreateJobQueueResult.h>
#include <aws/batch/model/DeleteComputeEnvironmentResult.h>
#include <aws/batch/model/DeleteJobQueueResult.h>
#include <aws/batch/model/DeregisterJobDefinitionResult.h>
#include <aws/batch/model/DescribeComputeEnvironmentsResult.h>
#include <aws/batch/model/DescribeJobDefinitionsResult.h>
#include <aws/batch/model/DescribeJobQueuesResult.h>
#include <aws/batch/model/DescribeJobsResult.h>
#include <aws/batch/model/ListJobsResult.h>
#include <aws/batch/model/RegisterJobDefinitionResult.h>
#include <aws/batch/model/SubmitJobResult.h>
#include <aws/batch/model/TerminateJobResult.h>
#include <aws/batch/model/UpdateComputeEnvironmentResult.h>
#include <aws/batch/model/UpdateJobQueueResult.h>
#include <aws/core/client/AsyncCallerContext.h>
#include <aws/core/http/HttpTypes.h>
#include <future>
#include <functional>
namespace Aws
{
namespace Http
{
class HttpClient;
class HttpClientFactory;
} // namespace Http
namespace Utils
{
template< typename R, typename E> class Outcome;
namespace Threading
{
class Executor;
} // namespace Threading
} // namespace Utils
namespace Auth
{
class AWSCredentials;
class AWSCredentialsProvider;
} // namespace Auth
namespace Client
{
class RetryStrategy;
} // namespace Client
namespace Batch
{
namespace Model
{
class CancelJobRequest;
class CreateComputeEnvironmentRequest;
class CreateJobQueueRequest;
class DeleteComputeEnvironmentRequest;
class DeleteJobQueueRequest;
class DeregisterJobDefinitionRequest;
class DescribeComputeEnvironmentsRequest;
class DescribeJobDefinitionsRequest;
class DescribeJobQueuesRequest;
class DescribeJobsRequest;
class ListJobsRequest;
class RegisterJobDefinitionRequest;
class SubmitJobRequest;
class TerminateJobRequest;
class UpdateComputeEnvironmentRequest;
class UpdateJobQueueRequest;
typedef Aws::Utils::Outcome<CancelJobResult, BatchError> CancelJobOutcome;
typedef Aws::Utils::Outcome<CreateComputeEnvironmentResult, BatchError> CreateComputeEnvironmentOutcome;
typedef Aws::Utils::Outcome<CreateJobQueueResult, BatchError> CreateJobQueueOutcome;
typedef Aws::Utils::Outcome<DeleteComputeEnvironmentResult, BatchError> DeleteComputeEnvironmentOutcome;
typedef Aws::Utils::Outcome<DeleteJobQueueResult, BatchError> DeleteJobQueueOutcome;
typedef Aws::Utils::Outcome<DeregisterJobDefinitionResult, BatchError> DeregisterJobDefinitionOutcome;
typedef Aws::Utils::Outcome<DescribeComputeEnvironmentsResult, BatchError> DescribeComputeEnvironmentsOutcome;
typedef Aws::Utils::Outcome<DescribeJobDefinitionsResult, BatchError> DescribeJobDefinitionsOutcome;
typedef Aws::Utils::Outcome<DescribeJobQueuesResult, BatchError> DescribeJobQueuesOutcome;
typedef Aws::Utils::Outcome<DescribeJobsResult, BatchError> DescribeJobsOutcome;
typedef Aws::Utils::Outcome<ListJobsResult, BatchError> ListJobsOutcome;
typedef Aws::Utils::Outcome<RegisterJobDefinitionResult, BatchError> RegisterJobDefinitionOutcome;
typedef Aws::Utils::Outcome<SubmitJobResult, BatchError> SubmitJobOutcome;
typedef Aws::Utils::Outcome<TerminateJobResult, BatchError> TerminateJobOutcome;
typedef Aws::Utils::Outcome<UpdateComputeEnvironmentResult, BatchError> UpdateComputeEnvironmentOutcome;
typedef Aws::Utils::Outcome<UpdateJobQueueResult, BatchError> UpdateJobQueueOutcome;
typedef std::future<CancelJobOutcome> CancelJobOutcomeCallable;
typedef std::future<CreateComputeEnvironmentOutcome> CreateComputeEnvironmentOutcomeCallable;
typedef std::future<CreateJobQueueOutcome> CreateJobQueueOutcomeCallable;
typedef std::future<DeleteComputeEnvironmentOutcome> DeleteComputeEnvironmentOutcomeCallable;
typedef std::future<DeleteJobQueueOutcome> DeleteJobQueueOutcomeCallable;
typedef std::future<DeregisterJobDefinitionOutcome> DeregisterJobDefinitionOutcomeCallable;
typedef std::future<DescribeComputeEnvironmentsOutcome> DescribeComputeEnvironmentsOutcomeCallable;
typedef std::future<DescribeJobDefinitionsOutcome> DescribeJobDefinitionsOutcomeCallable;
typedef std::future<DescribeJobQueuesOutcome> DescribeJobQueuesOutcomeCallable;
typedef std::future<DescribeJobsOutcome> DescribeJobsOutcomeCallable;
typedef std::future<ListJobsOutcome> ListJobsOutcomeCallable;
typedef std::future<RegisterJobDefinitionOutcome> RegisterJobDefinitionOutcomeCallable;
typedef std::future<SubmitJobOutcome> SubmitJobOutcomeCallable;
typedef std::future<TerminateJobOutcome> TerminateJobOutcomeCallable;
typedef std::future<UpdateComputeEnvironmentOutcome> UpdateComputeEnvironmentOutcomeCallable;
typedef std::future<UpdateJobQueueOutcome> UpdateJobQueueOutcomeCallable;
} // namespace Model
class BatchClient;
typedef std::function<void(const BatchClient*, const Model::CancelJobRequest&, const Model::CancelJobOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CancelJobResponseReceivedHandler;
typedef std::function<void(const BatchClient*, const Model::CreateComputeEnvironmentRequest&, const Model::CreateComputeEnvironmentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateComputeEnvironmentResponseReceivedHandler;
typedef std::function<void(const BatchClient*, const Model::CreateJobQueueRequest&, const Model::CreateJobQueueOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateJobQueueResponseReceivedHandler;
typedef std::function<void(const BatchClient*, const Model::DeleteComputeEnvironmentRequest&, const Model::DeleteComputeEnvironmentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteComputeEnvironmentResponseReceivedHandler;
typedef std::function<void(const BatchClient*, const Model::DeleteJobQueueRequest&, const Model::DeleteJobQueueOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteJobQueueResponseReceivedHandler;
typedef std::function<void(const BatchClient*, const Model::DeregisterJobDefinitionRequest&, const Model::DeregisterJobDefinitionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeregisterJobDefinitionResponseReceivedHandler;
typedef std::function<void(const BatchClient*, const Model::DescribeComputeEnvironmentsRequest&, const Model::DescribeComputeEnvironmentsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeComputeEnvironmentsResponseReceivedHandler;
typedef std::function<void(const BatchClient*, const Model::DescribeJobDefinitionsRequest&, const Model::DescribeJobDefinitionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeJobDefinitionsResponseReceivedHandler;
typedef std::function<void(const BatchClient*, const Model::DescribeJobQueuesRequest&, const Model::DescribeJobQueuesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeJobQueuesResponseReceivedHandler;
typedef std::function<void(const BatchClient*, const Model::DescribeJobsRequest&, const Model::DescribeJobsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeJobsResponseReceivedHandler;
typedef std::function<void(const BatchClient*, const Model::ListJobsRequest&, const Model::ListJobsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListJobsResponseReceivedHandler;
typedef std::function<void(const BatchClient*, const Model::RegisterJobDefinitionRequest&, const Model::RegisterJobDefinitionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > RegisterJobDefinitionResponseReceivedHandler;
typedef std::function<void(const BatchClient*, const Model::SubmitJobRequest&, const Model::SubmitJobOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SubmitJobResponseReceivedHandler;
typedef std::function<void(const BatchClient*, const Model::TerminateJobRequest&, const Model::TerminateJobOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > TerminateJobResponseReceivedHandler;
typedef std::function<void(const BatchClient*, const Model::UpdateComputeEnvironmentRequest&, const Model::UpdateComputeEnvironmentOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateComputeEnvironmentResponseReceivedHandler;
typedef std::function<void(const BatchClient*, const Model::UpdateJobQueueRequest&, const Model::UpdateJobQueueOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateJobQueueResponseReceivedHandler;
/**
* <p>AWS Batch enables you to run batch computing workloads on the AWS Cloud.
* Batch computing is a common way for developers, scientists, and engineers to
* access large amounts of compute resources, and AWS Batch removes the
* undifferentiated heavy lifting of configuring and managing the required
* infrastructure. AWS Batch will be familiar to users of traditional batch
* computing software. This service can efficiently provision resources in response
* to jobs submitted in order to eliminate capacity constraints, reduce compute
* costs, and deliver results quickly.</p> <p>As a fully managed service, AWS Batch
* enables developers, scientists, and engineers to run batch computing workloads
* of any scale. AWS Batch automatically provisions compute resources and optimizes
* the workload distribution based on the quantity and scale of the workloads. With
* AWS Batch, there is no need to install or manage batch computing software, which
* allows you to focus on analyzing results and solving problems. AWS Batch reduces
* operational complexities, saves time, and reduces costs, which makes it easy for
* developers, scientists, and engineers to run their batch jobs in the AWS
* Cloud.</p>
*/
class AWS_BATCH_API BatchClient : public Aws::Client::AWSJsonClient
{
public:
typedef Aws::Client::AWSJsonClient BASECLASS;
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
BatchClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
BatchClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
BatchClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
virtual ~BatchClient();
/**
* <p>Cancels a job in an AWS Batch job queue. Jobs that are in the
* <code>SUBMITTED</code>, <code>PENDING</code>, or <code>RUNNABLE</code> state are
* cancelled. Jobs that have progressed to <code>STARTING</code> or
* <code>RUNNING</code> are not cancelled (but the API operation still succeeds,
* even if no job is cancelled); these jobs must be terminated with the
* <a>TerminateJob</a> operation.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CancelJob">AWS API
* Reference</a></p>
*/
virtual Model::CancelJobOutcome CancelJob(const Model::CancelJobRequest& request) const;
/**
* <p>Cancels a job in an AWS Batch job queue. Jobs that are in the
* <code>SUBMITTED</code>, <code>PENDING</code>, or <code>RUNNABLE</code> state are
* cancelled. Jobs that have progressed to <code>STARTING</code> or
* <code>RUNNING</code> are not cancelled (but the API operation still succeeds,
* even if no job is cancelled); these jobs must be terminated with the
* <a>TerminateJob</a> operation.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CancelJob">AWS API
* Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CancelJobOutcomeCallable CancelJobCallable(const Model::CancelJobRequest& request) const;
/**
* <p>Cancels a job in an AWS Batch job queue. Jobs that are in the
* <code>SUBMITTED</code>, <code>PENDING</code>, or <code>RUNNABLE</code> state are
* cancelled. Jobs that have progressed to <code>STARTING</code> or
* <code>RUNNING</code> are not cancelled (but the API operation still succeeds,
* even if no job is cancelled); these jobs must be terminated with the
* <a>TerminateJob</a> operation.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CancelJob">AWS API
* Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CancelJobAsync(const Model::CancelJobRequest& request, const CancelJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates an AWS Batch compute environment. You can create <code>MANAGED</code>
* or <code>UNMANAGED</code> compute environments.</p> <p>In a managed compute
* environment, AWS 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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html">launch
* template</a> that you specify when you create the compute environment. You can
* choose to use Amazon EC2 On-Demand Instances or Spot Instances in your managed
* compute environment. You can optionally set a maximum price so that Spot
* Instances only launch when the Spot Instance price is below a specified
* percentage of the On-Demand price.</p> <p>Multi-node parallel jobs are
* not supported on Spot Instances.</p> <p>In an unmanaged compute
* environment, you can manage your own compute resources. This provides more
* compute resource configuration options, such as using a custom AMI, but you must
* ensure that your AMI meets the Amazon ECS container instance AMI specification.
* For more information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container_instance_AMIs.html">Container
* Instance AMIs</a> in the <i>Amazon Elastic Container Service Developer
* Guide</i>. After you have created your unmanaged compute environment, you can
* use the <a>DescribeComputeEnvironments</a> operation to find the Amazon ECS
* cluster that is associated with it. Then, manually launch your container
* instances into that Amazon ECS cluster. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_container_instance.html">Launching
* an Amazon ECS Container Instance</a> in the <i>Amazon Elastic Container Service
* Developer Guide</i>.</p> <p>AWS Batch does not upgrade the AMIs in a
* compute environment after it is created (for example, when a newer version of
* the Amazon ECS-optimized AMI is available). You are responsible for the
* management of the guest operating system (including updates and security
* patches) and any additional application software or utilities that you install
* on the compute resources. To use a new AMI for your AWS Batch jobs:</p> <ol>
* <li> <p>Create a new compute environment with the new AMI.</p> </li> <li> <p>Add
* the compute environment to an existing job queue.</p> </li> <li> <p>Remove the
* old compute environment from your job queue.</p> </li> <li> <p>Delete the old
* compute environment.</p> </li> </ol> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateComputeEnvironment">AWS
* API Reference</a></p>
*/
virtual Model::CreateComputeEnvironmentOutcome CreateComputeEnvironment(const Model::CreateComputeEnvironmentRequest& request) const;
/**
* <p>Creates an AWS Batch compute environment. You can create <code>MANAGED</code>
* or <code>UNMANAGED</code> compute environments.</p> <p>In a managed compute
* environment, AWS 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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html">launch
* template</a> that you specify when you create the compute environment. You can
* choose to use Amazon EC2 On-Demand Instances or Spot Instances in your managed
* compute environment. You can optionally set a maximum price so that Spot
* Instances only launch when the Spot Instance price is below a specified
* percentage of the On-Demand price.</p> <p>Multi-node parallel jobs are
* not supported on Spot Instances.</p> <p>In an unmanaged compute
* environment, you can manage your own compute resources. This provides more
* compute resource configuration options, such as using a custom AMI, but you must
* ensure that your AMI meets the Amazon ECS container instance AMI specification.
* For more information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container_instance_AMIs.html">Container
* Instance AMIs</a> in the <i>Amazon Elastic Container Service Developer
* Guide</i>. After you have created your unmanaged compute environment, you can
* use the <a>DescribeComputeEnvironments</a> operation to find the Amazon ECS
* cluster that is associated with it. Then, manually launch your container
* instances into that Amazon ECS cluster. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_container_instance.html">Launching
* an Amazon ECS Container Instance</a> in the <i>Amazon Elastic Container Service
* Developer Guide</i>.</p> <p>AWS Batch does not upgrade the AMIs in a
* compute environment after it is created (for example, when a newer version of
* the Amazon ECS-optimized AMI is available). You are responsible for the
* management of the guest operating system (including updates and security
* patches) and any additional application software or utilities that you install
* on the compute resources. To use a new AMI for your AWS Batch jobs:</p> <ol>
* <li> <p>Create a new compute environment with the new AMI.</p> </li> <li> <p>Add
* the compute environment to an existing job queue.</p> </li> <li> <p>Remove the
* old compute environment from your job queue.</p> </li> <li> <p>Delete the old
* compute environment.</p> </li> </ol> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateComputeEnvironment">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateComputeEnvironmentOutcomeCallable CreateComputeEnvironmentCallable(const Model::CreateComputeEnvironmentRequest& request) const;
/**
* <p>Creates an AWS Batch compute environment. You can create <code>MANAGED</code>
* or <code>UNMANAGED</code> compute environments.</p> <p>In a managed compute
* environment, AWS 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 <a
* href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html">launch
* template</a> that you specify when you create the compute environment. You can
* choose to use Amazon EC2 On-Demand Instances or Spot Instances in your managed
* compute environment. You can optionally set a maximum price so that Spot
* Instances only launch when the Spot Instance price is below a specified
* percentage of the On-Demand price.</p> <p>Multi-node parallel jobs are
* not supported on Spot Instances.</p> <p>In an unmanaged compute
* environment, you can manage your own compute resources. This provides more
* compute resource configuration options, such as using a custom AMI, but you must
* ensure that your AMI meets the Amazon ECS container instance AMI specification.
* For more information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container_instance_AMIs.html">Container
* Instance AMIs</a> in the <i>Amazon Elastic Container Service Developer
* Guide</i>. After you have created your unmanaged compute environment, you can
* use the <a>DescribeComputeEnvironments</a> operation to find the Amazon ECS
* cluster that is associated with it. Then, manually launch your container
* instances into that Amazon ECS cluster. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_container_instance.html">Launching
* an Amazon ECS Container Instance</a> in the <i>Amazon Elastic Container Service
* Developer Guide</i>.</p> <p>AWS Batch does not upgrade the AMIs in a
* compute environment after it is created (for example, when a newer version of
* the Amazon ECS-optimized AMI is available). You are responsible for the
* management of the guest operating system (including updates and security
* patches) and any additional application software or utilities that you install
* on the compute resources. To use a new AMI for your AWS Batch jobs:</p> <ol>
* <li> <p>Create a new compute environment with the new AMI.</p> </li> <li> <p>Add
* the compute environment to an existing job queue.</p> </li> <li> <p>Remove the
* old compute environment from your job queue.</p> </li> <li> <p>Delete the old
* compute environment.</p> </li> </ol> <p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateComputeEnvironment">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateComputeEnvironmentAsync(const Model::CreateComputeEnvironmentRequest& request, const CreateComputeEnvironmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Creates an AWS 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.</p> <p>You also set a priority to the job queue
* that determines the order in which the AWS 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.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateJobQueue">AWS
* API Reference</a></p>
*/
virtual Model::CreateJobQueueOutcome CreateJobQueue(const Model::CreateJobQueueRequest& request) const;
/**
* <p>Creates an AWS 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.</p> <p>You also set a priority to the job queue
* that determines the order in which the AWS 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.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateJobQueue">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateJobQueueOutcomeCallable CreateJobQueueCallable(const Model::CreateJobQueueRequest& request) const;
/**
* <p>Creates an AWS 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.</p> <p>You also set a priority to the job queue
* that determines the order in which the AWS 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.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateJobQueue">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateJobQueueAsync(const Model::CreateJobQueueRequest& request, const CreateJobQueueResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes an AWS Batch compute environment.</p> <p>Before you can delete a
* compute environment, you must set its state to <code>DISABLED</code> with the
* <a>UpdateComputeEnvironment</a> API operation and disassociate it from any job
* queues with the <a>UpdateJobQueue</a> API operation.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeleteComputeEnvironment">AWS
* API Reference</a></p>
*/
virtual Model::DeleteComputeEnvironmentOutcome DeleteComputeEnvironment(const Model::DeleteComputeEnvironmentRequest& request) const;
/**
* <p>Deletes an AWS Batch compute environment.</p> <p>Before you can delete a
* compute environment, you must set its state to <code>DISABLED</code> with the
* <a>UpdateComputeEnvironment</a> API operation and disassociate it from any job
* queues with the <a>UpdateJobQueue</a> API operation.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeleteComputeEnvironment">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteComputeEnvironmentOutcomeCallable DeleteComputeEnvironmentCallable(const Model::DeleteComputeEnvironmentRequest& request) const;
/**
* <p>Deletes an AWS Batch compute environment.</p> <p>Before you can delete a
* compute environment, you must set its state to <code>DISABLED</code> with the
* <a>UpdateComputeEnvironment</a> API operation and disassociate it from any job
* queues with the <a>UpdateJobQueue</a> API operation.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeleteComputeEnvironment">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteComputeEnvironmentAsync(const Model::DeleteComputeEnvironmentRequest& request, const DeleteComputeEnvironmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deletes the specified job queue. You must first disable submissions for a
* queue with the <a>UpdateJobQueue</a> operation. All jobs in the queue are
* terminated when you delete a job queue.</p> <p>It is not necessary to
* disassociate compute environments from a queue before submitting a
* <code>DeleteJobQueue</code> request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeleteJobQueue">AWS
* API Reference</a></p>
*/
virtual Model::DeleteJobQueueOutcome DeleteJobQueue(const Model::DeleteJobQueueRequest& request) const;
/**
* <p>Deletes the specified job queue. You must first disable submissions for a
* queue with the <a>UpdateJobQueue</a> operation. All jobs in the queue are
* terminated when you delete a job queue.</p> <p>It is not necessary to
* disassociate compute environments from a queue before submitting a
* <code>DeleteJobQueue</code> request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeleteJobQueue">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteJobQueueOutcomeCallable DeleteJobQueueCallable(const Model::DeleteJobQueueRequest& request) const;
/**
* <p>Deletes the specified job queue. You must first disable submissions for a
* queue with the <a>UpdateJobQueue</a> operation. All jobs in the queue are
* terminated when you delete a job queue.</p> <p>It is not necessary to
* disassociate compute environments from a queue before submitting a
* <code>DeleteJobQueue</code> request.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeleteJobQueue">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteJobQueueAsync(const Model::DeleteJobQueueRequest& request, const DeleteJobQueueResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Deregisters an AWS Batch job definition. Job definitions will be permanently
* deleted after 180 days.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeregisterJobDefinition">AWS
* API Reference</a></p>
*/
virtual Model::DeregisterJobDefinitionOutcome DeregisterJobDefinition(const Model::DeregisterJobDefinitionRequest& request) const;
/**
* <p>Deregisters an AWS Batch job definition. Job definitions will be permanently
* deleted after 180 days.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeregisterJobDefinition">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeregisterJobDefinitionOutcomeCallable DeregisterJobDefinitionCallable(const Model::DeregisterJobDefinitionRequest& request) const;
/**
* <p>Deregisters an AWS Batch job definition. Job definitions will be permanently
* deleted after 180 days.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeregisterJobDefinition">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeregisterJobDefinitionAsync(const Model::DeregisterJobDefinitionRequest& request, const DeregisterJobDefinitionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more of your compute environments.</p> <p>If you are using
* an unmanaged compute environment, you can use the
* <code>DescribeComputeEnvironment</code> operation to determine the
* <code>ecsClusterArn</code> that you should launch your Amazon ECS container
* instances into.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeComputeEnvironments">AWS
* API Reference</a></p>
*/
virtual Model::DescribeComputeEnvironmentsOutcome DescribeComputeEnvironments(const Model::DescribeComputeEnvironmentsRequest& request) const;
/**
* <p>Describes one or more of your compute environments.</p> <p>If you are using
* an unmanaged compute environment, you can use the
* <code>DescribeComputeEnvironment</code> operation to determine the
* <code>ecsClusterArn</code> that you should launch your Amazon ECS container
* instances into.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeComputeEnvironments">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeComputeEnvironmentsOutcomeCallable DescribeComputeEnvironmentsCallable(const Model::DescribeComputeEnvironmentsRequest& request) const;
/**
* <p>Describes one or more of your compute environments.</p> <p>If you are using
* an unmanaged compute environment, you can use the
* <code>DescribeComputeEnvironment</code> operation to determine the
* <code>ecsClusterArn</code> that you should launch your Amazon ECS container
* instances into.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeComputeEnvironments">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeComputeEnvironmentsAsync(const Model::DescribeComputeEnvironmentsRequest& request, const DescribeComputeEnvironmentsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes a list of job definitions. You can specify a <code>status</code>
* (such as <code>ACTIVE</code>) to only return job definitions that match that
* status.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobDefinitions">AWS
* API Reference</a></p>
*/
virtual Model::DescribeJobDefinitionsOutcome DescribeJobDefinitions(const Model::DescribeJobDefinitionsRequest& request) const;
/**
* <p>Describes a list of job definitions. You can specify a <code>status</code>
* (such as <code>ACTIVE</code>) to only return job definitions that match that
* status.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobDefinitions">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeJobDefinitionsOutcomeCallable DescribeJobDefinitionsCallable(const Model::DescribeJobDefinitionsRequest& request) const;
/**
* <p>Describes a list of job definitions. You can specify a <code>status</code>
* (such as <code>ACTIVE</code>) to only return job definitions that match that
* status.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobDefinitions">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeJobDefinitionsAsync(const Model::DescribeJobDefinitionsRequest& request, const DescribeJobDefinitionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes one or more of your job queues.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobQueues">AWS
* API Reference</a></p>
*/
virtual Model::DescribeJobQueuesOutcome DescribeJobQueues(const Model::DescribeJobQueuesRequest& request) const;
/**
* <p>Describes one or more of your job queues.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobQueues">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeJobQueuesOutcomeCallable DescribeJobQueuesCallable(const Model::DescribeJobQueuesRequest& request) const;
/**
* <p>Describes one or more of your job queues.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobQueues">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeJobQueuesAsync(const Model::DescribeJobQueuesRequest& request, const DescribeJobQueuesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Describes a list of AWS Batch jobs.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobs">AWS
* API Reference</a></p>
*/
virtual Model::DescribeJobsOutcome DescribeJobs(const Model::DescribeJobsRequest& request) const;
/**
* <p>Describes a list of AWS Batch jobs.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobs">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeJobsOutcomeCallable DescribeJobsCallable(const Model::DescribeJobsRequest& request) const;
/**
* <p>Describes a list of AWS Batch jobs.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobs">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeJobsAsync(const Model::DescribeJobsRequest& request, const DescribeJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Returns a list of AWS Batch jobs.</p> <p>You must specify only one of the
* following:</p> <ul> <li> <p>a job queue ID to return a list of jobs in that job
* queue</p> </li> <li> <p>a multi-node parallel job ID to return a list of that
* job's nodes</p> </li> <li> <p>an array job ID to return a list of that job's
* children</p> </li> </ul> <p>You can filter the results by job status with the
* <code>jobStatus</code> parameter. If you do not specify a status, only
* <code>RUNNING</code> jobs are returned.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListJobs">AWS API
* Reference</a></p>
*/
virtual Model::ListJobsOutcome ListJobs(const Model::ListJobsRequest& request) const;
/**
* <p>Returns a list of AWS Batch jobs.</p> <p>You must specify only one of the
* following:</p> <ul> <li> <p>a job queue ID to return a list of jobs in that job
* queue</p> </li> <li> <p>a multi-node parallel job ID to return a list of that
* job's nodes</p> </li> <li> <p>an array job ID to return a list of that job's
* children</p> </li> </ul> <p>You can filter the results by job status with the
* <code>jobStatus</code> parameter. If you do not specify a status, only
* <code>RUNNING</code> jobs are returned.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListJobs">AWS API
* Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ListJobsOutcomeCallable ListJobsCallable(const Model::ListJobsRequest& request) const;
/**
* <p>Returns a list of AWS Batch jobs.</p> <p>You must specify only one of the
* following:</p> <ul> <li> <p>a job queue ID to return a list of jobs in that job
* queue</p> </li> <li> <p>a multi-node parallel job ID to return a list of that
* job's nodes</p> </li> <li> <p>an array job ID to return a list of that job's
* children</p> </li> </ul> <p>You can filter the results by job status with the
* <code>jobStatus</code> parameter. If you do not specify a status, only
* <code>RUNNING</code> jobs are returned.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListJobs">AWS API
* Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ListJobsAsync(const Model::ListJobsRequest& request, const ListJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Registers an AWS Batch job definition.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/RegisterJobDefinition">AWS
* API Reference</a></p>
*/
virtual Model::RegisterJobDefinitionOutcome RegisterJobDefinition(const Model::RegisterJobDefinitionRequest& request) const;
/**
* <p>Registers an AWS Batch job definition.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/RegisterJobDefinition">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::RegisterJobDefinitionOutcomeCallable RegisterJobDefinitionCallable(const Model::RegisterJobDefinitionRequest& request) const;
/**
* <p>Registers an AWS Batch job definition.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/RegisterJobDefinition">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void RegisterJobDefinitionAsync(const Model::RegisterJobDefinitionRequest& request, const RegisterJobDefinitionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Submits an AWS Batch job from a job definition. Parameters specified during
* <a>SubmitJob</a> override parameters defined in the job
* definition.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/SubmitJob">AWS API
* Reference</a></p>
*/
virtual Model::SubmitJobOutcome SubmitJob(const Model::SubmitJobRequest& request) const;
/**
* <p>Submits an AWS Batch job from a job definition. Parameters specified during
* <a>SubmitJob</a> override parameters defined in the job
* definition.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/SubmitJob">AWS API
* Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::SubmitJobOutcomeCallable SubmitJobCallable(const Model::SubmitJobRequest& request) const;
/**
* <p>Submits an AWS Batch job from a job definition. Parameters specified during
* <a>SubmitJob</a> override parameters defined in the job
* definition.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/SubmitJob">AWS API
* Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void SubmitJobAsync(const Model::SubmitJobRequest& request, const SubmitJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Terminates a job in a job queue. Jobs that are in the <code>STARTING</code>
* or <code>RUNNING</code> state are terminated, which causes them to transition to
* <code>FAILED</code>. Jobs that have not progressed to the <code>STARTING</code>
* state are cancelled.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/TerminateJob">AWS
* API Reference</a></p>
*/
virtual Model::TerminateJobOutcome TerminateJob(const Model::TerminateJobRequest& request) const;
/**
* <p>Terminates a job in a job queue. Jobs that are in the <code>STARTING</code>
* or <code>RUNNING</code> state are terminated, which causes them to transition to
* <code>FAILED</code>. Jobs that have not progressed to the <code>STARTING</code>
* state are cancelled.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/TerminateJob">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::TerminateJobOutcomeCallable TerminateJobCallable(const Model::TerminateJobRequest& request) const;
/**
* <p>Terminates a job in a job queue. Jobs that are in the <code>STARTING</code>
* or <code>RUNNING</code> state are terminated, which causes them to transition to
* <code>FAILED</code>. Jobs that have not progressed to the <code>STARTING</code>
* state are cancelled.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/TerminateJob">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void TerminateJobAsync(const Model::TerminateJobRequest& request, const TerminateJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Updates an AWS Batch compute environment.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateComputeEnvironment">AWS
* API Reference</a></p>
*/
virtual Model::UpdateComputeEnvironmentOutcome UpdateComputeEnvironment(const Model::UpdateComputeEnvironmentRequest& request) const;
/**
* <p>Updates an AWS Batch compute environment.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateComputeEnvironment">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::UpdateComputeEnvironmentOutcomeCallable UpdateComputeEnvironmentCallable(const Model::UpdateComputeEnvironmentRequest& request) const;
/**
* <p>Updates an AWS Batch compute environment.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateComputeEnvironment">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void UpdateComputeEnvironmentAsync(const Model::UpdateComputeEnvironmentRequest& request, const UpdateComputeEnvironmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Updates a job queue.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateJobQueue">AWS
* API Reference</a></p>
*/
virtual Model::UpdateJobQueueOutcome UpdateJobQueue(const Model::UpdateJobQueueRequest& request) const;
/**
* <p>Updates a job queue.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateJobQueue">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::UpdateJobQueueOutcomeCallable UpdateJobQueueCallable(const Model::UpdateJobQueueRequest& request) const;
/**
* <p>Updates a job queue.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateJobQueue">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void UpdateJobQueueAsync(const Model::UpdateJobQueueRequest& request, const UpdateJobQueueResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
void OverrideEndpoint(const Aws::String& endpoint);
private:
void init(const Aws::Client::ClientConfiguration& clientConfiguration);
void CancelJobAsyncHelper(const Model::CancelJobRequest& request, const CancelJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateComputeEnvironmentAsyncHelper(const Model::CreateComputeEnvironmentRequest& request, const CreateComputeEnvironmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void CreateJobQueueAsyncHelper(const Model::CreateJobQueueRequest& request, const CreateJobQueueResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteComputeEnvironmentAsyncHelper(const Model::DeleteComputeEnvironmentRequest& request, const DeleteComputeEnvironmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeleteJobQueueAsyncHelper(const Model::DeleteJobQueueRequest& request, const DeleteJobQueueResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DeregisterJobDefinitionAsyncHelper(const Model::DeregisterJobDefinitionRequest& request, const DeregisterJobDefinitionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeComputeEnvironmentsAsyncHelper(const Model::DescribeComputeEnvironmentsRequest& request, const DescribeComputeEnvironmentsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeJobDefinitionsAsyncHelper(const Model::DescribeJobDefinitionsRequest& request, const DescribeJobDefinitionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeJobQueuesAsyncHelper(const Model::DescribeJobQueuesRequest& request, const DescribeJobQueuesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void DescribeJobsAsyncHelper(const Model::DescribeJobsRequest& request, const DescribeJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void ListJobsAsyncHelper(const Model::ListJobsRequest& request, const ListJobsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void RegisterJobDefinitionAsyncHelper(const Model::RegisterJobDefinitionRequest& request, const RegisterJobDefinitionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void SubmitJobAsyncHelper(const Model::SubmitJobRequest& request, const SubmitJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void TerminateJobAsyncHelper(const Model::TerminateJobRequest& request, const TerminateJobResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void UpdateComputeEnvironmentAsyncHelper(const Model::UpdateComputeEnvironmentRequest& request, const UpdateComputeEnvironmentResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void UpdateJobQueueAsyncHelper(const Model::UpdateJobQueueRequest& request, const UpdateJobQueueResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
Aws::String m_uri;
Aws::String m_configScheme;
std::shared_ptr<Aws::Utils::Threading::Executor> m_executor;
};
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,21 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/Region.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace Batch
{
namespace BatchEndpoint
{
AWS_BATCH_API Aws::String ForRegion(const Aws::String& regionName, bool useDualStack = false);
} // namespace BatchEndpoint
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,23 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/client/AWSErrorMarshaller.h>
namespace Aws
{
namespace Client
{
class AWS_BATCH_API BatchErrorMarshaller : public Aws::Client::JsonErrorMarshaller
{
public:
Aws::Client::AWSError<Aws::Client::CoreErrors> FindErrorByName(const char* exceptionName) const override;
};
} // namespace Client
} // namespace Aws

View File

@@ -0,0 +1,73 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/core/client/AWSError.h>
#include <aws/core/client/CoreErrors.h>
#include <aws/batch/Batch_EXPORTS.h>
namespace Aws
{
namespace Batch
{
enum class BatchErrors
{
//From Core//
//////////////////////////////////////////////////////////////////////////////////////////
INCOMPLETE_SIGNATURE = 0,
INTERNAL_FAILURE = 1,
INVALID_ACTION = 2,
INVALID_CLIENT_TOKEN_ID = 3,
INVALID_PARAMETER_COMBINATION = 4,
INVALID_QUERY_PARAMETER = 5,
INVALID_PARAMETER_VALUE = 6,
MISSING_ACTION = 7, // SDK should never allow
MISSING_AUTHENTICATION_TOKEN = 8, // SDK should never allow
MISSING_PARAMETER = 9, // SDK should never allow
OPT_IN_REQUIRED = 10,
REQUEST_EXPIRED = 11,
SERVICE_UNAVAILABLE = 12,
THROTTLING = 13,
VALIDATION = 14,
ACCESS_DENIED = 15,
RESOURCE_NOT_FOUND = 16,
UNRECOGNIZED_CLIENT = 17,
MALFORMED_QUERY_STRING = 18,
SLOW_DOWN = 19,
REQUEST_TIME_TOO_SKEWED = 20,
INVALID_SIGNATURE = 21,
SIGNATURE_DOES_NOT_MATCH = 22,
INVALID_ACCESS_KEY_ID = 23,
REQUEST_TIMEOUT = 24,
NETWORK_CONNECTION = 99,
UNKNOWN = 100,
///////////////////////////////////////////////////////////////////////////////////////////
CLIENT= static_cast<int>(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1,
SERVER
};
class AWS_BATCH_API BatchError : public Aws::Client::AWSError<BatchErrors>
{
public:
BatchError() {}
BatchError(const Aws::Client::AWSError<Aws::Client::CoreErrors>& rhs) : Aws::Client::AWSError<BatchErrors>(rhs) {}
BatchError(Aws::Client::AWSError<Aws::Client::CoreErrors>&& rhs) : Aws::Client::AWSError<BatchErrors>(rhs) {}
BatchError(const Aws::Client::AWSError<BatchErrors>& rhs) : Aws::Client::AWSError<BatchErrors>(rhs) {}
BatchError(Aws::Client::AWSError<BatchErrors>&& rhs) : Aws::Client::AWSError<BatchErrors>(rhs) {}
template <typename T>
T GetModeledError();
};
namespace BatchErrorMapper
{
AWS_BATCH_API Aws::Client::AWSError<Aws::Client::CoreErrors> GetErrorForName(const char* errorName);
}
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,42 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/AmazonSerializableWebServiceRequest.h>
#include <aws/core/utils/UnreferencedParam.h>
#include <aws/core/http/HttpRequest.h>
namespace Aws
{
namespace Batch
{
class AWS_BATCH_API BatchRequest : public Aws::AmazonSerializableWebServiceRequest
{
public:
virtual ~BatchRequest () {}
void AddParametersToRequest(Aws::Http::HttpRequest& httpRequest) const { AWS_UNREFERENCED_PARAM(httpRequest); }
inline Aws::Http::HeaderValueCollection GetHeaders() const override
{
auto headers = GetRequestSpecificHeaders();
if(headers.size() == 0 || (headers.size() > 0 && headers.count(Aws::Http::CONTENT_TYPE_HEADER) == 0))
{
headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::CONTENT_TYPE_HEADER, Aws::AMZN_JSON_CONTENT_TYPE_1_1 ));
}
headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "2016-08-10"));
return headers;
}
protected:
virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); }
};
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,29 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#ifdef _MSC_VER
//disable windows complaining about max template size.
#pragma warning (disable : 4503)
#endif // _MSC_VER
#if defined (USE_WINDOWS_DLL_SEMANTICS) || defined (_WIN32)
#ifdef _MSC_VER
#pragma warning(disable : 4251)
#endif // _MSC_VER
#ifdef USE_IMPORT_EXPORT
#ifdef AWS_BATCH_EXPORTS
#define AWS_BATCH_API __declspec(dllexport)
#else
#define AWS_BATCH_API __declspec(dllimport)
#endif /* AWS_BATCH_EXPORTS */
#else
#define AWS_BATCH_API
#endif // USE_IMPORT_EXPORT
#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32)
#define AWS_BATCH_API
#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32)

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace Batch
{
namespace Model
{
enum class ArrayJobDependency
{
NOT_SET,
N_TO_N,
SEQUENTIAL
};
namespace ArrayJobDependencyMapper
{
AWS_BATCH_API ArrayJobDependency GetArrayJobDependencyForName(const Aws::String& name);
AWS_BATCH_API Aws::String GetNameForArrayJobDependency(ArrayJobDependency value);
} // namespace ArrayJobDependencyMapper
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,66 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>An object representing an AWS Batch array job.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ArrayProperties">AWS
* API Reference</a></p>
*/
class AWS_BATCH_API ArrayProperties
{
public:
ArrayProperties();
ArrayProperties(Aws::Utils::Json::JsonView jsonValue);
ArrayProperties& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The size of the array job.</p>
*/
inline int GetSize() const{ return m_size; }
/**
* <p>The size of the array job.</p>
*/
inline bool SizeHasBeenSet() const { return m_sizeHasBeenSet; }
/**
* <p>The size of the array job.</p>
*/
inline void SetSize(int value) { m_sizeHasBeenSet = true; m_size = value; }
/**
* <p>The size of the array job.</p>
*/
inline ArrayProperties& WithSize(int value) { SetSize(value); return *this;}
private:
int m_size;
bool m_sizeHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,160 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>An object representing the array properties of a job.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ArrayPropertiesDetail">AWS
* API Reference</a></p>
*/
class AWS_BATCH_API ArrayPropertiesDetail
{
public:
ArrayPropertiesDetail();
ArrayPropertiesDetail(Aws::Utils::Json::JsonView jsonValue);
ArrayPropertiesDetail& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>A summary of the number of array job children in each available job status.
* This parameter is returned for parent array jobs.</p>
*/
inline const Aws::Map<Aws::String, int>& GetStatusSummary() const{ return m_statusSummary; }
/**
* <p>A summary of the number of array job children in each available job status.
* This parameter is returned for parent array jobs.</p>
*/
inline bool StatusSummaryHasBeenSet() const { return m_statusSummaryHasBeenSet; }
/**
* <p>A summary of the number of array job children in each available job status.
* This parameter is returned for parent array jobs.</p>
*/
inline void SetStatusSummary(const Aws::Map<Aws::String, int>& value) { m_statusSummaryHasBeenSet = true; m_statusSummary = value; }
/**
* <p>A summary of the number of array job children in each available job status.
* This parameter is returned for parent array jobs.</p>
*/
inline void SetStatusSummary(Aws::Map<Aws::String, int>&& value) { m_statusSummaryHasBeenSet = true; m_statusSummary = std::move(value); }
/**
* <p>A summary of the number of array job children in each available job status.
* This parameter is returned for parent array jobs.</p>
*/
inline ArrayPropertiesDetail& WithStatusSummary(const Aws::Map<Aws::String, int>& value) { SetStatusSummary(value); return *this;}
/**
* <p>A summary of the number of array job children in each available job status.
* This parameter is returned for parent array jobs.</p>
*/
inline ArrayPropertiesDetail& WithStatusSummary(Aws::Map<Aws::String, int>&& value) { SetStatusSummary(std::move(value)); return *this;}
/**
* <p>A summary of the number of array job children in each available job status.
* This parameter is returned for parent array jobs.</p>
*/
inline ArrayPropertiesDetail& AddStatusSummary(const Aws::String& key, int value) { m_statusSummaryHasBeenSet = true; m_statusSummary.emplace(key, value); return *this; }
/**
* <p>A summary of the number of array job children in each available job status.
* This parameter is returned for parent array jobs.</p>
*/
inline ArrayPropertiesDetail& AddStatusSummary(Aws::String&& key, int value) { m_statusSummaryHasBeenSet = true; m_statusSummary.emplace(std::move(key), value); return *this; }
/**
* <p>A summary of the number of array job children in each available job status.
* This parameter is returned for parent array jobs.</p>
*/
inline ArrayPropertiesDetail& AddStatusSummary(const char* key, int value) { m_statusSummaryHasBeenSet = true; m_statusSummary.emplace(key, value); return *this; }
/**
* <p>The size of the array job. This parameter is returned for parent array
* jobs.</p>
*/
inline int GetSize() const{ return m_size; }
/**
* <p>The size of the array job. This parameter is returned for parent array
* jobs.</p>
*/
inline bool SizeHasBeenSet() const { return m_sizeHasBeenSet; }
/**
* <p>The size of the array job. This parameter is returned for parent array
* jobs.</p>
*/
inline void SetSize(int value) { m_sizeHasBeenSet = true; m_size = value; }
/**
* <p>The size of the array job. This parameter is returned for parent array
* jobs.</p>
*/
inline ArrayPropertiesDetail& WithSize(int value) { SetSize(value); return *this;}
/**
* <p>The job index within the array that is associated with this job. This
* parameter is returned for array job children.</p>
*/
inline int GetIndex() const{ return m_index; }
/**
* <p>The job index within the array that is associated with this job. This
* parameter is returned for array job children.</p>
*/
inline bool IndexHasBeenSet() const { return m_indexHasBeenSet; }
/**
* <p>The job index within the array that is associated with this job. This
* parameter is returned for array job children.</p>
*/
inline void SetIndex(int value) { m_indexHasBeenSet = true; m_index = value; }
/**
* <p>The job index within the array that is associated with this job. This
* parameter is returned for array job children.</p>
*/
inline ArrayPropertiesDetail& WithIndex(int value) { SetIndex(value); return *this;}
private:
Aws::Map<Aws::String, int> m_statusSummary;
bool m_statusSummaryHasBeenSet;
int m_size;
bool m_sizeHasBeenSet;
int m_index;
bool m_indexHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,99 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>An object representing the array properties of a job.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ArrayPropertiesSummary">AWS
* API Reference</a></p>
*/
class AWS_BATCH_API ArrayPropertiesSummary
{
public:
ArrayPropertiesSummary();
ArrayPropertiesSummary(Aws::Utils::Json::JsonView jsonValue);
ArrayPropertiesSummary& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The size of the array job. This parameter is returned for parent array
* jobs.</p>
*/
inline int GetSize() const{ return m_size; }
/**
* <p>The size of the array job. This parameter is returned for parent array
* jobs.</p>
*/
inline bool SizeHasBeenSet() const { return m_sizeHasBeenSet; }
/**
* <p>The size of the array job. This parameter is returned for parent array
* jobs.</p>
*/
inline void SetSize(int value) { m_sizeHasBeenSet = true; m_size = value; }
/**
* <p>The size of the array job. This parameter is returned for parent array
* jobs.</p>
*/
inline ArrayPropertiesSummary& WithSize(int value) { SetSize(value); return *this;}
/**
* <p>The job index within the array that is associated with this job. This
* parameter is returned for children of array jobs.</p>
*/
inline int GetIndex() const{ return m_index; }
/**
* <p>The job index within the array that is associated with this job. This
* parameter is returned for children of array jobs.</p>
*/
inline bool IndexHasBeenSet() const { return m_indexHasBeenSet; }
/**
* <p>The job index within the array that is associated with this job. This
* parameter is returned for children of array jobs.</p>
*/
inline void SetIndex(int value) { m_indexHasBeenSet = true; m_index = value; }
/**
* <p>The job index within the array that is associated with this job. This
* parameter is returned for children of array jobs.</p>
*/
inline ArrayPropertiesSummary& WithIndex(int value) { SetIndex(value); return *this;}
private:
int m_size;
bool m_sizeHasBeenSet;
int m_index;
bool m_indexHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,351 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/batch/model/NetworkInterface.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>An object representing the details of a container that is part of a job
* attempt.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/AttemptContainerDetail">AWS
* API Reference</a></p>
*/
class AWS_BATCH_API AttemptContainerDetail
{
public:
AttemptContainerDetail();
AttemptContainerDetail(Aws::Utils::Json::JsonView jsonValue);
AttemptContainerDetail& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The Amazon Resource Name (ARN) of the Amazon ECS container instance that
* hosts the job attempt.</p>
*/
inline const Aws::String& GetContainerInstanceArn() const{ return m_containerInstanceArn; }
/**
* <p>The Amazon Resource Name (ARN) of the Amazon ECS container instance that
* hosts the job attempt.</p>
*/
inline bool ContainerInstanceArnHasBeenSet() const { return m_containerInstanceArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the Amazon ECS container instance that
* hosts the job attempt.</p>
*/
inline void SetContainerInstanceArn(const Aws::String& value) { m_containerInstanceArnHasBeenSet = true; m_containerInstanceArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the Amazon ECS container instance that
* hosts the job attempt.</p>
*/
inline void SetContainerInstanceArn(Aws::String&& value) { m_containerInstanceArnHasBeenSet = true; m_containerInstanceArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the Amazon ECS container instance that
* hosts the job attempt.</p>
*/
inline void SetContainerInstanceArn(const char* value) { m_containerInstanceArnHasBeenSet = true; m_containerInstanceArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the Amazon ECS container instance that
* hosts the job attempt.</p>
*/
inline AttemptContainerDetail& WithContainerInstanceArn(const Aws::String& value) { SetContainerInstanceArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the Amazon ECS container instance that
* hosts the job attempt.</p>
*/
inline AttemptContainerDetail& WithContainerInstanceArn(Aws::String&& value) { SetContainerInstanceArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the Amazon ECS container instance that
* hosts the job attempt.</p>
*/
inline AttemptContainerDetail& WithContainerInstanceArn(const char* value) { SetContainerInstanceArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with
* the job attempt. Each container attempt receives a task ARN when they reach the
* <code>STARTING</code> status.</p>
*/
inline const Aws::String& GetTaskArn() const{ return m_taskArn; }
/**
* <p>The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with
* the job attempt. Each container attempt receives a task ARN when they reach the
* <code>STARTING</code> status.</p>
*/
inline bool TaskArnHasBeenSet() const { return m_taskArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with
* the job attempt. Each container attempt receives a task ARN when they reach the
* <code>STARTING</code> status.</p>
*/
inline void SetTaskArn(const Aws::String& value) { m_taskArnHasBeenSet = true; m_taskArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with
* the job attempt. Each container attempt receives a task ARN when they reach the
* <code>STARTING</code> status.</p>
*/
inline void SetTaskArn(Aws::String&& value) { m_taskArnHasBeenSet = true; m_taskArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with
* the job attempt. Each container attempt receives a task ARN when they reach the
* <code>STARTING</code> status.</p>
*/
inline void SetTaskArn(const char* value) { m_taskArnHasBeenSet = true; m_taskArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with
* the job attempt. Each container attempt receives a task ARN when they reach the
* <code>STARTING</code> status.</p>
*/
inline AttemptContainerDetail& WithTaskArn(const Aws::String& value) { SetTaskArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with
* the job attempt. Each container attempt receives a task ARN when they reach the
* <code>STARTING</code> status.</p>
*/
inline AttemptContainerDetail& WithTaskArn(Aws::String&& value) { SetTaskArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with
* the job attempt. Each container attempt receives a task ARN when they reach the
* <code>STARTING</code> status.</p>
*/
inline AttemptContainerDetail& WithTaskArn(const char* value) { SetTaskArn(value); return *this;}
/**
* <p>The exit code for the job attempt. A non-zero exit code is considered a
* failure.</p>
*/
inline int GetExitCode() const{ return m_exitCode; }
/**
* <p>The exit code for the job attempt. A non-zero exit code is considered a
* failure.</p>
*/
inline bool ExitCodeHasBeenSet() const { return m_exitCodeHasBeenSet; }
/**
* <p>The exit code for the job attempt. A non-zero exit code is considered a
* failure.</p>
*/
inline void SetExitCode(int value) { m_exitCodeHasBeenSet = true; m_exitCode = value; }
/**
* <p>The exit code for the job attempt. A non-zero exit code is considered a
* failure.</p>
*/
inline AttemptContainerDetail& WithExitCode(int value) { SetExitCode(value); return *this;}
/**
* <p>A short (255 max characters) human-readable string to provide additional
* details about a running or stopped container.</p>
*/
inline const Aws::String& GetReason() const{ return m_reason; }
/**
* <p>A short (255 max characters) human-readable string to provide additional
* details about a running or stopped container.</p>
*/
inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; }
/**
* <p>A short (255 max characters) human-readable string to provide additional
* details about a running or stopped container.</p>
*/
inline void SetReason(const Aws::String& value) { m_reasonHasBeenSet = true; m_reason = value; }
/**
* <p>A short (255 max characters) human-readable string to provide additional
* details about a running or stopped container.</p>
*/
inline void SetReason(Aws::String&& value) { m_reasonHasBeenSet = true; m_reason = std::move(value); }
/**
* <p>A short (255 max characters) human-readable string to provide additional
* details about a running or stopped container.</p>
*/
inline void SetReason(const char* value) { m_reasonHasBeenSet = true; m_reason.assign(value); }
/**
* <p>A short (255 max characters) human-readable string to provide additional
* details about a running or stopped container.</p>
*/
inline AttemptContainerDetail& WithReason(const Aws::String& value) { SetReason(value); return *this;}
/**
* <p>A short (255 max characters) human-readable string to provide additional
* details about a running or stopped container.</p>
*/
inline AttemptContainerDetail& WithReason(Aws::String&& value) { SetReason(std::move(value)); return *this;}
/**
* <p>A short (255 max characters) human-readable string to provide additional
* details about a running or stopped container.</p>
*/
inline AttemptContainerDetail& WithReason(const char* value) { SetReason(value); return *this;}
/**
* <p>The name of the CloudWatch Logs log stream associated with the container. The
* log group for AWS Batch jobs is <code>/aws/batch/job</code>. Each container
* attempt receives a log stream name when they reach the <code>RUNNING</code>
* status.</p>
*/
inline const Aws::String& GetLogStreamName() const{ return m_logStreamName; }
/**
* <p>The name of the CloudWatch Logs log stream associated with the container. The
* log group for AWS Batch jobs is <code>/aws/batch/job</code>. Each container
* attempt receives a log stream name when they reach the <code>RUNNING</code>
* status.</p>
*/
inline bool LogStreamNameHasBeenSet() const { return m_logStreamNameHasBeenSet; }
/**
* <p>The name of the CloudWatch Logs log stream associated with the container. The
* log group for AWS Batch jobs is <code>/aws/batch/job</code>. Each container
* attempt receives a log stream name when they reach the <code>RUNNING</code>
* status.</p>
*/
inline void SetLogStreamName(const Aws::String& value) { m_logStreamNameHasBeenSet = true; m_logStreamName = value; }
/**
* <p>The name of the CloudWatch Logs log stream associated with the container. The
* log group for AWS Batch jobs is <code>/aws/batch/job</code>. Each container
* attempt receives a log stream name when they reach the <code>RUNNING</code>
* status.</p>
*/
inline void SetLogStreamName(Aws::String&& value) { m_logStreamNameHasBeenSet = true; m_logStreamName = std::move(value); }
/**
* <p>The name of the CloudWatch Logs log stream associated with the container. The
* log group for AWS Batch jobs is <code>/aws/batch/job</code>. Each container
* attempt receives a log stream name when they reach the <code>RUNNING</code>
* status.</p>
*/
inline void SetLogStreamName(const char* value) { m_logStreamNameHasBeenSet = true; m_logStreamName.assign(value); }
/**
* <p>The name of the CloudWatch Logs log stream associated with the container. The
* log group for AWS Batch jobs is <code>/aws/batch/job</code>. Each container
* attempt receives a log stream name when they reach the <code>RUNNING</code>
* status.</p>
*/
inline AttemptContainerDetail& WithLogStreamName(const Aws::String& value) { SetLogStreamName(value); return *this;}
/**
* <p>The name of the CloudWatch Logs log stream associated with the container. The
* log group for AWS Batch jobs is <code>/aws/batch/job</code>. Each container
* attempt receives a log stream name when they reach the <code>RUNNING</code>
* status.</p>
*/
inline AttemptContainerDetail& WithLogStreamName(Aws::String&& value) { SetLogStreamName(std::move(value)); return *this;}
/**
* <p>The name of the CloudWatch Logs log stream associated with the container. The
* log group for AWS Batch jobs is <code>/aws/batch/job</code>. Each container
* attempt receives a log stream name when they reach the <code>RUNNING</code>
* status.</p>
*/
inline AttemptContainerDetail& WithLogStreamName(const char* value) { SetLogStreamName(value); return *this;}
/**
* <p>The network interfaces associated with the job attempt.</p>
*/
inline const Aws::Vector<NetworkInterface>& GetNetworkInterfaces() const{ return m_networkInterfaces; }
/**
* <p>The network interfaces associated with the job attempt.</p>
*/
inline bool NetworkInterfacesHasBeenSet() const { return m_networkInterfacesHasBeenSet; }
/**
* <p>The network interfaces associated with the job attempt.</p>
*/
inline void SetNetworkInterfaces(const Aws::Vector<NetworkInterface>& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces = value; }
/**
* <p>The network interfaces associated with the job attempt.</p>
*/
inline void SetNetworkInterfaces(Aws::Vector<NetworkInterface>&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces = std::move(value); }
/**
* <p>The network interfaces associated with the job attempt.</p>
*/
inline AttemptContainerDetail& WithNetworkInterfaces(const Aws::Vector<NetworkInterface>& value) { SetNetworkInterfaces(value); return *this;}
/**
* <p>The network interfaces associated with the job attempt.</p>
*/
inline AttemptContainerDetail& WithNetworkInterfaces(Aws::Vector<NetworkInterface>&& value) { SetNetworkInterfaces(std::move(value)); return *this;}
/**
* <p>The network interfaces associated with the job attempt.</p>
*/
inline AttemptContainerDetail& AddNetworkInterfaces(const NetworkInterface& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.push_back(value); return *this; }
/**
* <p>The network interfaces associated with the job attempt.</p>
*/
inline AttemptContainerDetail& AddNetworkInterfaces(NetworkInterface&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.push_back(std::move(value)); return *this; }
private:
Aws::String m_containerInstanceArn;
bool m_containerInstanceArnHasBeenSet;
Aws::String m_taskArn;
bool m_taskArnHasBeenSet;
int m_exitCode;
bool m_exitCodeHasBeenSet;
Aws::String m_reason;
bool m_reasonHasBeenSet;
Aws::String m_logStreamName;
bool m_logStreamNameHasBeenSet;
Aws::Vector<NetworkInterface> m_networkInterfaces;
bool m_networkInterfacesHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,195 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/batch/model/AttemptContainerDetail.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>An object representing a job attempt.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/AttemptDetail">AWS
* API Reference</a></p>
*/
class AWS_BATCH_API AttemptDetail
{
public:
AttemptDetail();
AttemptDetail(Aws::Utils::Json::JsonView jsonValue);
AttemptDetail& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>Details about the container in this job attempt.</p>
*/
inline const AttemptContainerDetail& GetContainer() const{ return m_container; }
/**
* <p>Details about the container in this job attempt.</p>
*/
inline bool ContainerHasBeenSet() const { return m_containerHasBeenSet; }
/**
* <p>Details about the container in this job attempt.</p>
*/
inline void SetContainer(const AttemptContainerDetail& value) { m_containerHasBeenSet = true; m_container = value; }
/**
* <p>Details about the container in this job attempt.</p>
*/
inline void SetContainer(AttemptContainerDetail&& value) { m_containerHasBeenSet = true; m_container = std::move(value); }
/**
* <p>Details about the container in this job attempt.</p>
*/
inline AttemptDetail& WithContainer(const AttemptContainerDetail& value) { SetContainer(value); return *this;}
/**
* <p>Details about the container in this job attempt.</p>
*/
inline AttemptDetail& WithContainer(AttemptContainerDetail&& value) { SetContainer(std::move(value)); return *this;}
/**
* <p>The Unix timestamp (in seconds and milliseconds) for when the attempt was
* started (when the attempt transitioned from the <code>STARTING</code> state to
* the <code>RUNNING</code> state).</p>
*/
inline long long GetStartedAt() const{ return m_startedAt; }
/**
* <p>The Unix timestamp (in seconds and milliseconds) for when the attempt was
* started (when the attempt transitioned from the <code>STARTING</code> state to
* the <code>RUNNING</code> state).</p>
*/
inline bool StartedAtHasBeenSet() const { return m_startedAtHasBeenSet; }
/**
* <p>The Unix timestamp (in seconds and milliseconds) for when the attempt was
* started (when the attempt transitioned from the <code>STARTING</code> state to
* the <code>RUNNING</code> state).</p>
*/
inline void SetStartedAt(long long value) { m_startedAtHasBeenSet = true; m_startedAt = value; }
/**
* <p>The Unix timestamp (in seconds and milliseconds) for when the attempt was
* started (when the attempt transitioned from the <code>STARTING</code> state to
* the <code>RUNNING</code> state).</p>
*/
inline AttemptDetail& WithStartedAt(long long value) { SetStartedAt(value); return *this;}
/**
* <p>The Unix timestamp (in seconds and milliseconds) for when the attempt was
* stopped (when the attempt transitioned from the <code>RUNNING</code> state to a
* terminal state, such as <code>SUCCEEDED</code> or <code>FAILED</code>).</p>
*/
inline long long GetStoppedAt() const{ return m_stoppedAt; }
/**
* <p>The Unix timestamp (in seconds and milliseconds) for when the attempt was
* stopped (when the attempt transitioned from the <code>RUNNING</code> state to a
* terminal state, such as <code>SUCCEEDED</code> or <code>FAILED</code>).</p>
*/
inline bool StoppedAtHasBeenSet() const { return m_stoppedAtHasBeenSet; }
/**
* <p>The Unix timestamp (in seconds and milliseconds) for when the attempt was
* stopped (when the attempt transitioned from the <code>RUNNING</code> state to a
* terminal state, such as <code>SUCCEEDED</code> or <code>FAILED</code>).</p>
*/
inline void SetStoppedAt(long long value) { m_stoppedAtHasBeenSet = true; m_stoppedAt = value; }
/**
* <p>The Unix timestamp (in seconds and milliseconds) for when the attempt was
* stopped (when the attempt transitioned from the <code>RUNNING</code> state to a
* terminal state, such as <code>SUCCEEDED</code> or <code>FAILED</code>).</p>
*/
inline AttemptDetail& WithStoppedAt(long long value) { SetStoppedAt(value); return *this;}
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job attempt.</p>
*/
inline const Aws::String& GetStatusReason() const{ return m_statusReason; }
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job attempt.</p>
*/
inline bool StatusReasonHasBeenSet() const { return m_statusReasonHasBeenSet; }
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job attempt.</p>
*/
inline void SetStatusReason(const Aws::String& value) { m_statusReasonHasBeenSet = true; m_statusReason = value; }
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job attempt.</p>
*/
inline void SetStatusReason(Aws::String&& value) { m_statusReasonHasBeenSet = true; m_statusReason = std::move(value); }
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job attempt.</p>
*/
inline void SetStatusReason(const char* value) { m_statusReasonHasBeenSet = true; m_statusReason.assign(value); }
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job attempt.</p>
*/
inline AttemptDetail& WithStatusReason(const Aws::String& value) { SetStatusReason(value); return *this;}
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job attempt.</p>
*/
inline AttemptDetail& WithStatusReason(Aws::String&& value) { SetStatusReason(std::move(value)); return *this;}
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job attempt.</p>
*/
inline AttemptDetail& WithStatusReason(const char* value) { SetStatusReason(value); return *this;}
private:
AttemptContainerDetail m_container;
bool m_containerHasBeenSet;
long long m_startedAt;
bool m_startedAtHasBeenSet;
long long m_stoppedAt;
bool m_stoppedAtHasBeenSet;
Aws::String m_statusReason;
bool m_statusReasonHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace Batch
{
namespace Model
{
enum class CEState
{
NOT_SET,
ENABLED,
DISABLED
};
namespace CEStateMapper
{
AWS_BATCH_API CEState GetCEStateForName(const Aws::String& name);
AWS_BATCH_API Aws::String GetNameForCEState(CEState value);
} // namespace CEStateMapper
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,35 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace Batch
{
namespace Model
{
enum class CEStatus
{
NOT_SET,
CREATING,
UPDATING,
DELETING,
DELETED,
VALID,
INVALID
};
namespace CEStatusMapper
{
AWS_BATCH_API CEStatus GetCEStatusForName(const Aws::String& name);
AWS_BATCH_API Aws::String GetNameForCEStatus(CEStatus value);
} // namespace CEStatusMapper
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace Batch
{
namespace Model
{
enum class CEType
{
NOT_SET,
MANAGED,
UNMANAGED
};
namespace CETypeMapper
{
AWS_BATCH_API CEType GetCETypeForName(const Aws::String& name);
AWS_BATCH_API Aws::String GetNameForCEType(CEType value);
} // namespace CETypeMapper
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace Batch
{
namespace Model
{
enum class CRAllocationStrategy
{
NOT_SET,
BEST_FIT,
BEST_FIT_PROGRESSIVE,
SPOT_CAPACITY_OPTIMIZED
};
namespace CRAllocationStrategyMapper
{
AWS_BATCH_API CRAllocationStrategy GetCRAllocationStrategyForName(const Aws::String& name);
AWS_BATCH_API Aws::String GetNameForCRAllocationStrategy(CRAllocationStrategy value);
} // namespace CRAllocationStrategyMapper
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace Batch
{
namespace Model
{
enum class CRType
{
NOT_SET,
EC2,
SPOT
};
namespace CRTypeMapper
{
AWS_BATCH_API CRType GetCRTypeForName(const Aws::String& name);
AWS_BATCH_API Aws::String GetNameForCRType(CRType value);
} // namespace CRTypeMapper
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,143 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/batch/BatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Batch
{
namespace Model
{
/**
*/
class AWS_BATCH_API CancelJobRequest : public BatchRequest
{
public:
CancelJobRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CancelJob"; }
Aws::String SerializePayload() const override;
/**
* <p>The AWS Batch job ID of the job to cancel.</p>
*/
inline const Aws::String& GetJobId() const{ return m_jobId; }
/**
* <p>The AWS Batch job ID of the job to cancel.</p>
*/
inline bool JobIdHasBeenSet() const { return m_jobIdHasBeenSet; }
/**
* <p>The AWS Batch job ID of the job to cancel.</p>
*/
inline void SetJobId(const Aws::String& value) { m_jobIdHasBeenSet = true; m_jobId = value; }
/**
* <p>The AWS Batch job ID of the job to cancel.</p>
*/
inline void SetJobId(Aws::String&& value) { m_jobIdHasBeenSet = true; m_jobId = std::move(value); }
/**
* <p>The AWS Batch job ID of the job to cancel.</p>
*/
inline void SetJobId(const char* value) { m_jobIdHasBeenSet = true; m_jobId.assign(value); }
/**
* <p>The AWS Batch job ID of the job to cancel.</p>
*/
inline CancelJobRequest& WithJobId(const Aws::String& value) { SetJobId(value); return *this;}
/**
* <p>The AWS Batch job ID of the job to cancel.</p>
*/
inline CancelJobRequest& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;}
/**
* <p>The AWS Batch job ID of the job to cancel.</p>
*/
inline CancelJobRequest& WithJobId(const char* value) { SetJobId(value); return *this;}
/**
* <p>A message to attach to the job that explains the reason for canceling it.
* This message is returned by future <a>DescribeJobs</a> operations on the job.
* This message is also recorded in the AWS Batch activity logs.</p>
*/
inline const Aws::String& GetReason() const{ return m_reason; }
/**
* <p>A message to attach to the job that explains the reason for canceling it.
* This message is returned by future <a>DescribeJobs</a> operations on the job.
* This message is also recorded in the AWS Batch activity logs.</p>
*/
inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; }
/**
* <p>A message to attach to the job that explains the reason for canceling it.
* This message is returned by future <a>DescribeJobs</a> operations on the job.
* This message is also recorded in the AWS Batch activity logs.</p>
*/
inline void SetReason(const Aws::String& value) { m_reasonHasBeenSet = true; m_reason = value; }
/**
* <p>A message to attach to the job that explains the reason for canceling it.
* This message is returned by future <a>DescribeJobs</a> operations on the job.
* This message is also recorded in the AWS Batch activity logs.</p>
*/
inline void SetReason(Aws::String&& value) { m_reasonHasBeenSet = true; m_reason = std::move(value); }
/**
* <p>A message to attach to the job that explains the reason for canceling it.
* This message is returned by future <a>DescribeJobs</a> operations on the job.
* This message is also recorded in the AWS Batch activity logs.</p>
*/
inline void SetReason(const char* value) { m_reasonHasBeenSet = true; m_reason.assign(value); }
/**
* <p>A message to attach to the job that explains the reason for canceling it.
* This message is returned by future <a>DescribeJobs</a> operations on the job.
* This message is also recorded in the AWS Batch activity logs.</p>
*/
inline CancelJobRequest& WithReason(const Aws::String& value) { SetReason(value); return *this;}
/**
* <p>A message to attach to the job that explains the reason for canceling it.
* This message is returned by future <a>DescribeJobs</a> operations on the job.
* This message is also recorded in the AWS Batch activity logs.</p>
*/
inline CancelJobRequest& WithReason(Aws::String&& value) { SetReason(std::move(value)); return *this;}
/**
* <p>A message to attach to the job that explains the reason for canceling it.
* This message is returned by future <a>DescribeJobs</a> operations on the job.
* This message is also recorded in the AWS Batch activity logs.</p>
*/
inline CancelJobRequest& WithReason(const char* value) { SetReason(value); return *this;}
private:
Aws::String m_jobId;
bool m_jobIdHasBeenSet;
Aws::String m_reason;
bool m_reasonHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,36 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
class AWS_BATCH_API CancelJobResult
{
public:
CancelJobResult();
CancelJobResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
CancelJobResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,495 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/batch/model/CEType.h>
#include <aws/batch/model/CEState.h>
#include <aws/batch/model/CEStatus.h>
#include <aws/batch/model/ComputeResource.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>An object representing an AWS Batch compute environment.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ComputeEnvironmentDetail">AWS
* API Reference</a></p>
*/
class AWS_BATCH_API ComputeEnvironmentDetail
{
public:
ComputeEnvironmentDetail();
ComputeEnvironmentDetail(Aws::Utils::Json::JsonView jsonValue);
ComputeEnvironmentDetail& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The name of the compute environment.</p>
*/
inline const Aws::String& GetComputeEnvironmentName() const{ return m_computeEnvironmentName; }
/**
* <p>The name of the compute environment.</p>
*/
inline bool ComputeEnvironmentNameHasBeenSet() const { return m_computeEnvironmentNameHasBeenSet; }
/**
* <p>The name of the compute environment.</p>
*/
inline void SetComputeEnvironmentName(const Aws::String& value) { m_computeEnvironmentNameHasBeenSet = true; m_computeEnvironmentName = value; }
/**
* <p>The name of the compute environment.</p>
*/
inline void SetComputeEnvironmentName(Aws::String&& value) { m_computeEnvironmentNameHasBeenSet = true; m_computeEnvironmentName = std::move(value); }
/**
* <p>The name of the compute environment.</p>
*/
inline void SetComputeEnvironmentName(const char* value) { m_computeEnvironmentNameHasBeenSet = true; m_computeEnvironmentName.assign(value); }
/**
* <p>The name of the compute environment.</p>
*/
inline ComputeEnvironmentDetail& WithComputeEnvironmentName(const Aws::String& value) { SetComputeEnvironmentName(value); return *this;}
/**
* <p>The name of the compute environment.</p>
*/
inline ComputeEnvironmentDetail& WithComputeEnvironmentName(Aws::String&& value) { SetComputeEnvironmentName(std::move(value)); return *this;}
/**
* <p>The name of the compute environment.</p>
*/
inline ComputeEnvironmentDetail& WithComputeEnvironmentName(const char* value) { SetComputeEnvironmentName(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the compute environment.</p>
*/
inline const Aws::String& GetComputeEnvironmentArn() const{ return m_computeEnvironmentArn; }
/**
* <p>The Amazon Resource Name (ARN) of the compute environment.</p>
*/
inline bool ComputeEnvironmentArnHasBeenSet() const { return m_computeEnvironmentArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the compute environment.</p>
*/
inline void SetComputeEnvironmentArn(const Aws::String& value) { m_computeEnvironmentArnHasBeenSet = true; m_computeEnvironmentArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the compute environment.</p>
*/
inline void SetComputeEnvironmentArn(Aws::String&& value) { m_computeEnvironmentArnHasBeenSet = true; m_computeEnvironmentArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the compute environment.</p>
*/
inline void SetComputeEnvironmentArn(const char* value) { m_computeEnvironmentArnHasBeenSet = true; m_computeEnvironmentArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the compute environment.</p>
*/
inline ComputeEnvironmentDetail& WithComputeEnvironmentArn(const Aws::String& value) { SetComputeEnvironmentArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the compute environment.</p>
*/
inline ComputeEnvironmentDetail& WithComputeEnvironmentArn(Aws::String&& value) { SetComputeEnvironmentArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the compute environment.</p>
*/
inline ComputeEnvironmentDetail& WithComputeEnvironmentArn(const char* value) { SetComputeEnvironmentArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster used by
* the compute environment.</p>
*/
inline const Aws::String& GetEcsClusterArn() const{ return m_ecsClusterArn; }
/**
* <p>The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster used by
* the compute environment.</p>
*/
inline bool EcsClusterArnHasBeenSet() const { return m_ecsClusterArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster used by
* the compute environment.</p>
*/
inline void SetEcsClusterArn(const Aws::String& value) { m_ecsClusterArnHasBeenSet = true; m_ecsClusterArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster used by
* the compute environment.</p>
*/
inline void SetEcsClusterArn(Aws::String&& value) { m_ecsClusterArnHasBeenSet = true; m_ecsClusterArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster used by
* the compute environment.</p>
*/
inline void SetEcsClusterArn(const char* value) { m_ecsClusterArnHasBeenSet = true; m_ecsClusterArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster used by
* the compute environment.</p>
*/
inline ComputeEnvironmentDetail& WithEcsClusterArn(const Aws::String& value) { SetEcsClusterArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster used by
* the compute environment.</p>
*/
inline ComputeEnvironmentDetail& WithEcsClusterArn(Aws::String&& value) { SetEcsClusterArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster used by
* the compute environment.</p>
*/
inline ComputeEnvironmentDetail& WithEcsClusterArn(const char* value) { SetEcsClusterArn(value); return *this;}
/**
* <p>The type of the compute environment.</p>
*/
inline const CEType& GetType() const{ return m_type; }
/**
* <p>The type of the compute environment.</p>
*/
inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
/**
* <p>The type of the compute environment.</p>
*/
inline void SetType(const CEType& value) { m_typeHasBeenSet = true; m_type = value; }
/**
* <p>The type of the compute environment.</p>
*/
inline void SetType(CEType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
/**
* <p>The type of the compute environment.</p>
*/
inline ComputeEnvironmentDetail& WithType(const CEType& value) { SetType(value); return *this;}
/**
* <p>The type of the compute environment.</p>
*/
inline ComputeEnvironmentDetail& WithType(CEType&& value) { SetType(std::move(value)); return *this;}
/**
* <p>The state of the compute environment. The valid values are
* <code>ENABLED</code> or <code>DISABLED</code>.</p> <p>If the state is
* <code>ENABLED</code>, then the AWS Batch scheduler can attempt to place jobs
* from an associated job queue on the compute resources within the environment. If
* the compute environment is managed, then it can scale its instances out or in
* automatically, based on the job queue demand.</p> <p>If the state is
* <code>DISABLED</code>, then the AWS Batch scheduler does not attempt to place
* jobs within the environment. Jobs in a <code>STARTING</code> or
* <code>RUNNING</code> state continue to progress normally. Managed compute
* environments in the <code>DISABLED</code> state do not scale out. However, they
* scale in to <code>minvCpus</code> value after instances become idle.</p>
*/
inline const CEState& GetState() const{ return m_state; }
/**
* <p>The state of the compute environment. The valid values are
* <code>ENABLED</code> or <code>DISABLED</code>.</p> <p>If the state is
* <code>ENABLED</code>, then the AWS Batch scheduler can attempt to place jobs
* from an associated job queue on the compute resources within the environment. If
* the compute environment is managed, then it can scale its instances out or in
* automatically, based on the job queue demand.</p> <p>If the state is
* <code>DISABLED</code>, then the AWS Batch scheduler does not attempt to place
* jobs within the environment. Jobs in a <code>STARTING</code> or
* <code>RUNNING</code> state continue to progress normally. Managed compute
* environments in the <code>DISABLED</code> state do not scale out. However, they
* scale in to <code>minvCpus</code> value after instances become idle.</p>
*/
inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
/**
* <p>The state of the compute environment. The valid values are
* <code>ENABLED</code> or <code>DISABLED</code>.</p> <p>If the state is
* <code>ENABLED</code>, then the AWS Batch scheduler can attempt to place jobs
* from an associated job queue on the compute resources within the environment. If
* the compute environment is managed, then it can scale its instances out or in
* automatically, based on the job queue demand.</p> <p>If the state is
* <code>DISABLED</code>, then the AWS Batch scheduler does not attempt to place
* jobs within the environment. Jobs in a <code>STARTING</code> or
* <code>RUNNING</code> state continue to progress normally. Managed compute
* environments in the <code>DISABLED</code> state do not scale out. However, they
* scale in to <code>minvCpus</code> value after instances become idle.</p>
*/
inline void SetState(const CEState& value) { m_stateHasBeenSet = true; m_state = value; }
/**
* <p>The state of the compute environment. The valid values are
* <code>ENABLED</code> or <code>DISABLED</code>.</p> <p>If the state is
* <code>ENABLED</code>, then the AWS Batch scheduler can attempt to place jobs
* from an associated job queue on the compute resources within the environment. If
* the compute environment is managed, then it can scale its instances out or in
* automatically, based on the job queue demand.</p> <p>If the state is
* <code>DISABLED</code>, then the AWS Batch scheduler does not attempt to place
* jobs within the environment. Jobs in a <code>STARTING</code> or
* <code>RUNNING</code> state continue to progress normally. Managed compute
* environments in the <code>DISABLED</code> state do not scale out. However, they
* scale in to <code>minvCpus</code> value after instances become idle.</p>
*/
inline void SetState(CEState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); }
/**
* <p>The state of the compute environment. The valid values are
* <code>ENABLED</code> or <code>DISABLED</code>.</p> <p>If the state is
* <code>ENABLED</code>, then the AWS Batch scheduler can attempt to place jobs
* from an associated job queue on the compute resources within the environment. If
* the compute environment is managed, then it can scale its instances out or in
* automatically, based on the job queue demand.</p> <p>If the state is
* <code>DISABLED</code>, then the AWS Batch scheduler does not attempt to place
* jobs within the environment. Jobs in a <code>STARTING</code> or
* <code>RUNNING</code> state continue to progress normally. Managed compute
* environments in the <code>DISABLED</code> state do not scale out. However, they
* scale in to <code>minvCpus</code> value after instances become idle.</p>
*/
inline ComputeEnvironmentDetail& WithState(const CEState& value) { SetState(value); return *this;}
/**
* <p>The state of the compute environment. The valid values are
* <code>ENABLED</code> or <code>DISABLED</code>.</p> <p>If the state is
* <code>ENABLED</code>, then the AWS Batch scheduler can attempt to place jobs
* from an associated job queue on the compute resources within the environment. If
* the compute environment is managed, then it can scale its instances out or in
* automatically, based on the job queue demand.</p> <p>If the state is
* <code>DISABLED</code>, then the AWS Batch scheduler does not attempt to place
* jobs within the environment. Jobs in a <code>STARTING</code> or
* <code>RUNNING</code> state continue to progress normally. Managed compute
* environments in the <code>DISABLED</code> state do not scale out. However, they
* scale in to <code>minvCpus</code> value after instances become idle.</p>
*/
inline ComputeEnvironmentDetail& WithState(CEState&& value) { SetState(std::move(value)); return *this;}
/**
* <p>The current status of the compute environment (for example,
* <code>CREATING</code> or <code>VALID</code>).</p>
*/
inline const CEStatus& GetStatus() const{ return m_status; }
/**
* <p>The current status of the compute environment (for example,
* <code>CREATING</code> or <code>VALID</code>).</p>
*/
inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
/**
* <p>The current status of the compute environment (for example,
* <code>CREATING</code> or <code>VALID</code>).</p>
*/
inline void SetStatus(const CEStatus& value) { m_statusHasBeenSet = true; m_status = value; }
/**
* <p>The current status of the compute environment (for example,
* <code>CREATING</code> or <code>VALID</code>).</p>
*/
inline void SetStatus(CEStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
/**
* <p>The current status of the compute environment (for example,
* <code>CREATING</code> or <code>VALID</code>).</p>
*/
inline ComputeEnvironmentDetail& WithStatus(const CEStatus& value) { SetStatus(value); return *this;}
/**
* <p>The current status of the compute environment (for example,
* <code>CREATING</code> or <code>VALID</code>).</p>
*/
inline ComputeEnvironmentDetail& WithStatus(CEStatus&& value) { SetStatus(std::move(value)); return *this;}
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the compute environment.</p>
*/
inline const Aws::String& GetStatusReason() const{ return m_statusReason; }
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the compute environment.</p>
*/
inline bool StatusReasonHasBeenSet() const { return m_statusReasonHasBeenSet; }
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the compute environment.</p>
*/
inline void SetStatusReason(const Aws::String& value) { m_statusReasonHasBeenSet = true; m_statusReason = value; }
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the compute environment.</p>
*/
inline void SetStatusReason(Aws::String&& value) { m_statusReasonHasBeenSet = true; m_statusReason = std::move(value); }
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the compute environment.</p>
*/
inline void SetStatusReason(const char* value) { m_statusReasonHasBeenSet = true; m_statusReason.assign(value); }
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the compute environment.</p>
*/
inline ComputeEnvironmentDetail& WithStatusReason(const Aws::String& value) { SetStatusReason(value); return *this;}
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the compute environment.</p>
*/
inline ComputeEnvironmentDetail& WithStatusReason(Aws::String&& value) { SetStatusReason(std::move(value)); return *this;}
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the compute environment.</p>
*/
inline ComputeEnvironmentDetail& WithStatusReason(const char* value) { SetStatusReason(value); return *this;}
/**
* <p>The compute resources defined for the compute environment.</p>
*/
inline const ComputeResource& GetComputeResources() const{ return m_computeResources; }
/**
* <p>The compute resources defined for the compute environment.</p>
*/
inline bool ComputeResourcesHasBeenSet() const { return m_computeResourcesHasBeenSet; }
/**
* <p>The compute resources defined for the compute environment.</p>
*/
inline void SetComputeResources(const ComputeResource& value) { m_computeResourcesHasBeenSet = true; m_computeResources = value; }
/**
* <p>The compute resources defined for the compute environment.</p>
*/
inline void SetComputeResources(ComputeResource&& value) { m_computeResourcesHasBeenSet = true; m_computeResources = std::move(value); }
/**
* <p>The compute resources defined for the compute environment.</p>
*/
inline ComputeEnvironmentDetail& WithComputeResources(const ComputeResource& value) { SetComputeResources(value); return *this;}
/**
* <p>The compute resources defined for the compute environment.</p>
*/
inline ComputeEnvironmentDetail& WithComputeResources(ComputeResource&& value) { SetComputeResources(std::move(value)); return *this;}
/**
* <p>The service role associated with the compute environment that allows AWS
* Batch to make calls to AWS API operations on your behalf.</p>
*/
inline const Aws::String& GetServiceRole() const{ return m_serviceRole; }
/**
* <p>The service role associated with the compute environment that allows AWS
* Batch to make calls to AWS API operations on your behalf.</p>
*/
inline bool ServiceRoleHasBeenSet() const { return m_serviceRoleHasBeenSet; }
/**
* <p>The service role associated with the compute environment that allows AWS
* Batch to make calls to AWS API operations on your behalf.</p>
*/
inline void SetServiceRole(const Aws::String& value) { m_serviceRoleHasBeenSet = true; m_serviceRole = value; }
/**
* <p>The service role associated with the compute environment that allows AWS
* Batch to make calls to AWS API operations on your behalf.</p>
*/
inline void SetServiceRole(Aws::String&& value) { m_serviceRoleHasBeenSet = true; m_serviceRole = std::move(value); }
/**
* <p>The service role associated with the compute environment that allows AWS
* Batch to make calls to AWS API operations on your behalf.</p>
*/
inline void SetServiceRole(const char* value) { m_serviceRoleHasBeenSet = true; m_serviceRole.assign(value); }
/**
* <p>The service role associated with the compute environment that allows AWS
* Batch to make calls to AWS API operations on your behalf.</p>
*/
inline ComputeEnvironmentDetail& WithServiceRole(const Aws::String& value) { SetServiceRole(value); return *this;}
/**
* <p>The service role associated with the compute environment that allows AWS
* Batch to make calls to AWS API operations on your behalf.</p>
*/
inline ComputeEnvironmentDetail& WithServiceRole(Aws::String&& value) { SetServiceRole(std::move(value)); return *this;}
/**
* <p>The service role associated with the compute environment that allows AWS
* Batch to make calls to AWS API operations on your behalf.</p>
*/
inline ComputeEnvironmentDetail& WithServiceRole(const char* value) { SetServiceRole(value); return *this;}
private:
Aws::String m_computeEnvironmentName;
bool m_computeEnvironmentNameHasBeenSet;
Aws::String m_computeEnvironmentArn;
bool m_computeEnvironmentArnHasBeenSet;
Aws::String m_ecsClusterArn;
bool m_ecsClusterArnHasBeenSet;
CEType m_type;
bool m_typeHasBeenSet;
CEState m_state;
bool m_stateHasBeenSet;
CEStatus m_status;
bool m_statusHasBeenSet;
Aws::String m_statusReason;
bool m_statusReasonHasBeenSet;
ComputeResource m_computeResources;
bool m_computeResourcesHasBeenSet;
Aws::String m_serviceRole;
bool m_serviceRoleHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,116 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>The order in which compute environments are tried for job placement within a
* queue. Compute environments are tried in ascending order. For example, if two
* compute environments are associated with a job queue, the compute environment
* with a lower order integer value is tried for job placement first.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ComputeEnvironmentOrder">AWS
* API Reference</a></p>
*/
class AWS_BATCH_API ComputeEnvironmentOrder
{
public:
ComputeEnvironmentOrder();
ComputeEnvironmentOrder(Aws::Utils::Json::JsonView jsonValue);
ComputeEnvironmentOrder& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The order of the compute environment.</p>
*/
inline int GetOrder() const{ return m_order; }
/**
* <p>The order of the compute environment.</p>
*/
inline bool OrderHasBeenSet() const { return m_orderHasBeenSet; }
/**
* <p>The order of the compute environment.</p>
*/
inline void SetOrder(int value) { m_orderHasBeenSet = true; m_order = value; }
/**
* <p>The order of the compute environment.</p>
*/
inline ComputeEnvironmentOrder& WithOrder(int value) { SetOrder(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the compute environment.</p>
*/
inline const Aws::String& GetComputeEnvironment() const{ return m_computeEnvironment; }
/**
* <p>The Amazon Resource Name (ARN) of the compute environment.</p>
*/
inline bool ComputeEnvironmentHasBeenSet() const { return m_computeEnvironmentHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the compute environment.</p>
*/
inline void SetComputeEnvironment(const Aws::String& value) { m_computeEnvironmentHasBeenSet = true; m_computeEnvironment = value; }
/**
* <p>The Amazon Resource Name (ARN) of the compute environment.</p>
*/
inline void SetComputeEnvironment(Aws::String&& value) { m_computeEnvironmentHasBeenSet = true; m_computeEnvironment = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the compute environment.</p>
*/
inline void SetComputeEnvironment(const char* value) { m_computeEnvironmentHasBeenSet = true; m_computeEnvironment.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the compute environment.</p>
*/
inline ComputeEnvironmentOrder& WithComputeEnvironment(const Aws::String& value) { SetComputeEnvironment(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the compute environment.</p>
*/
inline ComputeEnvironmentOrder& WithComputeEnvironment(Aws::String&& value) { SetComputeEnvironment(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the compute environment.</p>
*/
inline ComputeEnvironmentOrder& WithComputeEnvironment(const char* value) { SetComputeEnvironment(value); return *this;}
private:
int m_order;
bool m_orderHasBeenSet;
Aws::String m_computeEnvironment;
bool m_computeEnvironmentHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,119 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>An object representing the attributes of a compute environment that can be
* updated.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ComputeResourceUpdate">AWS
* API Reference</a></p>
*/
class AWS_BATCH_API ComputeResourceUpdate
{
public:
ComputeResourceUpdate();
ComputeResourceUpdate(Aws::Utils::Json::JsonView jsonValue);
ComputeResourceUpdate& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The minimum number of Amazon EC2 vCPUs that an environment should
* maintain.</p>
*/
inline int GetMinvCpus() const{ return m_minvCpus; }
/**
* <p>The minimum number of Amazon EC2 vCPUs that an environment should
* maintain.</p>
*/
inline bool MinvCpusHasBeenSet() const { return m_minvCpusHasBeenSet; }
/**
* <p>The minimum number of Amazon EC2 vCPUs that an environment should
* maintain.</p>
*/
inline void SetMinvCpus(int value) { m_minvCpusHasBeenSet = true; m_minvCpus = value; }
/**
* <p>The minimum number of Amazon EC2 vCPUs that an environment should
* maintain.</p>
*/
inline ComputeResourceUpdate& WithMinvCpus(int value) { SetMinvCpus(value); return *this;}
/**
* <p>The maximum number of Amazon EC2 vCPUs that an environment can reach.</p>
*/
inline int GetMaxvCpus() const{ return m_maxvCpus; }
/**
* <p>The maximum number of Amazon EC2 vCPUs that an environment can reach.</p>
*/
inline bool MaxvCpusHasBeenSet() const { return m_maxvCpusHasBeenSet; }
/**
* <p>The maximum number of Amazon EC2 vCPUs that an environment can reach.</p>
*/
inline void SetMaxvCpus(int value) { m_maxvCpusHasBeenSet = true; m_maxvCpus = value; }
/**
* <p>The maximum number of Amazon EC2 vCPUs that an environment can reach.</p>
*/
inline ComputeResourceUpdate& WithMaxvCpus(int value) { SetMaxvCpus(value); return *this;}
/**
* <p>The desired number of Amazon EC2 vCPUS in the compute environment.</p>
*/
inline int GetDesiredvCpus() const{ return m_desiredvCpus; }
/**
* <p>The desired number of Amazon EC2 vCPUS in the compute environment.</p>
*/
inline bool DesiredvCpusHasBeenSet() const { return m_desiredvCpusHasBeenSet; }
/**
* <p>The desired number of Amazon EC2 vCPUS in the compute environment.</p>
*/
inline void SetDesiredvCpus(int value) { m_desiredvCpusHasBeenSet = true; m_desiredvCpus = value; }
/**
* <p>The desired number of Amazon EC2 vCPUS in the compute environment.</p>
*/
inline ComputeResourceUpdate& WithDesiredvCpus(int value) { SetDesiredvCpus(value); return *this;}
private:
int m_minvCpus;
bool m_minvCpusHasBeenSet;
int m_maxvCpus;
bool m_maxvCpusHasBeenSet;
int m_desiredvCpus;
bool m_desiredvCpusHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,974 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/batch/model/LinuxParameters.h>
#include <aws/batch/model/Volume.h>
#include <aws/batch/model/KeyValuePair.h>
#include <aws/batch/model/MountPoint.h>
#include <aws/batch/model/Ulimit.h>
#include <aws/batch/model/NetworkInterface.h>
#include <aws/batch/model/ResourceRequirement.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>An object representing the details of a container that is part of a
* job.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ContainerDetail">AWS
* API Reference</a></p>
*/
class AWS_BATCH_API ContainerDetail
{
public:
ContainerDetail();
ContainerDetail(Aws::Utils::Json::JsonView jsonValue);
ContainerDetail& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The image used to start the container.</p>
*/
inline const Aws::String& GetImage() const{ return m_image; }
/**
* <p>The image used to start the container.</p>
*/
inline bool ImageHasBeenSet() const { return m_imageHasBeenSet; }
/**
* <p>The image used to start the container.</p>
*/
inline void SetImage(const Aws::String& value) { m_imageHasBeenSet = true; m_image = value; }
/**
* <p>The image used to start the container.</p>
*/
inline void SetImage(Aws::String&& value) { m_imageHasBeenSet = true; m_image = std::move(value); }
/**
* <p>The image used to start the container.</p>
*/
inline void SetImage(const char* value) { m_imageHasBeenSet = true; m_image.assign(value); }
/**
* <p>The image used to start the container.</p>
*/
inline ContainerDetail& WithImage(const Aws::String& value) { SetImage(value); return *this;}
/**
* <p>The image used to start the container.</p>
*/
inline ContainerDetail& WithImage(Aws::String&& value) { SetImage(std::move(value)); return *this;}
/**
* <p>The image used to start the container.</p>
*/
inline ContainerDetail& WithImage(const char* value) { SetImage(value); return *this;}
/**
* <p>The number of VCPUs allocated for the job.</p>
*/
inline int GetVcpus() const{ return m_vcpus; }
/**
* <p>The number of VCPUs allocated for the job.</p>
*/
inline bool VcpusHasBeenSet() const { return m_vcpusHasBeenSet; }
/**
* <p>The number of VCPUs allocated for the job.</p>
*/
inline void SetVcpus(int value) { m_vcpusHasBeenSet = true; m_vcpus = value; }
/**
* <p>The number of VCPUs allocated for the job.</p>
*/
inline ContainerDetail& WithVcpus(int value) { SetVcpus(value); return *this;}
/**
* <p>The number of MiB of memory reserved for the job.</p>
*/
inline int GetMemory() const{ return m_memory; }
/**
* <p>The number of MiB of memory reserved for the job.</p>
*/
inline bool MemoryHasBeenSet() const { return m_memoryHasBeenSet; }
/**
* <p>The number of MiB of memory reserved for the job.</p>
*/
inline void SetMemory(int value) { m_memoryHasBeenSet = true; m_memory = value; }
/**
* <p>The number of MiB of memory reserved for the job.</p>
*/
inline ContainerDetail& WithMemory(int value) { SetMemory(value); return *this;}
/**
* <p>The command that is passed to the container.</p>
*/
inline const Aws::Vector<Aws::String>& GetCommand() const{ return m_command; }
/**
* <p>The command that is passed to the container.</p>
*/
inline bool CommandHasBeenSet() const { return m_commandHasBeenSet; }
/**
* <p>The command that is passed to the container.</p>
*/
inline void SetCommand(const Aws::Vector<Aws::String>& value) { m_commandHasBeenSet = true; m_command = value; }
/**
* <p>The command that is passed to the container.</p>
*/
inline void SetCommand(Aws::Vector<Aws::String>&& value) { m_commandHasBeenSet = true; m_command = std::move(value); }
/**
* <p>The command that is passed to the container.</p>
*/
inline ContainerDetail& WithCommand(const Aws::Vector<Aws::String>& value) { SetCommand(value); return *this;}
/**
* <p>The command that is passed to the container.</p>
*/
inline ContainerDetail& WithCommand(Aws::Vector<Aws::String>&& value) { SetCommand(std::move(value)); return *this;}
/**
* <p>The command that is passed to the container.</p>
*/
inline ContainerDetail& AddCommand(const Aws::String& value) { m_commandHasBeenSet = true; m_command.push_back(value); return *this; }
/**
* <p>The command that is passed to the container.</p>
*/
inline ContainerDetail& AddCommand(Aws::String&& value) { m_commandHasBeenSet = true; m_command.push_back(std::move(value)); return *this; }
/**
* <p>The command that is passed to the container.</p>
*/
inline ContainerDetail& AddCommand(const char* value) { m_commandHasBeenSet = true; m_command.push_back(value); return *this; }
/**
* <p>The Amazon Resource Name (ARN) associated with the job upon execution.</p>
*/
inline const Aws::String& GetJobRoleArn() const{ return m_jobRoleArn; }
/**
* <p>The Amazon Resource Name (ARN) associated with the job upon execution.</p>
*/
inline bool JobRoleArnHasBeenSet() const { return m_jobRoleArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) associated with the job upon execution.</p>
*/
inline void SetJobRoleArn(const Aws::String& value) { m_jobRoleArnHasBeenSet = true; m_jobRoleArn = value; }
/**
* <p>The Amazon Resource Name (ARN) associated with the job upon execution.</p>
*/
inline void SetJobRoleArn(Aws::String&& value) { m_jobRoleArnHasBeenSet = true; m_jobRoleArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) associated with the job upon execution.</p>
*/
inline void SetJobRoleArn(const char* value) { m_jobRoleArnHasBeenSet = true; m_jobRoleArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) associated with the job upon execution.</p>
*/
inline ContainerDetail& WithJobRoleArn(const Aws::String& value) { SetJobRoleArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) associated with the job upon execution.</p>
*/
inline ContainerDetail& WithJobRoleArn(Aws::String&& value) { SetJobRoleArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) associated with the job upon execution.</p>
*/
inline ContainerDetail& WithJobRoleArn(const char* value) { SetJobRoleArn(value); return *this;}
/**
* <p>A list of volumes associated with the job.</p>
*/
inline const Aws::Vector<Volume>& GetVolumes() const{ return m_volumes; }
/**
* <p>A list of volumes associated with the job.</p>
*/
inline bool VolumesHasBeenSet() const { return m_volumesHasBeenSet; }
/**
* <p>A list of volumes associated with the job.</p>
*/
inline void SetVolumes(const Aws::Vector<Volume>& value) { m_volumesHasBeenSet = true; m_volumes = value; }
/**
* <p>A list of volumes associated with the job.</p>
*/
inline void SetVolumes(Aws::Vector<Volume>&& value) { m_volumesHasBeenSet = true; m_volumes = std::move(value); }
/**
* <p>A list of volumes associated with the job.</p>
*/
inline ContainerDetail& WithVolumes(const Aws::Vector<Volume>& value) { SetVolumes(value); return *this;}
/**
* <p>A list of volumes associated with the job.</p>
*/
inline ContainerDetail& WithVolumes(Aws::Vector<Volume>&& value) { SetVolumes(std::move(value)); return *this;}
/**
* <p>A list of volumes associated with the job.</p>
*/
inline ContainerDetail& AddVolumes(const Volume& value) { m_volumesHasBeenSet = true; m_volumes.push_back(value); return *this; }
/**
* <p>A list of volumes associated with the job.</p>
*/
inline ContainerDetail& AddVolumes(Volume&& value) { m_volumesHasBeenSet = true; m_volumes.push_back(std::move(value)); return *this; }
/**
* <p>The environment variables to pass to a container.</p> <p>Environment
* variables must not start with <code>AWS_BATCH</code>; this naming convention is
* reserved for variables that are set by the AWS Batch service.</p>
*/
inline const Aws::Vector<KeyValuePair>& GetEnvironment() const{ return m_environment; }
/**
* <p>The environment variables to pass to a container.</p> <p>Environment
* variables must not start with <code>AWS_BATCH</code>; this naming convention is
* reserved for variables that are set by the AWS Batch service.</p>
*/
inline bool EnvironmentHasBeenSet() const { return m_environmentHasBeenSet; }
/**
* <p>The environment variables to pass to a container.</p> <p>Environment
* variables must not start with <code>AWS_BATCH</code>; this naming convention is
* reserved for variables that are set by the AWS Batch service.</p>
*/
inline void SetEnvironment(const Aws::Vector<KeyValuePair>& value) { m_environmentHasBeenSet = true; m_environment = value; }
/**
* <p>The environment variables to pass to a container.</p> <p>Environment
* variables must not start with <code>AWS_BATCH</code>; this naming convention is
* reserved for variables that are set by the AWS Batch service.</p>
*/
inline void SetEnvironment(Aws::Vector<KeyValuePair>&& value) { m_environmentHasBeenSet = true; m_environment = std::move(value); }
/**
* <p>The environment variables to pass to a container.</p> <p>Environment
* variables must not start with <code>AWS_BATCH</code>; this naming convention is
* reserved for variables that are set by the AWS Batch service.</p>
*/
inline ContainerDetail& WithEnvironment(const Aws::Vector<KeyValuePair>& value) { SetEnvironment(value); return *this;}
/**
* <p>The environment variables to pass to a container.</p> <p>Environment
* variables must not start with <code>AWS_BATCH</code>; this naming convention is
* reserved for variables that are set by the AWS Batch service.</p>
*/
inline ContainerDetail& WithEnvironment(Aws::Vector<KeyValuePair>&& value) { SetEnvironment(std::move(value)); return *this;}
/**
* <p>The environment variables to pass to a container.</p> <p>Environment
* variables must not start with <code>AWS_BATCH</code>; this naming convention is
* reserved for variables that are set by the AWS Batch service.</p>
*/
inline ContainerDetail& AddEnvironment(const KeyValuePair& value) { m_environmentHasBeenSet = true; m_environment.push_back(value); return *this; }
/**
* <p>The environment variables to pass to a container.</p> <p>Environment
* variables must not start with <code>AWS_BATCH</code>; this naming convention is
* reserved for variables that are set by the AWS Batch service.</p>
*/
inline ContainerDetail& AddEnvironment(KeyValuePair&& value) { m_environmentHasBeenSet = true; m_environment.push_back(std::move(value)); return *this; }
/**
* <p>The mount points for data volumes in your container.</p>
*/
inline const Aws::Vector<MountPoint>& GetMountPoints() const{ return m_mountPoints; }
/**
* <p>The mount points for data volumes in your container.</p>
*/
inline bool MountPointsHasBeenSet() const { return m_mountPointsHasBeenSet; }
/**
* <p>The mount points for data volumes in your container.</p>
*/
inline void SetMountPoints(const Aws::Vector<MountPoint>& value) { m_mountPointsHasBeenSet = true; m_mountPoints = value; }
/**
* <p>The mount points for data volumes in your container.</p>
*/
inline void SetMountPoints(Aws::Vector<MountPoint>&& value) { m_mountPointsHasBeenSet = true; m_mountPoints = std::move(value); }
/**
* <p>The mount points for data volumes in your container.</p>
*/
inline ContainerDetail& WithMountPoints(const Aws::Vector<MountPoint>& value) { SetMountPoints(value); return *this;}
/**
* <p>The mount points for data volumes in your container.</p>
*/
inline ContainerDetail& WithMountPoints(Aws::Vector<MountPoint>&& value) { SetMountPoints(std::move(value)); return *this;}
/**
* <p>The mount points for data volumes in your container.</p>
*/
inline ContainerDetail& AddMountPoints(const MountPoint& value) { m_mountPointsHasBeenSet = true; m_mountPoints.push_back(value); return *this; }
/**
* <p>The mount points for data volumes in your container.</p>
*/
inline ContainerDetail& AddMountPoints(MountPoint&& value) { m_mountPointsHasBeenSet = true; m_mountPoints.push_back(std::move(value)); return *this; }
/**
* <p>When this parameter is true, the container is given read-only access to its
* root file system.</p>
*/
inline bool GetReadonlyRootFilesystem() const{ return m_readonlyRootFilesystem; }
/**
* <p>When this parameter is true, the container is given read-only access to its
* root file system.</p>
*/
inline bool ReadonlyRootFilesystemHasBeenSet() const { return m_readonlyRootFilesystemHasBeenSet; }
/**
* <p>When this parameter is true, the container is given read-only access to its
* root file system.</p>
*/
inline void SetReadonlyRootFilesystem(bool value) { m_readonlyRootFilesystemHasBeenSet = true; m_readonlyRootFilesystem = value; }
/**
* <p>When this parameter is true, the container is given read-only access to its
* root file system.</p>
*/
inline ContainerDetail& WithReadonlyRootFilesystem(bool value) { SetReadonlyRootFilesystem(value); return *this;}
/**
* <p>A list of <code>ulimit</code> values to set in the container.</p>
*/
inline const Aws::Vector<Ulimit>& GetUlimits() const{ return m_ulimits; }
/**
* <p>A list of <code>ulimit</code> values to set in the container.</p>
*/
inline bool UlimitsHasBeenSet() const { return m_ulimitsHasBeenSet; }
/**
* <p>A list of <code>ulimit</code> values to set in the container.</p>
*/
inline void SetUlimits(const Aws::Vector<Ulimit>& value) { m_ulimitsHasBeenSet = true; m_ulimits = value; }
/**
* <p>A list of <code>ulimit</code> values to set in the container.</p>
*/
inline void SetUlimits(Aws::Vector<Ulimit>&& value) { m_ulimitsHasBeenSet = true; m_ulimits = std::move(value); }
/**
* <p>A list of <code>ulimit</code> values to set in the container.</p>
*/
inline ContainerDetail& WithUlimits(const Aws::Vector<Ulimit>& value) { SetUlimits(value); return *this;}
/**
* <p>A list of <code>ulimit</code> values to set in the container.</p>
*/
inline ContainerDetail& WithUlimits(Aws::Vector<Ulimit>&& value) { SetUlimits(std::move(value)); return *this;}
/**
* <p>A list of <code>ulimit</code> values to set in the container.</p>
*/
inline ContainerDetail& AddUlimits(const Ulimit& value) { m_ulimitsHasBeenSet = true; m_ulimits.push_back(value); return *this; }
/**
* <p>A list of <code>ulimit</code> values to set in the container.</p>
*/
inline ContainerDetail& AddUlimits(Ulimit&& value) { m_ulimitsHasBeenSet = true; m_ulimits.push_back(std::move(value)); return *this; }
/**
* <p>When this parameter is true, the container is given elevated privileges on
* the host container instance (similar to the <code>root</code> user).</p>
*/
inline bool GetPrivileged() const{ return m_privileged; }
/**
* <p>When this parameter is true, the container is given elevated privileges on
* the host container instance (similar to the <code>root</code> user).</p>
*/
inline bool PrivilegedHasBeenSet() const { return m_privilegedHasBeenSet; }
/**
* <p>When this parameter is true, the container is given elevated privileges on
* the host container instance (similar to the <code>root</code> user).</p>
*/
inline void SetPrivileged(bool value) { m_privilegedHasBeenSet = true; m_privileged = value; }
/**
* <p>When this parameter is true, the container is given elevated privileges on
* the host container instance (similar to the <code>root</code> user).</p>
*/
inline ContainerDetail& WithPrivileged(bool value) { SetPrivileged(value); return *this;}
/**
* <p>The user name to use inside the container.</p>
*/
inline const Aws::String& GetUser() const{ return m_user; }
/**
* <p>The user name to use inside the container.</p>
*/
inline bool UserHasBeenSet() const { return m_userHasBeenSet; }
/**
* <p>The user name to use inside the container.</p>
*/
inline void SetUser(const Aws::String& value) { m_userHasBeenSet = true; m_user = value; }
/**
* <p>The user name to use inside the container.</p>
*/
inline void SetUser(Aws::String&& value) { m_userHasBeenSet = true; m_user = std::move(value); }
/**
* <p>The user name to use inside the container.</p>
*/
inline void SetUser(const char* value) { m_userHasBeenSet = true; m_user.assign(value); }
/**
* <p>The user name to use inside the container.</p>
*/
inline ContainerDetail& WithUser(const Aws::String& value) { SetUser(value); return *this;}
/**
* <p>The user name to use inside the container.</p>
*/
inline ContainerDetail& WithUser(Aws::String&& value) { SetUser(std::move(value)); return *this;}
/**
* <p>The user name to use inside the container.</p>
*/
inline ContainerDetail& WithUser(const char* value) { SetUser(value); return *this;}
/**
* <p>The exit code to return upon completion.</p>
*/
inline int GetExitCode() const{ return m_exitCode; }
/**
* <p>The exit code to return upon completion.</p>
*/
inline bool ExitCodeHasBeenSet() const { return m_exitCodeHasBeenSet; }
/**
* <p>The exit code to return upon completion.</p>
*/
inline void SetExitCode(int value) { m_exitCodeHasBeenSet = true; m_exitCode = value; }
/**
* <p>The exit code to return upon completion.</p>
*/
inline ContainerDetail& WithExitCode(int value) { SetExitCode(value); return *this;}
/**
* <p>A short (255 max characters) human-readable string to provide additional
* details about a running or stopped container.</p>
*/
inline const Aws::String& GetReason() const{ return m_reason; }
/**
* <p>A short (255 max characters) human-readable string to provide additional
* details about a running or stopped container.</p>
*/
inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; }
/**
* <p>A short (255 max characters) human-readable string to provide additional
* details about a running or stopped container.</p>
*/
inline void SetReason(const Aws::String& value) { m_reasonHasBeenSet = true; m_reason = value; }
/**
* <p>A short (255 max characters) human-readable string to provide additional
* details about a running or stopped container.</p>
*/
inline void SetReason(Aws::String&& value) { m_reasonHasBeenSet = true; m_reason = std::move(value); }
/**
* <p>A short (255 max characters) human-readable string to provide additional
* details about a running or stopped container.</p>
*/
inline void SetReason(const char* value) { m_reasonHasBeenSet = true; m_reason.assign(value); }
/**
* <p>A short (255 max characters) human-readable string to provide additional
* details about a running or stopped container.</p>
*/
inline ContainerDetail& WithReason(const Aws::String& value) { SetReason(value); return *this;}
/**
* <p>A short (255 max characters) human-readable string to provide additional
* details about a running or stopped container.</p>
*/
inline ContainerDetail& WithReason(Aws::String&& value) { SetReason(std::move(value)); return *this;}
/**
* <p>A short (255 max characters) human-readable string to provide additional
* details about a running or stopped container.</p>
*/
inline ContainerDetail& WithReason(const char* value) { SetReason(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the container instance on which the
* container is running.</p>
*/
inline const Aws::String& GetContainerInstanceArn() const{ return m_containerInstanceArn; }
/**
* <p>The Amazon Resource Name (ARN) of the container instance on which the
* container is running.</p>
*/
inline bool ContainerInstanceArnHasBeenSet() const { return m_containerInstanceArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the container instance on which the
* container is running.</p>
*/
inline void SetContainerInstanceArn(const Aws::String& value) { m_containerInstanceArnHasBeenSet = true; m_containerInstanceArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the container instance on which the
* container is running.</p>
*/
inline void SetContainerInstanceArn(Aws::String&& value) { m_containerInstanceArnHasBeenSet = true; m_containerInstanceArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the container instance on which the
* container is running.</p>
*/
inline void SetContainerInstanceArn(const char* value) { m_containerInstanceArnHasBeenSet = true; m_containerInstanceArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the container instance on which the
* container is running.</p>
*/
inline ContainerDetail& WithContainerInstanceArn(const Aws::String& value) { SetContainerInstanceArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the container instance on which the
* container is running.</p>
*/
inline ContainerDetail& WithContainerInstanceArn(Aws::String&& value) { SetContainerInstanceArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the container instance on which the
* container is running.</p>
*/
inline ContainerDetail& WithContainerInstanceArn(const char* value) { SetContainerInstanceArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with
* the container job. Each container attempt receives a task ARN when they reach
* the <code>STARTING</code> status.</p>
*/
inline const Aws::String& GetTaskArn() const{ return m_taskArn; }
/**
* <p>The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with
* the container job. Each container attempt receives a task ARN when they reach
* the <code>STARTING</code> status.</p>
*/
inline bool TaskArnHasBeenSet() const { return m_taskArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with
* the container job. Each container attempt receives a task ARN when they reach
* the <code>STARTING</code> status.</p>
*/
inline void SetTaskArn(const Aws::String& value) { m_taskArnHasBeenSet = true; m_taskArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with
* the container job. Each container attempt receives a task ARN when they reach
* the <code>STARTING</code> status.</p>
*/
inline void SetTaskArn(Aws::String&& value) { m_taskArnHasBeenSet = true; m_taskArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with
* the container job. Each container attempt receives a task ARN when they reach
* the <code>STARTING</code> status.</p>
*/
inline void SetTaskArn(const char* value) { m_taskArnHasBeenSet = true; m_taskArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with
* the container job. Each container attempt receives a task ARN when they reach
* the <code>STARTING</code> status.</p>
*/
inline ContainerDetail& WithTaskArn(const Aws::String& value) { SetTaskArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with
* the container job. Each container attempt receives a task ARN when they reach
* the <code>STARTING</code> status.</p>
*/
inline ContainerDetail& WithTaskArn(Aws::String&& value) { SetTaskArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with
* the container job. Each container attempt receives a task ARN when they reach
* the <code>STARTING</code> status.</p>
*/
inline ContainerDetail& WithTaskArn(const char* value) { SetTaskArn(value); return *this;}
/**
* <p>The name of the CloudWatch Logs log stream associated with the container. The
* log group for AWS Batch jobs is <code>/aws/batch/job</code>. Each container
* attempt receives a log stream name when they reach the <code>RUNNING</code>
* status.</p>
*/
inline const Aws::String& GetLogStreamName() const{ return m_logStreamName; }
/**
* <p>The name of the CloudWatch Logs log stream associated with the container. The
* log group for AWS Batch jobs is <code>/aws/batch/job</code>. Each container
* attempt receives a log stream name when they reach the <code>RUNNING</code>
* status.</p>
*/
inline bool LogStreamNameHasBeenSet() const { return m_logStreamNameHasBeenSet; }
/**
* <p>The name of the CloudWatch Logs log stream associated with the container. The
* log group for AWS Batch jobs is <code>/aws/batch/job</code>. Each container
* attempt receives a log stream name when they reach the <code>RUNNING</code>
* status.</p>
*/
inline void SetLogStreamName(const Aws::String& value) { m_logStreamNameHasBeenSet = true; m_logStreamName = value; }
/**
* <p>The name of the CloudWatch Logs log stream associated with the container. The
* log group for AWS Batch jobs is <code>/aws/batch/job</code>. Each container
* attempt receives a log stream name when they reach the <code>RUNNING</code>
* status.</p>
*/
inline void SetLogStreamName(Aws::String&& value) { m_logStreamNameHasBeenSet = true; m_logStreamName = std::move(value); }
/**
* <p>The name of the CloudWatch Logs log stream associated with the container. The
* log group for AWS Batch jobs is <code>/aws/batch/job</code>. Each container
* attempt receives a log stream name when they reach the <code>RUNNING</code>
* status.</p>
*/
inline void SetLogStreamName(const char* value) { m_logStreamNameHasBeenSet = true; m_logStreamName.assign(value); }
/**
* <p>The name of the CloudWatch Logs log stream associated with the container. The
* log group for AWS Batch jobs is <code>/aws/batch/job</code>. Each container
* attempt receives a log stream name when they reach the <code>RUNNING</code>
* status.</p>
*/
inline ContainerDetail& WithLogStreamName(const Aws::String& value) { SetLogStreamName(value); return *this;}
/**
* <p>The name of the CloudWatch Logs log stream associated with the container. The
* log group for AWS Batch jobs is <code>/aws/batch/job</code>. Each container
* attempt receives a log stream name when they reach the <code>RUNNING</code>
* status.</p>
*/
inline ContainerDetail& WithLogStreamName(Aws::String&& value) { SetLogStreamName(std::move(value)); return *this;}
/**
* <p>The name of the CloudWatch Logs log stream associated with the container. The
* log group for AWS Batch jobs is <code>/aws/batch/job</code>. Each container
* attempt receives a log stream name when they reach the <code>RUNNING</code>
* status.</p>
*/
inline ContainerDetail& WithLogStreamName(const char* value) { SetLogStreamName(value); return *this;}
/**
* <p>The instance type of the underlying host infrastructure of a multi-node
* parallel job.</p>
*/
inline const Aws::String& GetInstanceType() const{ return m_instanceType; }
/**
* <p>The instance type of the underlying host infrastructure of a multi-node
* parallel job.</p>
*/
inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
/**
* <p>The instance type of the underlying host infrastructure of a multi-node
* parallel job.</p>
*/
inline void SetInstanceType(const Aws::String& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; }
/**
* <p>The instance type of the underlying host infrastructure of a multi-node
* parallel job.</p>
*/
inline void SetInstanceType(Aws::String&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); }
/**
* <p>The instance type of the underlying host infrastructure of a multi-node
* parallel job.</p>
*/
inline void SetInstanceType(const char* value) { m_instanceTypeHasBeenSet = true; m_instanceType.assign(value); }
/**
* <p>The instance type of the underlying host infrastructure of a multi-node
* parallel job.</p>
*/
inline ContainerDetail& WithInstanceType(const Aws::String& value) { SetInstanceType(value); return *this;}
/**
* <p>The instance type of the underlying host infrastructure of a multi-node
* parallel job.</p>
*/
inline ContainerDetail& WithInstanceType(Aws::String&& value) { SetInstanceType(std::move(value)); return *this;}
/**
* <p>The instance type of the underlying host infrastructure of a multi-node
* parallel job.</p>
*/
inline ContainerDetail& WithInstanceType(const char* value) { SetInstanceType(value); return *this;}
/**
* <p>The network interfaces associated with the job.</p>
*/
inline const Aws::Vector<NetworkInterface>& GetNetworkInterfaces() const{ return m_networkInterfaces; }
/**
* <p>The network interfaces associated with the job.</p>
*/
inline bool NetworkInterfacesHasBeenSet() const { return m_networkInterfacesHasBeenSet; }
/**
* <p>The network interfaces associated with the job.</p>
*/
inline void SetNetworkInterfaces(const Aws::Vector<NetworkInterface>& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces = value; }
/**
* <p>The network interfaces associated with the job.</p>
*/
inline void SetNetworkInterfaces(Aws::Vector<NetworkInterface>&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces = std::move(value); }
/**
* <p>The network interfaces associated with the job.</p>
*/
inline ContainerDetail& WithNetworkInterfaces(const Aws::Vector<NetworkInterface>& value) { SetNetworkInterfaces(value); return *this;}
/**
* <p>The network interfaces associated with the job.</p>
*/
inline ContainerDetail& WithNetworkInterfaces(Aws::Vector<NetworkInterface>&& value) { SetNetworkInterfaces(std::move(value)); return *this;}
/**
* <p>The network interfaces associated with the job.</p>
*/
inline ContainerDetail& AddNetworkInterfaces(const NetworkInterface& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.push_back(value); return *this; }
/**
* <p>The network interfaces associated with the job.</p>
*/
inline ContainerDetail& AddNetworkInterfaces(NetworkInterface&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.push_back(std::move(value)); return *this; }
/**
* <p>The type and amount of a resource to assign to a container. Currently, the
* only supported resource is <code>GPU</code>.</p>
*/
inline const Aws::Vector<ResourceRequirement>& GetResourceRequirements() const{ return m_resourceRequirements; }
/**
* <p>The type and amount of a resource to assign to a container. Currently, the
* only supported resource is <code>GPU</code>.</p>
*/
inline bool ResourceRequirementsHasBeenSet() const { return m_resourceRequirementsHasBeenSet; }
/**
* <p>The type and amount of a resource to assign to a container. Currently, the
* only supported resource is <code>GPU</code>.</p>
*/
inline void SetResourceRequirements(const Aws::Vector<ResourceRequirement>& value) { m_resourceRequirementsHasBeenSet = true; m_resourceRequirements = value; }
/**
* <p>The type and amount of a resource to assign to a container. Currently, the
* only supported resource is <code>GPU</code>.</p>
*/
inline void SetResourceRequirements(Aws::Vector<ResourceRequirement>&& value) { m_resourceRequirementsHasBeenSet = true; m_resourceRequirements = std::move(value); }
/**
* <p>The type and amount of a resource to assign to a container. Currently, the
* only supported resource is <code>GPU</code>.</p>
*/
inline ContainerDetail& WithResourceRequirements(const Aws::Vector<ResourceRequirement>& value) { SetResourceRequirements(value); return *this;}
/**
* <p>The type and amount of a resource to assign to a container. Currently, the
* only supported resource is <code>GPU</code>.</p>
*/
inline ContainerDetail& WithResourceRequirements(Aws::Vector<ResourceRequirement>&& value) { SetResourceRequirements(std::move(value)); return *this;}
/**
* <p>The type and amount of a resource to assign to a container. Currently, the
* only supported resource is <code>GPU</code>.</p>
*/
inline ContainerDetail& AddResourceRequirements(const ResourceRequirement& value) { m_resourceRequirementsHasBeenSet = true; m_resourceRequirements.push_back(value); return *this; }
/**
* <p>The type and amount of a resource to assign to a container. Currently, the
* only supported resource is <code>GPU</code>.</p>
*/
inline ContainerDetail& AddResourceRequirements(ResourceRequirement&& value) { m_resourceRequirementsHasBeenSet = true; m_resourceRequirements.push_back(std::move(value)); return *this; }
/**
* <p>Linux-specific modifications that are applied to the container, such as
* details for device mappings.</p>
*/
inline const LinuxParameters& GetLinuxParameters() const{ return m_linuxParameters; }
/**
* <p>Linux-specific modifications that are applied to the container, such as
* details for device mappings.</p>
*/
inline bool LinuxParametersHasBeenSet() const { return m_linuxParametersHasBeenSet; }
/**
* <p>Linux-specific modifications that are applied to the container, such as
* details for device mappings.</p>
*/
inline void SetLinuxParameters(const LinuxParameters& value) { m_linuxParametersHasBeenSet = true; m_linuxParameters = value; }
/**
* <p>Linux-specific modifications that are applied to the container, such as
* details for device mappings.</p>
*/
inline void SetLinuxParameters(LinuxParameters&& value) { m_linuxParametersHasBeenSet = true; m_linuxParameters = std::move(value); }
/**
* <p>Linux-specific modifications that are applied to the container, such as
* details for device mappings.</p>
*/
inline ContainerDetail& WithLinuxParameters(const LinuxParameters& value) { SetLinuxParameters(value); return *this;}
/**
* <p>Linux-specific modifications that are applied to the container, such as
* details for device mappings.</p>
*/
inline ContainerDetail& WithLinuxParameters(LinuxParameters&& value) { SetLinuxParameters(std::move(value)); return *this;}
private:
Aws::String m_image;
bool m_imageHasBeenSet;
int m_vcpus;
bool m_vcpusHasBeenSet;
int m_memory;
bool m_memoryHasBeenSet;
Aws::Vector<Aws::String> m_command;
bool m_commandHasBeenSet;
Aws::String m_jobRoleArn;
bool m_jobRoleArnHasBeenSet;
Aws::Vector<Volume> m_volumes;
bool m_volumesHasBeenSet;
Aws::Vector<KeyValuePair> m_environment;
bool m_environmentHasBeenSet;
Aws::Vector<MountPoint> m_mountPoints;
bool m_mountPointsHasBeenSet;
bool m_readonlyRootFilesystem;
bool m_readonlyRootFilesystemHasBeenSet;
Aws::Vector<Ulimit> m_ulimits;
bool m_ulimitsHasBeenSet;
bool m_privileged;
bool m_privilegedHasBeenSet;
Aws::String m_user;
bool m_userHasBeenSet;
int m_exitCode;
bool m_exitCodeHasBeenSet;
Aws::String m_reason;
bool m_reasonHasBeenSet;
Aws::String m_containerInstanceArn;
bool m_containerInstanceArnHasBeenSet;
Aws::String m_taskArn;
bool m_taskArnHasBeenSet;
Aws::String m_logStreamName;
bool m_logStreamNameHasBeenSet;
Aws::String m_instanceType;
bool m_instanceTypeHasBeenSet;
Aws::Vector<NetworkInterface> m_networkInterfaces;
bool m_networkInterfacesHasBeenSet;
Aws::Vector<ResourceRequirement> m_resourceRequirements;
bool m_resourceRequirementsHasBeenSet;
LinuxParameters m_linuxParameters;
bool m_linuxParametersHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,358 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/batch/model/KeyValuePair.h>
#include <aws/batch/model/ResourceRequirement.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>The overrides that should be sent to a container.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ContainerOverrides">AWS
* API Reference</a></p>
*/
class AWS_BATCH_API ContainerOverrides
{
public:
ContainerOverrides();
ContainerOverrides(Aws::Utils::Json::JsonView jsonValue);
ContainerOverrides& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The number of vCPUs to reserve for the container. This value overrides the
* value set in the job definition.</p>
*/
inline int GetVcpus() const{ return m_vcpus; }
/**
* <p>The number of vCPUs to reserve for the container. This value overrides the
* value set in the job definition.</p>
*/
inline bool VcpusHasBeenSet() const { return m_vcpusHasBeenSet; }
/**
* <p>The number of vCPUs to reserve for the container. This value overrides the
* value set in the job definition.</p>
*/
inline void SetVcpus(int value) { m_vcpusHasBeenSet = true; m_vcpus = value; }
/**
* <p>The number of vCPUs to reserve for the container. This value overrides the
* value set in the job definition.</p>
*/
inline ContainerOverrides& WithVcpus(int value) { SetVcpus(value); return *this;}
/**
* <p>The number of MiB of memory reserved for the job. This value overrides the
* value set in the job definition.</p>
*/
inline int GetMemory() const{ return m_memory; }
/**
* <p>The number of MiB of memory reserved for the job. This value overrides the
* value set in the job definition.</p>
*/
inline bool MemoryHasBeenSet() const { return m_memoryHasBeenSet; }
/**
* <p>The number of MiB of memory reserved for the job. This value overrides the
* value set in the job definition.</p>
*/
inline void SetMemory(int value) { m_memoryHasBeenSet = true; m_memory = value; }
/**
* <p>The number of MiB of memory reserved for the job. This value overrides the
* value set in the job definition.</p>
*/
inline ContainerOverrides& WithMemory(int value) { SetMemory(value); return *this;}
/**
* <p>The command to send to the container that overrides the default command from
* the Docker image or the job definition.</p>
*/
inline const Aws::Vector<Aws::String>& GetCommand() const{ return m_command; }
/**
* <p>The command to send to the container that overrides the default command from
* the Docker image or the job definition.</p>
*/
inline bool CommandHasBeenSet() const { return m_commandHasBeenSet; }
/**
* <p>The command to send to the container that overrides the default command from
* the Docker image or the job definition.</p>
*/
inline void SetCommand(const Aws::Vector<Aws::String>& value) { m_commandHasBeenSet = true; m_command = value; }
/**
* <p>The command to send to the container that overrides the default command from
* the Docker image or the job definition.</p>
*/
inline void SetCommand(Aws::Vector<Aws::String>&& value) { m_commandHasBeenSet = true; m_command = std::move(value); }
/**
* <p>The command to send to the container that overrides the default command from
* the Docker image or the job definition.</p>
*/
inline ContainerOverrides& WithCommand(const Aws::Vector<Aws::String>& value) { SetCommand(value); return *this;}
/**
* <p>The command to send to the container that overrides the default command from
* the Docker image or the job definition.</p>
*/
inline ContainerOverrides& WithCommand(Aws::Vector<Aws::String>&& value) { SetCommand(std::move(value)); return *this;}
/**
* <p>The command to send to the container that overrides the default command from
* the Docker image or the job definition.</p>
*/
inline ContainerOverrides& AddCommand(const Aws::String& value) { m_commandHasBeenSet = true; m_command.push_back(value); return *this; }
/**
* <p>The command to send to the container that overrides the default command from
* the Docker image or the job definition.</p>
*/
inline ContainerOverrides& AddCommand(Aws::String&& value) { m_commandHasBeenSet = true; m_command.push_back(std::move(value)); return *this; }
/**
* <p>The command to send to the container that overrides the default command from
* the Docker image or the job definition.</p>
*/
inline ContainerOverrides& AddCommand(const char* value) { m_commandHasBeenSet = true; m_command.push_back(value); return *this; }
/**
* <p>The instance type to use for a multi-node parallel job. This parameter is not
* valid for single-node container jobs.</p>
*/
inline const Aws::String& GetInstanceType() const{ return m_instanceType; }
/**
* <p>The instance type to use for a multi-node parallel job. This parameter is not
* valid for single-node container jobs.</p>
*/
inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
/**
* <p>The instance type to use for a multi-node parallel job. This parameter is not
* valid for single-node container jobs.</p>
*/
inline void SetInstanceType(const Aws::String& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; }
/**
* <p>The instance type to use for a multi-node parallel job. This parameter is not
* valid for single-node container jobs.</p>
*/
inline void SetInstanceType(Aws::String&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); }
/**
* <p>The instance type to use for a multi-node parallel job. This parameter is not
* valid for single-node container jobs.</p>
*/
inline void SetInstanceType(const char* value) { m_instanceTypeHasBeenSet = true; m_instanceType.assign(value); }
/**
* <p>The instance type to use for a multi-node parallel job. This parameter is not
* valid for single-node container jobs.</p>
*/
inline ContainerOverrides& WithInstanceType(const Aws::String& value) { SetInstanceType(value); return *this;}
/**
* <p>The instance type to use for a multi-node parallel job. This parameter is not
* valid for single-node container jobs.</p>
*/
inline ContainerOverrides& WithInstanceType(Aws::String&& value) { SetInstanceType(std::move(value)); return *this;}
/**
* <p>The instance type to use for a multi-node parallel job. This parameter is not
* valid for single-node container jobs.</p>
*/
inline ContainerOverrides& WithInstanceType(const char* value) { SetInstanceType(value); return *this;}
/**
* <p>The environment variables to send to the container. You can add new
* environment variables, which are added to the container at launch, or you can
* override the existing environment variables from the Docker image or the job
* definition.</p> <p>Environment variables must not start with
* <code>AWS_BATCH</code>; this naming convention is reserved for variables that
* are set by the AWS Batch service.</p>
*/
inline const Aws::Vector<KeyValuePair>& GetEnvironment() const{ return m_environment; }
/**
* <p>The environment variables to send to the container. You can add new
* environment variables, which are added to the container at launch, or you can
* override the existing environment variables from the Docker image or the job
* definition.</p> <p>Environment variables must not start with
* <code>AWS_BATCH</code>; this naming convention is reserved for variables that
* are set by the AWS Batch service.</p>
*/
inline bool EnvironmentHasBeenSet() const { return m_environmentHasBeenSet; }
/**
* <p>The environment variables to send to the container. You can add new
* environment variables, which are added to the container at launch, or you can
* override the existing environment variables from the Docker image or the job
* definition.</p> <p>Environment variables must not start with
* <code>AWS_BATCH</code>; this naming convention is reserved for variables that
* are set by the AWS Batch service.</p>
*/
inline void SetEnvironment(const Aws::Vector<KeyValuePair>& value) { m_environmentHasBeenSet = true; m_environment = value; }
/**
* <p>The environment variables to send to the container. You can add new
* environment variables, which are added to the container at launch, or you can
* override the existing environment variables from the Docker image or the job
* definition.</p> <p>Environment variables must not start with
* <code>AWS_BATCH</code>; this naming convention is reserved for variables that
* are set by the AWS Batch service.</p>
*/
inline void SetEnvironment(Aws::Vector<KeyValuePair>&& value) { m_environmentHasBeenSet = true; m_environment = std::move(value); }
/**
* <p>The environment variables to send to the container. You can add new
* environment variables, which are added to the container at launch, or you can
* override the existing environment variables from the Docker image or the job
* definition.</p> <p>Environment variables must not start with
* <code>AWS_BATCH</code>; this naming convention is reserved for variables that
* are set by the AWS Batch service.</p>
*/
inline ContainerOverrides& WithEnvironment(const Aws::Vector<KeyValuePair>& value) { SetEnvironment(value); return *this;}
/**
* <p>The environment variables to send to the container. You can add new
* environment variables, which are added to the container at launch, or you can
* override the existing environment variables from the Docker image or the job
* definition.</p> <p>Environment variables must not start with
* <code>AWS_BATCH</code>; this naming convention is reserved for variables that
* are set by the AWS Batch service.</p>
*/
inline ContainerOverrides& WithEnvironment(Aws::Vector<KeyValuePair>&& value) { SetEnvironment(std::move(value)); return *this;}
/**
* <p>The environment variables to send to the container. You can add new
* environment variables, which are added to the container at launch, or you can
* override the existing environment variables from the Docker image or the job
* definition.</p> <p>Environment variables must not start with
* <code>AWS_BATCH</code>; this naming convention is reserved for variables that
* are set by the AWS Batch service.</p>
*/
inline ContainerOverrides& AddEnvironment(const KeyValuePair& value) { m_environmentHasBeenSet = true; m_environment.push_back(value); return *this; }
/**
* <p>The environment variables to send to the container. You can add new
* environment variables, which are added to the container at launch, or you can
* override the existing environment variables from the Docker image or the job
* definition.</p> <p>Environment variables must not start with
* <code>AWS_BATCH</code>; this naming convention is reserved for variables that
* are set by the AWS Batch service.</p>
*/
inline ContainerOverrides& AddEnvironment(KeyValuePair&& value) { m_environmentHasBeenSet = true; m_environment.push_back(std::move(value)); return *this; }
/**
* <p>The type and amount of a resource to assign to a container. This value
* overrides the value set in the job definition. Currently, the only supported
* resource is <code>GPU</code>.</p>
*/
inline const Aws::Vector<ResourceRequirement>& GetResourceRequirements() const{ return m_resourceRequirements; }
/**
* <p>The type and amount of a resource to assign to a container. This value
* overrides the value set in the job definition. Currently, the only supported
* resource is <code>GPU</code>.</p>
*/
inline bool ResourceRequirementsHasBeenSet() const { return m_resourceRequirementsHasBeenSet; }
/**
* <p>The type and amount of a resource to assign to a container. This value
* overrides the value set in the job definition. Currently, the only supported
* resource is <code>GPU</code>.</p>
*/
inline void SetResourceRequirements(const Aws::Vector<ResourceRequirement>& value) { m_resourceRequirementsHasBeenSet = true; m_resourceRequirements = value; }
/**
* <p>The type and amount of a resource to assign to a container. This value
* overrides the value set in the job definition. Currently, the only supported
* resource is <code>GPU</code>.</p>
*/
inline void SetResourceRequirements(Aws::Vector<ResourceRequirement>&& value) { m_resourceRequirementsHasBeenSet = true; m_resourceRequirements = std::move(value); }
/**
* <p>The type and amount of a resource to assign to a container. This value
* overrides the value set in the job definition. Currently, the only supported
* resource is <code>GPU</code>.</p>
*/
inline ContainerOverrides& WithResourceRequirements(const Aws::Vector<ResourceRequirement>& value) { SetResourceRequirements(value); return *this;}
/**
* <p>The type and amount of a resource to assign to a container. This value
* overrides the value set in the job definition. Currently, the only supported
* resource is <code>GPU</code>.</p>
*/
inline ContainerOverrides& WithResourceRequirements(Aws::Vector<ResourceRequirement>&& value) { SetResourceRequirements(std::move(value)); return *this;}
/**
* <p>The type and amount of a resource to assign to a container. This value
* overrides the value set in the job definition. Currently, the only supported
* resource is <code>GPU</code>.</p>
*/
inline ContainerOverrides& AddResourceRequirements(const ResourceRequirement& value) { m_resourceRequirementsHasBeenSet = true; m_resourceRequirements.push_back(value); return *this; }
/**
* <p>The type and amount of a resource to assign to a container. This value
* overrides the value set in the job definition. Currently, the only supported
* resource is <code>GPU</code>.</p>
*/
inline ContainerOverrides& AddResourceRequirements(ResourceRequirement&& value) { m_resourceRequirementsHasBeenSet = true; m_resourceRequirements.push_back(std::move(value)); return *this; }
private:
int m_vcpus;
bool m_vcpusHasBeenSet;
int m_memory;
bool m_memoryHasBeenSet;
Aws::Vector<Aws::String> m_command;
bool m_commandHasBeenSet;
Aws::String m_instanceType;
bool m_instanceTypeHasBeenSet;
Aws::Vector<KeyValuePair> m_environment;
bool m_environmentHasBeenSet;
Aws::Vector<ResourceRequirement> m_resourceRequirements;
bool m_resourceRequirementsHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,121 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>An object representing summary details of a container within a
* job.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ContainerSummary">AWS
* API Reference</a></p>
*/
class AWS_BATCH_API ContainerSummary
{
public:
ContainerSummary();
ContainerSummary(Aws::Utils::Json::JsonView jsonValue);
ContainerSummary& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The exit code to return upon completion.</p>
*/
inline int GetExitCode() const{ return m_exitCode; }
/**
* <p>The exit code to return upon completion.</p>
*/
inline bool ExitCodeHasBeenSet() const { return m_exitCodeHasBeenSet; }
/**
* <p>The exit code to return upon completion.</p>
*/
inline void SetExitCode(int value) { m_exitCodeHasBeenSet = true; m_exitCode = value; }
/**
* <p>The exit code to return upon completion.</p>
*/
inline ContainerSummary& WithExitCode(int value) { SetExitCode(value); return *this;}
/**
* <p>A short (255 max characters) human-readable string to provide additional
* details about a running or stopped container.</p>
*/
inline const Aws::String& GetReason() const{ return m_reason; }
/**
* <p>A short (255 max characters) human-readable string to provide additional
* details about a running or stopped container.</p>
*/
inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; }
/**
* <p>A short (255 max characters) human-readable string to provide additional
* details about a running or stopped container.</p>
*/
inline void SetReason(const Aws::String& value) { m_reasonHasBeenSet = true; m_reason = value; }
/**
* <p>A short (255 max characters) human-readable string to provide additional
* details about a running or stopped container.</p>
*/
inline void SetReason(Aws::String&& value) { m_reasonHasBeenSet = true; m_reason = std::move(value); }
/**
* <p>A short (255 max characters) human-readable string to provide additional
* details about a running or stopped container.</p>
*/
inline void SetReason(const char* value) { m_reasonHasBeenSet = true; m_reason.assign(value); }
/**
* <p>A short (255 max characters) human-readable string to provide additional
* details about a running or stopped container.</p>
*/
inline ContainerSummary& WithReason(const Aws::String& value) { SetReason(value); return *this;}
/**
* <p>A short (255 max characters) human-readable string to provide additional
* details about a running or stopped container.</p>
*/
inline ContainerSummary& WithReason(Aws::String&& value) { SetReason(std::move(value)); return *this;}
/**
* <p>A short (255 max characters) human-readable string to provide additional
* details about a running or stopped container.</p>
*/
inline ContainerSummary& WithReason(const char* value) { SetReason(value); return *this;}
private:
int m_exitCode;
bool m_exitCodeHasBeenSet;
Aws::String m_reason;
bool m_reasonHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,360 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/batch/BatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/batch/model/CEType.h>
#include <aws/batch/model/CEState.h>
#include <aws/batch/model/ComputeResource.h>
#include <utility>
namespace Aws
{
namespace Batch
{
namespace Model
{
/**
*/
class AWS_BATCH_API CreateComputeEnvironmentRequest : public BatchRequest
{
public:
CreateComputeEnvironmentRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CreateComputeEnvironment"; }
Aws::String SerializePayload() const override;
/**
* <p>The name for your compute environment. Up to 128 letters (uppercase and
* lowercase), numbers, hyphens, and underscores are allowed.</p>
*/
inline const Aws::String& GetComputeEnvironmentName() const{ return m_computeEnvironmentName; }
/**
* <p>The name for your compute environment. Up to 128 letters (uppercase and
* lowercase), numbers, hyphens, and underscores are allowed.</p>
*/
inline bool ComputeEnvironmentNameHasBeenSet() const { return m_computeEnvironmentNameHasBeenSet; }
/**
* <p>The name for your compute environment. Up to 128 letters (uppercase and
* lowercase), numbers, hyphens, and underscores are allowed.</p>
*/
inline void SetComputeEnvironmentName(const Aws::String& value) { m_computeEnvironmentNameHasBeenSet = true; m_computeEnvironmentName = value; }
/**
* <p>The name for your compute environment. Up to 128 letters (uppercase and
* lowercase), numbers, hyphens, and underscores are allowed.</p>
*/
inline void SetComputeEnvironmentName(Aws::String&& value) { m_computeEnvironmentNameHasBeenSet = true; m_computeEnvironmentName = std::move(value); }
/**
* <p>The name for your compute environment. Up to 128 letters (uppercase and
* lowercase), numbers, hyphens, and underscores are allowed.</p>
*/
inline void SetComputeEnvironmentName(const char* value) { m_computeEnvironmentNameHasBeenSet = true; m_computeEnvironmentName.assign(value); }
/**
* <p>The name for your compute environment. Up to 128 letters (uppercase and
* lowercase), numbers, hyphens, and underscores are allowed.</p>
*/
inline CreateComputeEnvironmentRequest& WithComputeEnvironmentName(const Aws::String& value) { SetComputeEnvironmentName(value); return *this;}
/**
* <p>The name for your compute environment. Up to 128 letters (uppercase and
* lowercase), numbers, hyphens, and underscores are allowed.</p>
*/
inline CreateComputeEnvironmentRequest& WithComputeEnvironmentName(Aws::String&& value) { SetComputeEnvironmentName(std::move(value)); return *this;}
/**
* <p>The name for your compute environment. Up to 128 letters (uppercase and
* lowercase), numbers, hyphens, and underscores are allowed.</p>
*/
inline CreateComputeEnvironmentRequest& WithComputeEnvironmentName(const char* value) { SetComputeEnvironmentName(value); return *this;}
/**
* <p>The type of the compute environment. For more information, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html">Compute
* Environments</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline const CEType& GetType() const{ return m_type; }
/**
* <p>The type of the compute environment. For more information, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html">Compute
* Environments</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
/**
* <p>The type of the compute environment. For more information, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html">Compute
* Environments</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline void SetType(const CEType& value) { m_typeHasBeenSet = true; m_type = value; }
/**
* <p>The type of the compute environment. For more information, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html">Compute
* Environments</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline void SetType(CEType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
/**
* <p>The type of the compute environment. For more information, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html">Compute
* Environments</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline CreateComputeEnvironmentRequest& WithType(const CEType& value) { SetType(value); return *this;}
/**
* <p>The type of the compute environment. For more information, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html">Compute
* Environments</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline CreateComputeEnvironmentRequest& WithType(CEType&& value) { SetType(std::move(value)); return *this;}
/**
* <p>The state of the compute environment. If the state is <code>ENABLED</code>,
* then the compute environment accepts jobs from a queue and can scale out
* automatically based on queues.</p>
*/
inline const CEState& GetState() const{ return m_state; }
/**
* <p>The state of the compute environment. If the state is <code>ENABLED</code>,
* then the compute environment accepts jobs from a queue and can scale out
* automatically based on queues.</p>
*/
inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
/**
* <p>The state of the compute environment. If the state is <code>ENABLED</code>,
* then the compute environment accepts jobs from a queue and can scale out
* automatically based on queues.</p>
*/
inline void SetState(const CEState& value) { m_stateHasBeenSet = true; m_state = value; }
/**
* <p>The state of the compute environment. If the state is <code>ENABLED</code>,
* then the compute environment accepts jobs from a queue and can scale out
* automatically based on queues.</p>
*/
inline void SetState(CEState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); }
/**
* <p>The state of the compute environment. If the state is <code>ENABLED</code>,
* then the compute environment accepts jobs from a queue and can scale out
* automatically based on queues.</p>
*/
inline CreateComputeEnvironmentRequest& WithState(const CEState& value) { SetState(value); return *this;}
/**
* <p>The state of the compute environment. If the state is <code>ENABLED</code>,
* then the compute environment accepts jobs from a queue and can scale out
* automatically based on queues.</p>
*/
inline CreateComputeEnvironmentRequest& WithState(CEState&& value) { SetState(std::move(value)); return *this;}
/**
* <p>Details of the compute resources managed by the compute environment. This
* parameter is required for managed compute environments. For more information,
* see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html">Compute
* Environments</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline const ComputeResource& GetComputeResources() const{ return m_computeResources; }
/**
* <p>Details of the compute resources managed by the compute environment. This
* parameter is required for managed compute environments. For more information,
* see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html">Compute
* Environments</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline bool ComputeResourcesHasBeenSet() const { return m_computeResourcesHasBeenSet; }
/**
* <p>Details of the compute resources managed by the compute environment. This
* parameter is required for managed compute environments. For more information,
* see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html">Compute
* Environments</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline void SetComputeResources(const ComputeResource& value) { m_computeResourcesHasBeenSet = true; m_computeResources = value; }
/**
* <p>Details of the compute resources managed by the compute environment. This
* parameter is required for managed compute environments. For more information,
* see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html">Compute
* Environments</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline void SetComputeResources(ComputeResource&& value) { m_computeResourcesHasBeenSet = true; m_computeResources = std::move(value); }
/**
* <p>Details of the compute resources managed by the compute environment. This
* parameter is required for managed compute environments. For more information,
* see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html">Compute
* Environments</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline CreateComputeEnvironmentRequest& WithComputeResources(const ComputeResource& value) { SetComputeResources(value); return *this;}
/**
* <p>Details of the compute resources managed by the compute environment. This
* parameter is required for managed compute environments. For more information,
* see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html">Compute
* Environments</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline CreateComputeEnvironmentRequest& WithComputeResources(ComputeResource&& value) { SetComputeResources(std::move(value)); return *this;}
/**
* <p>The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to
* make calls to other AWS services on your behalf.</p> <p>If your specified role
* has a path other than <code>/</code>, then you must either specify the full role
* ARN (this is recommended) or prefix the role name with the path.</p>
* <p>Depending on how you created your AWS Batch service role, its ARN may contain
* the <code>service-role</code> path prefix. When you only specify the name of the
* service role, AWS Batch assumes that your ARN does not use the
* <code>service-role</code> path prefix. Because of this, we recommend that you
* specify the full ARN of your service role when you create compute
* environments.</p>
*/
inline const Aws::String& GetServiceRole() const{ return m_serviceRole; }
/**
* <p>The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to
* make calls to other AWS services on your behalf.</p> <p>If your specified role
* has a path other than <code>/</code>, then you must either specify the full role
* ARN (this is recommended) or prefix the role name with the path.</p>
* <p>Depending on how you created your AWS Batch service role, its ARN may contain
* the <code>service-role</code> path prefix. When you only specify the name of the
* service role, AWS Batch assumes that your ARN does not use the
* <code>service-role</code> path prefix. Because of this, we recommend that you
* specify the full ARN of your service role when you create compute
* environments.</p>
*/
inline bool ServiceRoleHasBeenSet() const { return m_serviceRoleHasBeenSet; }
/**
* <p>The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to
* make calls to other AWS services on your behalf.</p> <p>If your specified role
* has a path other than <code>/</code>, then you must either specify the full role
* ARN (this is recommended) or prefix the role name with the path.</p>
* <p>Depending on how you created your AWS Batch service role, its ARN may contain
* the <code>service-role</code> path prefix. When you only specify the name of the
* service role, AWS Batch assumes that your ARN does not use the
* <code>service-role</code> path prefix. Because of this, we recommend that you
* specify the full ARN of your service role when you create compute
* environments.</p>
*/
inline void SetServiceRole(const Aws::String& value) { m_serviceRoleHasBeenSet = true; m_serviceRole = value; }
/**
* <p>The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to
* make calls to other AWS services on your behalf.</p> <p>If your specified role
* has a path other than <code>/</code>, then you must either specify the full role
* ARN (this is recommended) or prefix the role name with the path.</p>
* <p>Depending on how you created your AWS Batch service role, its ARN may contain
* the <code>service-role</code> path prefix. When you only specify the name of the
* service role, AWS Batch assumes that your ARN does not use the
* <code>service-role</code> path prefix. Because of this, we recommend that you
* specify the full ARN of your service role when you create compute
* environments.</p>
*/
inline void SetServiceRole(Aws::String&& value) { m_serviceRoleHasBeenSet = true; m_serviceRole = std::move(value); }
/**
* <p>The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to
* make calls to other AWS services on your behalf.</p> <p>If your specified role
* has a path other than <code>/</code>, then you must either specify the full role
* ARN (this is recommended) or prefix the role name with the path.</p>
* <p>Depending on how you created your AWS Batch service role, its ARN may contain
* the <code>service-role</code> path prefix. When you only specify the name of the
* service role, AWS Batch assumes that your ARN does not use the
* <code>service-role</code> path prefix. Because of this, we recommend that you
* specify the full ARN of your service role when you create compute
* environments.</p>
*/
inline void SetServiceRole(const char* value) { m_serviceRoleHasBeenSet = true; m_serviceRole.assign(value); }
/**
* <p>The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to
* make calls to other AWS services on your behalf.</p> <p>If your specified role
* has a path other than <code>/</code>, then you must either specify the full role
* ARN (this is recommended) or prefix the role name with the path.</p>
* <p>Depending on how you created your AWS Batch service role, its ARN may contain
* the <code>service-role</code> path prefix. When you only specify the name of the
* service role, AWS Batch assumes that your ARN does not use the
* <code>service-role</code> path prefix. Because of this, we recommend that you
* specify the full ARN of your service role when you create compute
* environments.</p>
*/
inline CreateComputeEnvironmentRequest& WithServiceRole(const Aws::String& value) { SetServiceRole(value); return *this;}
/**
* <p>The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to
* make calls to other AWS services on your behalf.</p> <p>If your specified role
* has a path other than <code>/</code>, then you must either specify the full role
* ARN (this is recommended) or prefix the role name with the path.</p>
* <p>Depending on how you created your AWS Batch service role, its ARN may contain
* the <code>service-role</code> path prefix. When you only specify the name of the
* service role, AWS Batch assumes that your ARN does not use the
* <code>service-role</code> path prefix. Because of this, we recommend that you
* specify the full ARN of your service role when you create compute
* environments.</p>
*/
inline CreateComputeEnvironmentRequest& WithServiceRole(Aws::String&& value) { SetServiceRole(std::move(value)); return *this;}
/**
* <p>The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to
* make calls to other AWS services on your behalf.</p> <p>If your specified role
* has a path other than <code>/</code>, then you must either specify the full role
* ARN (this is recommended) or prefix the role name with the path.</p>
* <p>Depending on how you created your AWS Batch service role, its ARN may contain
* the <code>service-role</code> path prefix. When you only specify the name of the
* service role, AWS Batch assumes that your ARN does not use the
* <code>service-role</code> path prefix. Because of this, we recommend that you
* specify the full ARN of your service role when you create compute
* environments.</p>
*/
inline CreateComputeEnvironmentRequest& WithServiceRole(const char* value) { SetServiceRole(value); return *this;}
private:
Aws::String m_computeEnvironmentName;
bool m_computeEnvironmentNameHasBeenSet;
CEType m_type;
bool m_typeHasBeenSet;
CEState m_state;
bool m_stateHasBeenSet;
ComputeResource m_computeResources;
bool m_computeResourcesHasBeenSet;
Aws::String m_serviceRole;
bool m_serviceRoleHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,115 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
class AWS_BATCH_API CreateComputeEnvironmentResult
{
public:
CreateComputeEnvironmentResult();
CreateComputeEnvironmentResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
CreateComputeEnvironmentResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The name of the compute environment.</p>
*/
inline const Aws::String& GetComputeEnvironmentName() const{ return m_computeEnvironmentName; }
/**
* <p>The name of the compute environment.</p>
*/
inline void SetComputeEnvironmentName(const Aws::String& value) { m_computeEnvironmentName = value; }
/**
* <p>The name of the compute environment.</p>
*/
inline void SetComputeEnvironmentName(Aws::String&& value) { m_computeEnvironmentName = std::move(value); }
/**
* <p>The name of the compute environment.</p>
*/
inline void SetComputeEnvironmentName(const char* value) { m_computeEnvironmentName.assign(value); }
/**
* <p>The name of the compute environment.</p>
*/
inline CreateComputeEnvironmentResult& WithComputeEnvironmentName(const Aws::String& value) { SetComputeEnvironmentName(value); return *this;}
/**
* <p>The name of the compute environment.</p>
*/
inline CreateComputeEnvironmentResult& WithComputeEnvironmentName(Aws::String&& value) { SetComputeEnvironmentName(std::move(value)); return *this;}
/**
* <p>The name of the compute environment.</p>
*/
inline CreateComputeEnvironmentResult& WithComputeEnvironmentName(const char* value) { SetComputeEnvironmentName(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the compute environment.</p>
*/
inline const Aws::String& GetComputeEnvironmentArn() const{ return m_computeEnvironmentArn; }
/**
* <p>The Amazon Resource Name (ARN) of the compute environment.</p>
*/
inline void SetComputeEnvironmentArn(const Aws::String& value) { m_computeEnvironmentArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the compute environment.</p>
*/
inline void SetComputeEnvironmentArn(Aws::String&& value) { m_computeEnvironmentArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the compute environment.</p>
*/
inline void SetComputeEnvironmentArn(const char* value) { m_computeEnvironmentArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the compute environment.</p>
*/
inline CreateComputeEnvironmentResult& WithComputeEnvironmentArn(const Aws::String& value) { SetComputeEnvironmentArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the compute environment.</p>
*/
inline CreateComputeEnvironmentResult& WithComputeEnvironmentArn(Aws::String&& value) { SetComputeEnvironmentArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the compute environment.</p>
*/
inline CreateComputeEnvironmentResult& WithComputeEnvironmentArn(const char* value) { SetComputeEnvironmentArn(value); return *this;}
private:
Aws::String m_computeEnvironmentName;
Aws::String m_computeEnvironmentArn;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,246 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/batch/BatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/batch/model/JQState.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/batch/model/ComputeEnvironmentOrder.h>
#include <utility>
namespace Aws
{
namespace Batch
{
namespace Model
{
/**
*/
class AWS_BATCH_API CreateJobQueueRequest : public BatchRequest
{
public:
CreateJobQueueRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CreateJobQueue"; }
Aws::String SerializePayload() const override;
/**
* <p>The name of the job queue.</p>
*/
inline const Aws::String& GetJobQueueName() const{ return m_jobQueueName; }
/**
* <p>The name of the job queue.</p>
*/
inline bool JobQueueNameHasBeenSet() const { return m_jobQueueNameHasBeenSet; }
/**
* <p>The name of the job queue.</p>
*/
inline void SetJobQueueName(const Aws::String& value) { m_jobQueueNameHasBeenSet = true; m_jobQueueName = value; }
/**
* <p>The name of the job queue.</p>
*/
inline void SetJobQueueName(Aws::String&& value) { m_jobQueueNameHasBeenSet = true; m_jobQueueName = std::move(value); }
/**
* <p>The name of the job queue.</p>
*/
inline void SetJobQueueName(const char* value) { m_jobQueueNameHasBeenSet = true; m_jobQueueName.assign(value); }
/**
* <p>The name of the job queue.</p>
*/
inline CreateJobQueueRequest& WithJobQueueName(const Aws::String& value) { SetJobQueueName(value); return *this;}
/**
* <p>The name of the job queue.</p>
*/
inline CreateJobQueueRequest& WithJobQueueName(Aws::String&& value) { SetJobQueueName(std::move(value)); return *this;}
/**
* <p>The name of the job queue.</p>
*/
inline CreateJobQueueRequest& WithJobQueueName(const char* value) { SetJobQueueName(value); return *this;}
/**
* <p>The state of the job queue. If the job queue state is <code>ENABLED</code>,
* it is able to accept jobs.</p>
*/
inline const JQState& GetState() const{ return m_state; }
/**
* <p>The state of the job queue. If the job queue state is <code>ENABLED</code>,
* it is able to accept jobs.</p>
*/
inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
/**
* <p>The state of the job queue. If the job queue state is <code>ENABLED</code>,
* it is able to accept jobs.</p>
*/
inline void SetState(const JQState& value) { m_stateHasBeenSet = true; m_state = value; }
/**
* <p>The state of the job queue. If the job queue state is <code>ENABLED</code>,
* it is able to accept jobs.</p>
*/
inline void SetState(JQState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); }
/**
* <p>The state of the job queue. If the job queue state is <code>ENABLED</code>,
* it is able to accept jobs.</p>
*/
inline CreateJobQueueRequest& WithState(const JQState& value) { SetState(value); return *this;}
/**
* <p>The state of the job queue. If the job queue state is <code>ENABLED</code>,
* it is able to accept jobs.</p>
*/
inline CreateJobQueueRequest& WithState(JQState&& value) { SetState(std::move(value)); return *this;}
/**
* <p>The priority of the job queue. Job queues with a higher priority (or a higher
* integer value for the <code>priority</code> parameter) are evaluated first when
* associated with the same compute environment. Priority is determined in
* descending order, for example, a job queue with a priority value of
* <code>10</code> is given scheduling preference over a job queue with a priority
* value of <code>1</code>.</p>
*/
inline int GetPriority() const{ return m_priority; }
/**
* <p>The priority of the job queue. Job queues with a higher priority (or a higher
* integer value for the <code>priority</code> parameter) are evaluated first when
* associated with the same compute environment. Priority is determined in
* descending order, for example, a job queue with a priority value of
* <code>10</code> is given scheduling preference over a job queue with a priority
* value of <code>1</code>.</p>
*/
inline bool PriorityHasBeenSet() const { return m_priorityHasBeenSet; }
/**
* <p>The priority of the job queue. Job queues with a higher priority (or a higher
* integer value for the <code>priority</code> parameter) are evaluated first when
* associated with the same compute environment. Priority is determined in
* descending order, for example, a job queue with a priority value of
* <code>10</code> is given scheduling preference over a job queue with a priority
* value of <code>1</code>.</p>
*/
inline void SetPriority(int value) { m_priorityHasBeenSet = true; m_priority = value; }
/**
* <p>The priority of the job queue. Job queues with a higher priority (or a higher
* integer value for the <code>priority</code> parameter) are evaluated first when
* associated with the same compute environment. Priority is determined in
* descending order, for example, a job queue with a priority value of
* <code>10</code> is given scheduling preference over a job queue with a priority
* value of <code>1</code>.</p>
*/
inline CreateJobQueueRequest& WithPriority(int value) { SetPriority(value); return *this;}
/**
* <p>The set of compute environments mapped to a job queue and their order
* relative to each other. The job scheduler uses this parameter to determine which
* compute environment should execute a given job. Compute environments must be in
* the <code>VALID</code> state before you can associate them with a job queue. You
* can associate up to three compute environments with a job queue.</p>
*/
inline const Aws::Vector<ComputeEnvironmentOrder>& GetComputeEnvironmentOrder() const{ return m_computeEnvironmentOrder; }
/**
* <p>The set of compute environments mapped to a job queue and their order
* relative to each other. The job scheduler uses this parameter to determine which
* compute environment should execute a given job. Compute environments must be in
* the <code>VALID</code> state before you can associate them with a job queue. You
* can associate up to three compute environments with a job queue.</p>
*/
inline bool ComputeEnvironmentOrderHasBeenSet() const { return m_computeEnvironmentOrderHasBeenSet; }
/**
* <p>The set of compute environments mapped to a job queue and their order
* relative to each other. The job scheduler uses this parameter to determine which
* compute environment should execute a given job. Compute environments must be in
* the <code>VALID</code> state before you can associate them with a job queue. You
* can associate up to three compute environments with a job queue.</p>
*/
inline void SetComputeEnvironmentOrder(const Aws::Vector<ComputeEnvironmentOrder>& value) { m_computeEnvironmentOrderHasBeenSet = true; m_computeEnvironmentOrder = value; }
/**
* <p>The set of compute environments mapped to a job queue and their order
* relative to each other. The job scheduler uses this parameter to determine which
* compute environment should execute a given job. Compute environments must be in
* the <code>VALID</code> state before you can associate them with a job queue. You
* can associate up to three compute environments with a job queue.</p>
*/
inline void SetComputeEnvironmentOrder(Aws::Vector<ComputeEnvironmentOrder>&& value) { m_computeEnvironmentOrderHasBeenSet = true; m_computeEnvironmentOrder = std::move(value); }
/**
* <p>The set of compute environments mapped to a job queue and their order
* relative to each other. The job scheduler uses this parameter to determine which
* compute environment should execute a given job. Compute environments must be in
* the <code>VALID</code> state before you can associate them with a job queue. You
* can associate up to three compute environments with a job queue.</p>
*/
inline CreateJobQueueRequest& WithComputeEnvironmentOrder(const Aws::Vector<ComputeEnvironmentOrder>& value) { SetComputeEnvironmentOrder(value); return *this;}
/**
* <p>The set of compute environments mapped to a job queue and their order
* relative to each other. The job scheduler uses this parameter to determine which
* compute environment should execute a given job. Compute environments must be in
* the <code>VALID</code> state before you can associate them with a job queue. You
* can associate up to three compute environments with a job queue.</p>
*/
inline CreateJobQueueRequest& WithComputeEnvironmentOrder(Aws::Vector<ComputeEnvironmentOrder>&& value) { SetComputeEnvironmentOrder(std::move(value)); return *this;}
/**
* <p>The set of compute environments mapped to a job queue and their order
* relative to each other. The job scheduler uses this parameter to determine which
* compute environment should execute a given job. Compute environments must be in
* the <code>VALID</code> state before you can associate them with a job queue. You
* can associate up to three compute environments with a job queue.</p>
*/
inline CreateJobQueueRequest& AddComputeEnvironmentOrder(const ComputeEnvironmentOrder& value) { m_computeEnvironmentOrderHasBeenSet = true; m_computeEnvironmentOrder.push_back(value); return *this; }
/**
* <p>The set of compute environments mapped to a job queue and their order
* relative to each other. The job scheduler uses this parameter to determine which
* compute environment should execute a given job. Compute environments must be in
* the <code>VALID</code> state before you can associate them with a job queue. You
* can associate up to three compute environments with a job queue.</p>
*/
inline CreateJobQueueRequest& AddComputeEnvironmentOrder(ComputeEnvironmentOrder&& value) { m_computeEnvironmentOrderHasBeenSet = true; m_computeEnvironmentOrder.push_back(std::move(value)); return *this; }
private:
Aws::String m_jobQueueName;
bool m_jobQueueNameHasBeenSet;
JQState m_state;
bool m_stateHasBeenSet;
int m_priority;
bool m_priorityHasBeenSet;
Aws::Vector<ComputeEnvironmentOrder> m_computeEnvironmentOrder;
bool m_computeEnvironmentOrderHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,115 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
class AWS_BATCH_API CreateJobQueueResult
{
public:
CreateJobQueueResult();
CreateJobQueueResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
CreateJobQueueResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The name of the job queue.</p>
*/
inline const Aws::String& GetJobQueueName() const{ return m_jobQueueName; }
/**
* <p>The name of the job queue.</p>
*/
inline void SetJobQueueName(const Aws::String& value) { m_jobQueueName = value; }
/**
* <p>The name of the job queue.</p>
*/
inline void SetJobQueueName(Aws::String&& value) { m_jobQueueName = std::move(value); }
/**
* <p>The name of the job queue.</p>
*/
inline void SetJobQueueName(const char* value) { m_jobQueueName.assign(value); }
/**
* <p>The name of the job queue.</p>
*/
inline CreateJobQueueResult& WithJobQueueName(const Aws::String& value) { SetJobQueueName(value); return *this;}
/**
* <p>The name of the job queue.</p>
*/
inline CreateJobQueueResult& WithJobQueueName(Aws::String&& value) { SetJobQueueName(std::move(value)); return *this;}
/**
* <p>The name of the job queue.</p>
*/
inline CreateJobQueueResult& WithJobQueueName(const char* value) { SetJobQueueName(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the job queue.</p>
*/
inline const Aws::String& GetJobQueueArn() const{ return m_jobQueueArn; }
/**
* <p>The Amazon Resource Name (ARN) of the job queue.</p>
*/
inline void SetJobQueueArn(const Aws::String& value) { m_jobQueueArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the job queue.</p>
*/
inline void SetJobQueueArn(Aws::String&& value) { m_jobQueueArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the job queue.</p>
*/
inline void SetJobQueueArn(const char* value) { m_jobQueueArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the job queue.</p>
*/
inline CreateJobQueueResult& WithJobQueueArn(const Aws::String& value) { SetJobQueueArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the job queue.</p>
*/
inline CreateJobQueueResult& WithJobQueueArn(Aws::String&& value) { SetJobQueueArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the job queue.</p>
*/
inline CreateJobQueueResult& WithJobQueueArn(const char* value) { SetJobQueueArn(value); return *this;}
private:
Aws::String m_jobQueueName;
Aws::String m_jobQueueArn;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,91 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/batch/BatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Batch
{
namespace Model
{
/**
*/
class AWS_BATCH_API DeleteComputeEnvironmentRequest : public BatchRequest
{
public:
DeleteComputeEnvironmentRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteComputeEnvironment"; }
Aws::String SerializePayload() const override;
/**
* <p>The name or Amazon Resource Name (ARN) of the compute environment to
* delete.</p>
*/
inline const Aws::String& GetComputeEnvironment() const{ return m_computeEnvironment; }
/**
* <p>The name or Amazon Resource Name (ARN) of the compute environment to
* delete.</p>
*/
inline bool ComputeEnvironmentHasBeenSet() const { return m_computeEnvironmentHasBeenSet; }
/**
* <p>The name or Amazon Resource Name (ARN) of the compute environment to
* delete.</p>
*/
inline void SetComputeEnvironment(const Aws::String& value) { m_computeEnvironmentHasBeenSet = true; m_computeEnvironment = value; }
/**
* <p>The name or Amazon Resource Name (ARN) of the compute environment to
* delete.</p>
*/
inline void SetComputeEnvironment(Aws::String&& value) { m_computeEnvironmentHasBeenSet = true; m_computeEnvironment = std::move(value); }
/**
* <p>The name or Amazon Resource Name (ARN) of the compute environment to
* delete.</p>
*/
inline void SetComputeEnvironment(const char* value) { m_computeEnvironmentHasBeenSet = true; m_computeEnvironment.assign(value); }
/**
* <p>The name or Amazon Resource Name (ARN) of the compute environment to
* delete.</p>
*/
inline DeleteComputeEnvironmentRequest& WithComputeEnvironment(const Aws::String& value) { SetComputeEnvironment(value); return *this;}
/**
* <p>The name or Amazon Resource Name (ARN) of the compute environment to
* delete.</p>
*/
inline DeleteComputeEnvironmentRequest& WithComputeEnvironment(Aws::String&& value) { SetComputeEnvironment(std::move(value)); return *this;}
/**
* <p>The name or Amazon Resource Name (ARN) of the compute environment to
* delete.</p>
*/
inline DeleteComputeEnvironmentRequest& WithComputeEnvironment(const char* value) { SetComputeEnvironment(value); return *this;}
private:
Aws::String m_computeEnvironment;
bool m_computeEnvironmentHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,36 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
class AWS_BATCH_API DeleteComputeEnvironmentResult
{
public:
DeleteComputeEnvironmentResult();
DeleteComputeEnvironmentResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DeleteComputeEnvironmentResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,83 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/batch/BatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Batch
{
namespace Model
{
/**
*/
class AWS_BATCH_API DeleteJobQueueRequest : public BatchRequest
{
public:
DeleteJobQueueRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteJobQueue"; }
Aws::String SerializePayload() const override;
/**
* <p>The short name or full Amazon Resource Name (ARN) of the queue to delete.</p>
*/
inline const Aws::String& GetJobQueue() const{ return m_jobQueue; }
/**
* <p>The short name or full Amazon Resource Name (ARN) of the queue to delete.</p>
*/
inline bool JobQueueHasBeenSet() const { return m_jobQueueHasBeenSet; }
/**
* <p>The short name or full Amazon Resource Name (ARN) of the queue to delete.</p>
*/
inline void SetJobQueue(const Aws::String& value) { m_jobQueueHasBeenSet = true; m_jobQueue = value; }
/**
* <p>The short name or full Amazon Resource Name (ARN) of the queue to delete.</p>
*/
inline void SetJobQueue(Aws::String&& value) { m_jobQueueHasBeenSet = true; m_jobQueue = std::move(value); }
/**
* <p>The short name or full Amazon Resource Name (ARN) of the queue to delete.</p>
*/
inline void SetJobQueue(const char* value) { m_jobQueueHasBeenSet = true; m_jobQueue.assign(value); }
/**
* <p>The short name or full Amazon Resource Name (ARN) of the queue to delete.</p>
*/
inline DeleteJobQueueRequest& WithJobQueue(const Aws::String& value) { SetJobQueue(value); return *this;}
/**
* <p>The short name or full Amazon Resource Name (ARN) of the queue to delete.</p>
*/
inline DeleteJobQueueRequest& WithJobQueue(Aws::String&& value) { SetJobQueue(std::move(value)); return *this;}
/**
* <p>The short name or full Amazon Resource Name (ARN) of the queue to delete.</p>
*/
inline DeleteJobQueueRequest& WithJobQueue(const char* value) { SetJobQueue(value); return *this;}
private:
Aws::String m_jobQueue;
bool m_jobQueueHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,36 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
class AWS_BATCH_API DeleteJobQueueResult
{
public:
DeleteJobQueueResult();
DeleteJobQueueResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DeleteJobQueueResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,91 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/batch/BatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Batch
{
namespace Model
{
/**
*/
class AWS_BATCH_API DeregisterJobDefinitionRequest : public BatchRequest
{
public:
DeregisterJobDefinitionRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeregisterJobDefinition"; }
Aws::String SerializePayload() const override;
/**
* <p>The name and revision (<code>name:revision</code>) or full Amazon Resource
* Name (ARN) of the job definition to deregister.</p>
*/
inline const Aws::String& GetJobDefinition() const{ return m_jobDefinition; }
/**
* <p>The name and revision (<code>name:revision</code>) or full Amazon Resource
* Name (ARN) of the job definition to deregister.</p>
*/
inline bool JobDefinitionHasBeenSet() const { return m_jobDefinitionHasBeenSet; }
/**
* <p>The name and revision (<code>name:revision</code>) or full Amazon Resource
* Name (ARN) of the job definition to deregister.</p>
*/
inline void SetJobDefinition(const Aws::String& value) { m_jobDefinitionHasBeenSet = true; m_jobDefinition = value; }
/**
* <p>The name and revision (<code>name:revision</code>) or full Amazon Resource
* Name (ARN) of the job definition to deregister.</p>
*/
inline void SetJobDefinition(Aws::String&& value) { m_jobDefinitionHasBeenSet = true; m_jobDefinition = std::move(value); }
/**
* <p>The name and revision (<code>name:revision</code>) or full Amazon Resource
* Name (ARN) of the job definition to deregister.</p>
*/
inline void SetJobDefinition(const char* value) { m_jobDefinitionHasBeenSet = true; m_jobDefinition.assign(value); }
/**
* <p>The name and revision (<code>name:revision</code>) or full Amazon Resource
* Name (ARN) of the job definition to deregister.</p>
*/
inline DeregisterJobDefinitionRequest& WithJobDefinition(const Aws::String& value) { SetJobDefinition(value); return *this;}
/**
* <p>The name and revision (<code>name:revision</code>) or full Amazon Resource
* Name (ARN) of the job definition to deregister.</p>
*/
inline DeregisterJobDefinitionRequest& WithJobDefinition(Aws::String&& value) { SetJobDefinition(std::move(value)); return *this;}
/**
* <p>The name and revision (<code>name:revision</code>) or full Amazon Resource
* Name (ARN) of the job definition to deregister.</p>
*/
inline DeregisterJobDefinitionRequest& WithJobDefinition(const char* value) { SetJobDefinition(value); return *this;}
private:
Aws::String m_jobDefinition;
bool m_jobDefinitionHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,36 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
class AWS_BATCH_API DeregisterJobDefinitionResult
{
public:
DeregisterJobDefinitionResult();
DeregisterJobDefinitionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DeregisterJobDefinitionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,258 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/batch/BatchRequest.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Batch
{
namespace Model
{
/**
*/
class AWS_BATCH_API DescribeComputeEnvironmentsRequest : public BatchRequest
{
public:
DescribeComputeEnvironmentsRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DescribeComputeEnvironments"; }
Aws::String SerializePayload() const override;
/**
* <p>A list of up to 100 compute environment names or full Amazon Resource Name
* (ARN) entries.</p>
*/
inline const Aws::Vector<Aws::String>& GetComputeEnvironments() const{ return m_computeEnvironments; }
/**
* <p>A list of up to 100 compute environment names or full Amazon Resource Name
* (ARN) entries.</p>
*/
inline bool ComputeEnvironmentsHasBeenSet() const { return m_computeEnvironmentsHasBeenSet; }
/**
* <p>A list of up to 100 compute environment names or full Amazon Resource Name
* (ARN) entries.</p>
*/
inline void SetComputeEnvironments(const Aws::Vector<Aws::String>& value) { m_computeEnvironmentsHasBeenSet = true; m_computeEnvironments = value; }
/**
* <p>A list of up to 100 compute environment names or full Amazon Resource Name
* (ARN) entries.</p>
*/
inline void SetComputeEnvironments(Aws::Vector<Aws::String>&& value) { m_computeEnvironmentsHasBeenSet = true; m_computeEnvironments = std::move(value); }
/**
* <p>A list of up to 100 compute environment names or full Amazon Resource Name
* (ARN) entries.</p>
*/
inline DescribeComputeEnvironmentsRequest& WithComputeEnvironments(const Aws::Vector<Aws::String>& value) { SetComputeEnvironments(value); return *this;}
/**
* <p>A list of up to 100 compute environment names or full Amazon Resource Name
* (ARN) entries.</p>
*/
inline DescribeComputeEnvironmentsRequest& WithComputeEnvironments(Aws::Vector<Aws::String>&& value) { SetComputeEnvironments(std::move(value)); return *this;}
/**
* <p>A list of up to 100 compute environment names or full Amazon Resource Name
* (ARN) entries.</p>
*/
inline DescribeComputeEnvironmentsRequest& AddComputeEnvironments(const Aws::String& value) { m_computeEnvironmentsHasBeenSet = true; m_computeEnvironments.push_back(value); return *this; }
/**
* <p>A list of up to 100 compute environment names or full Amazon Resource Name
* (ARN) entries.</p>
*/
inline DescribeComputeEnvironmentsRequest& AddComputeEnvironments(Aws::String&& value) { m_computeEnvironmentsHasBeenSet = true; m_computeEnvironments.push_back(std::move(value)); return *this; }
/**
* <p>A list of up to 100 compute environment names or full Amazon Resource Name
* (ARN) entries.</p>
*/
inline DescribeComputeEnvironmentsRequest& AddComputeEnvironments(const char* value) { m_computeEnvironmentsHasBeenSet = true; m_computeEnvironments.push_back(value); return *this; }
/**
* <p>The maximum number of cluster results returned by
* <code>DescribeComputeEnvironments</code> in paginated output. When this
* parameter is used, <code>DescribeComputeEnvironments</code> only returns
* <code>maxResults</code> results in a single page along with a
* <code>nextToken</code> response element. The remaining results of the initial
* request can be seen by sending another <code>DescribeComputeEnvironments</code>
* request with the returned <code>nextToken</code> value. This value can be
* between 1 and 100. If this parameter is not used, then
* <code>DescribeComputeEnvironments</code> returns up to 100 results and a
* <code>nextToken</code> value if applicable.</p>
*/
inline int GetMaxResults() const{ return m_maxResults; }
/**
* <p>The maximum number of cluster results returned by
* <code>DescribeComputeEnvironments</code> in paginated output. When this
* parameter is used, <code>DescribeComputeEnvironments</code> only returns
* <code>maxResults</code> results in a single page along with a
* <code>nextToken</code> response element. The remaining results of the initial
* request can be seen by sending another <code>DescribeComputeEnvironments</code>
* request with the returned <code>nextToken</code> value. This value can be
* between 1 and 100. If this parameter is not used, then
* <code>DescribeComputeEnvironments</code> returns up to 100 results and a
* <code>nextToken</code> value if applicable.</p>
*/
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
/**
* <p>The maximum number of cluster results returned by
* <code>DescribeComputeEnvironments</code> in paginated output. When this
* parameter is used, <code>DescribeComputeEnvironments</code> only returns
* <code>maxResults</code> results in a single page along with a
* <code>nextToken</code> response element. The remaining results of the initial
* request can be seen by sending another <code>DescribeComputeEnvironments</code>
* request with the returned <code>nextToken</code> value. This value can be
* between 1 and 100. If this parameter is not used, then
* <code>DescribeComputeEnvironments</code> returns up to 100 results and a
* <code>nextToken</code> value if applicable.</p>
*/
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
/**
* <p>The maximum number of cluster results returned by
* <code>DescribeComputeEnvironments</code> in paginated output. When this
* parameter is used, <code>DescribeComputeEnvironments</code> only returns
* <code>maxResults</code> results in a single page along with a
* <code>nextToken</code> response element. The remaining results of the initial
* request can be seen by sending another <code>DescribeComputeEnvironments</code>
* request with the returned <code>nextToken</code> value. This value can be
* between 1 and 100. If this parameter is not used, then
* <code>DescribeComputeEnvironments</code> returns up to 100 results and a
* <code>nextToken</code> value if applicable.</p>
*/
inline DescribeComputeEnvironmentsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>DescribeComputeEnvironments</code> request where <code>maxResults</code>
* was used and the results exceeded the value of that parameter. Pagination
* continues from the end of the previous results that returned the
* <code>nextToken</code> value. This value is <code>null</code> when there are no
* more results to return.</p> <p>This token should be treated as an opaque
* identifier that is only used to retrieve the next items in a list and not for
* other programmatic purposes.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>DescribeComputeEnvironments</code> request where <code>maxResults</code>
* was used and the results exceeded the value of that parameter. Pagination
* continues from the end of the previous results that returned the
* <code>nextToken</code> value. This value is <code>null</code> when there are no
* more results to return.</p> <p>This token should be treated as an opaque
* identifier that is only used to retrieve the next items in a list and not for
* other programmatic purposes.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>DescribeComputeEnvironments</code> request where <code>maxResults</code>
* was used and the results exceeded the value of that parameter. Pagination
* continues from the end of the previous results that returned the
* <code>nextToken</code> value. This value is <code>null</code> when there are no
* more results to return.</p> <p>This token should be treated as an opaque
* identifier that is only used to retrieve the next items in a list and not for
* other programmatic purposes.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>DescribeComputeEnvironments</code> request where <code>maxResults</code>
* was used and the results exceeded the value of that parameter. Pagination
* continues from the end of the previous results that returned the
* <code>nextToken</code> value. This value is <code>null</code> when there are no
* more results to return.</p> <p>This token should be treated as an opaque
* identifier that is only used to retrieve the next items in a list and not for
* other programmatic purposes.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>DescribeComputeEnvironments</code> request where <code>maxResults</code>
* was used and the results exceeded the value of that parameter. Pagination
* continues from the end of the previous results that returned the
* <code>nextToken</code> value. This value is <code>null</code> when there are no
* more results to return.</p> <p>This token should be treated as an opaque
* identifier that is only used to retrieve the next items in a list and not for
* other programmatic purposes.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>DescribeComputeEnvironments</code> request where <code>maxResults</code>
* was used and the results exceeded the value of that parameter. Pagination
* continues from the end of the previous results that returned the
* <code>nextToken</code> value. This value is <code>null</code> when there are no
* more results to return.</p> <p>This token should be treated as an opaque
* identifier that is only used to retrieve the next items in a list and not for
* other programmatic purposes.</p>
*/
inline DescribeComputeEnvironmentsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>DescribeComputeEnvironments</code> request where <code>maxResults</code>
* was used and the results exceeded the value of that parameter. Pagination
* continues from the end of the previous results that returned the
* <code>nextToken</code> value. This value is <code>null</code> when there are no
* more results to return.</p> <p>This token should be treated as an opaque
* identifier that is only used to retrieve the next items in a list and not for
* other programmatic purposes.</p>
*/
inline DescribeComputeEnvironmentsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>DescribeComputeEnvironments</code> request where <code>maxResults</code>
* was used and the results exceeded the value of that parameter. Pagination
* continues from the end of the previous results that returned the
* <code>nextToken</code> value. This value is <code>null</code> when there are no
* more results to return.</p> <p>This token should be treated as an opaque
* identifier that is only used to retrieve the next items in a list and not for
* other programmatic purposes.</p>
*/
inline DescribeComputeEnvironmentsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<Aws::String> m_computeEnvironments;
bool m_computeEnvironmentsHasBeenSet;
int m_maxResults;
bool m_maxResultsHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,145 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/batch/model/ComputeEnvironmentDetail.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
class AWS_BATCH_API DescribeComputeEnvironmentsResult
{
public:
DescribeComputeEnvironmentsResult();
DescribeComputeEnvironmentsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DescribeComputeEnvironmentsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The list of compute environments.</p>
*/
inline const Aws::Vector<ComputeEnvironmentDetail>& GetComputeEnvironments() const{ return m_computeEnvironments; }
/**
* <p>The list of compute environments.</p>
*/
inline void SetComputeEnvironments(const Aws::Vector<ComputeEnvironmentDetail>& value) { m_computeEnvironments = value; }
/**
* <p>The list of compute environments.</p>
*/
inline void SetComputeEnvironments(Aws::Vector<ComputeEnvironmentDetail>&& value) { m_computeEnvironments = std::move(value); }
/**
* <p>The list of compute environments.</p>
*/
inline DescribeComputeEnvironmentsResult& WithComputeEnvironments(const Aws::Vector<ComputeEnvironmentDetail>& value) { SetComputeEnvironments(value); return *this;}
/**
* <p>The list of compute environments.</p>
*/
inline DescribeComputeEnvironmentsResult& WithComputeEnvironments(Aws::Vector<ComputeEnvironmentDetail>&& value) { SetComputeEnvironments(std::move(value)); return *this;}
/**
* <p>The list of compute environments.</p>
*/
inline DescribeComputeEnvironmentsResult& AddComputeEnvironments(const ComputeEnvironmentDetail& value) { m_computeEnvironments.push_back(value); return *this; }
/**
* <p>The list of compute environments.</p>
*/
inline DescribeComputeEnvironmentsResult& AddComputeEnvironments(ComputeEnvironmentDetail&& value) { m_computeEnvironments.push_back(std::move(value)); return *this; }
/**
* <p>The <code>nextToken</code> value to include in a future
* <code>DescribeComputeEnvironments</code> request. When the results of a
* <code>DescribeJobDefinitions</code> request exceed <code>maxResults</code>, this
* value can be used to retrieve the next page of results. This value is
* <code>null</code> when there are no more results to return.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The <code>nextToken</code> value to include in a future
* <code>DescribeComputeEnvironments</code> request. When the results of a
* <code>DescribeJobDefinitions</code> request exceed <code>maxResults</code>, this
* value can be used to retrieve the next page of results. This value is
* <code>null</code> when there are no more results to return.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>The <code>nextToken</code> value to include in a future
* <code>DescribeComputeEnvironments</code> request. When the results of a
* <code>DescribeJobDefinitions</code> request exceed <code>maxResults</code>, this
* value can be used to retrieve the next page of results. This value is
* <code>null</code> when there are no more results to return.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>The <code>nextToken</code> value to include in a future
* <code>DescribeComputeEnvironments</code> request. When the results of a
* <code>DescribeJobDefinitions</code> request exceed <code>maxResults</code>, this
* value can be used to retrieve the next page of results. This value is
* <code>null</code> when there are no more results to return.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>The <code>nextToken</code> value to include in a future
* <code>DescribeComputeEnvironments</code> request. When the results of a
* <code>DescribeJobDefinitions</code> request exceed <code>maxResults</code>, this
* value can be used to retrieve the next page of results. This value is
* <code>null</code> when there are no more results to return.</p>
*/
inline DescribeComputeEnvironmentsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The <code>nextToken</code> value to include in a future
* <code>DescribeComputeEnvironments</code> request. When the results of a
* <code>DescribeJobDefinitions</code> request exceed <code>maxResults</code>, this
* value can be used to retrieve the next page of results. This value is
* <code>null</code> when there are no more results to return.</p>
*/
inline DescribeComputeEnvironmentsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The <code>nextToken</code> value to include in a future
* <code>DescribeComputeEnvironments</code> request. When the results of a
* <code>DescribeJobDefinitions</code> request exceed <code>maxResults</code>, this
* value can be used to retrieve the next page of results. This value is
* <code>null</code> when there are no more results to return.</p>
*/
inline DescribeComputeEnvironmentsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<ComputeEnvironmentDetail> m_computeEnvironments;
Aws::String m_nextToken;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,342 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/batch/BatchRequest.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Batch
{
namespace Model
{
/**
*/
class AWS_BATCH_API DescribeJobDefinitionsRequest : public BatchRequest
{
public:
DescribeJobDefinitionsRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DescribeJobDefinitions"; }
Aws::String SerializePayload() const override;
/**
* <p>A list of up to 100 job definition names or full Amazon Resource Name (ARN)
* entries.</p>
*/
inline const Aws::Vector<Aws::String>& GetJobDefinitions() const{ return m_jobDefinitions; }
/**
* <p>A list of up to 100 job definition names or full Amazon Resource Name (ARN)
* entries.</p>
*/
inline bool JobDefinitionsHasBeenSet() const { return m_jobDefinitionsHasBeenSet; }
/**
* <p>A list of up to 100 job definition names or full Amazon Resource Name (ARN)
* entries.</p>
*/
inline void SetJobDefinitions(const Aws::Vector<Aws::String>& value) { m_jobDefinitionsHasBeenSet = true; m_jobDefinitions = value; }
/**
* <p>A list of up to 100 job definition names or full Amazon Resource Name (ARN)
* entries.</p>
*/
inline void SetJobDefinitions(Aws::Vector<Aws::String>&& value) { m_jobDefinitionsHasBeenSet = true; m_jobDefinitions = std::move(value); }
/**
* <p>A list of up to 100 job definition names or full Amazon Resource Name (ARN)
* entries.</p>
*/
inline DescribeJobDefinitionsRequest& WithJobDefinitions(const Aws::Vector<Aws::String>& value) { SetJobDefinitions(value); return *this;}
/**
* <p>A list of up to 100 job definition names or full Amazon Resource Name (ARN)
* entries.</p>
*/
inline DescribeJobDefinitionsRequest& WithJobDefinitions(Aws::Vector<Aws::String>&& value) { SetJobDefinitions(std::move(value)); return *this;}
/**
* <p>A list of up to 100 job definition names or full Amazon Resource Name (ARN)
* entries.</p>
*/
inline DescribeJobDefinitionsRequest& AddJobDefinitions(const Aws::String& value) { m_jobDefinitionsHasBeenSet = true; m_jobDefinitions.push_back(value); return *this; }
/**
* <p>A list of up to 100 job definition names or full Amazon Resource Name (ARN)
* entries.</p>
*/
inline DescribeJobDefinitionsRequest& AddJobDefinitions(Aws::String&& value) { m_jobDefinitionsHasBeenSet = true; m_jobDefinitions.push_back(std::move(value)); return *this; }
/**
* <p>A list of up to 100 job definition names or full Amazon Resource Name (ARN)
* entries.</p>
*/
inline DescribeJobDefinitionsRequest& AddJobDefinitions(const char* value) { m_jobDefinitionsHasBeenSet = true; m_jobDefinitions.push_back(value); return *this; }
/**
* <p>The maximum number of results returned by <code>DescribeJobDefinitions</code>
* in paginated output. When this parameter is used,
* <code>DescribeJobDefinitions</code> only returns <code>maxResults</code> results
* in a single page along with a <code>nextToken</code> response element. The
* remaining results of the initial request can be seen by sending another
* <code>DescribeJobDefinitions</code> request with the returned
* <code>nextToken</code> value. This value can be between 1 and 100. If this
* parameter is not used, then <code>DescribeJobDefinitions</code> returns up to
* 100 results and a <code>nextToken</code> value if applicable.</p>
*/
inline int GetMaxResults() const{ return m_maxResults; }
/**
* <p>The maximum number of results returned by <code>DescribeJobDefinitions</code>
* in paginated output. When this parameter is used,
* <code>DescribeJobDefinitions</code> only returns <code>maxResults</code> results
* in a single page along with a <code>nextToken</code> response element. The
* remaining results of the initial request can be seen by sending another
* <code>DescribeJobDefinitions</code> request with the returned
* <code>nextToken</code> value. This value can be between 1 and 100. If this
* parameter is not used, then <code>DescribeJobDefinitions</code> returns up to
* 100 results and a <code>nextToken</code> value if applicable.</p>
*/
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
/**
* <p>The maximum number of results returned by <code>DescribeJobDefinitions</code>
* in paginated output. When this parameter is used,
* <code>DescribeJobDefinitions</code> only returns <code>maxResults</code> results
* in a single page along with a <code>nextToken</code> response element. The
* remaining results of the initial request can be seen by sending another
* <code>DescribeJobDefinitions</code> request with the returned
* <code>nextToken</code> value. This value can be between 1 and 100. If this
* parameter is not used, then <code>DescribeJobDefinitions</code> returns up to
* 100 results and a <code>nextToken</code> value if applicable.</p>
*/
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
/**
* <p>The maximum number of results returned by <code>DescribeJobDefinitions</code>
* in paginated output. When this parameter is used,
* <code>DescribeJobDefinitions</code> only returns <code>maxResults</code> results
* in a single page along with a <code>nextToken</code> response element. The
* remaining results of the initial request can be seen by sending another
* <code>DescribeJobDefinitions</code> request with the returned
* <code>nextToken</code> value. This value can be between 1 and 100. If this
* parameter is not used, then <code>DescribeJobDefinitions</code> returns up to
* 100 results and a <code>nextToken</code> value if applicable.</p>
*/
inline DescribeJobDefinitionsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
/**
* <p>The name of the job definition to describe.</p>
*/
inline const Aws::String& GetJobDefinitionName() const{ return m_jobDefinitionName; }
/**
* <p>The name of the job definition to describe.</p>
*/
inline bool JobDefinitionNameHasBeenSet() const { return m_jobDefinitionNameHasBeenSet; }
/**
* <p>The name of the job definition to describe.</p>
*/
inline void SetJobDefinitionName(const Aws::String& value) { m_jobDefinitionNameHasBeenSet = true; m_jobDefinitionName = value; }
/**
* <p>The name of the job definition to describe.</p>
*/
inline void SetJobDefinitionName(Aws::String&& value) { m_jobDefinitionNameHasBeenSet = true; m_jobDefinitionName = std::move(value); }
/**
* <p>The name of the job definition to describe.</p>
*/
inline void SetJobDefinitionName(const char* value) { m_jobDefinitionNameHasBeenSet = true; m_jobDefinitionName.assign(value); }
/**
* <p>The name of the job definition to describe.</p>
*/
inline DescribeJobDefinitionsRequest& WithJobDefinitionName(const Aws::String& value) { SetJobDefinitionName(value); return *this;}
/**
* <p>The name of the job definition to describe.</p>
*/
inline DescribeJobDefinitionsRequest& WithJobDefinitionName(Aws::String&& value) { SetJobDefinitionName(std::move(value)); return *this;}
/**
* <p>The name of the job definition to describe.</p>
*/
inline DescribeJobDefinitionsRequest& WithJobDefinitionName(const char* value) { SetJobDefinitionName(value); return *this;}
/**
* <p>The status with which to filter job definitions.</p>
*/
inline const Aws::String& GetStatus() const{ return m_status; }
/**
* <p>The status with which to filter job definitions.</p>
*/
inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
/**
* <p>The status with which to filter job definitions.</p>
*/
inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; }
/**
* <p>The status with which to filter job definitions.</p>
*/
inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
/**
* <p>The status with which to filter job definitions.</p>
*/
inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); }
/**
* <p>The status with which to filter job definitions.</p>
*/
inline DescribeJobDefinitionsRequest& WithStatus(const Aws::String& value) { SetStatus(value); return *this;}
/**
* <p>The status with which to filter job definitions.</p>
*/
inline DescribeJobDefinitionsRequest& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;}
/**
* <p>The status with which to filter job definitions.</p>
*/
inline DescribeJobDefinitionsRequest& WithStatus(const char* value) { SetStatus(value); return *this;}
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>DescribeJobDefinitions</code> request where <code>maxResults</code> was
* used and the results exceeded the value of that parameter. Pagination continues
* from the end of the previous results that returned the <code>nextToken</code>
* value. This value is <code>null</code> when there are no more results to
* return.</p> <p>This token should be treated as an opaque identifier that
* is only used to retrieve the next items in a list and not for other programmatic
* purposes.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>DescribeJobDefinitions</code> request where <code>maxResults</code> was
* used and the results exceeded the value of that parameter. Pagination continues
* from the end of the previous results that returned the <code>nextToken</code>
* value. This value is <code>null</code> when there are no more results to
* return.</p> <p>This token should be treated as an opaque identifier that
* is only used to retrieve the next items in a list and not for other programmatic
* purposes.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>DescribeJobDefinitions</code> request where <code>maxResults</code> was
* used and the results exceeded the value of that parameter. Pagination continues
* from the end of the previous results that returned the <code>nextToken</code>
* value. This value is <code>null</code> when there are no more results to
* return.</p> <p>This token should be treated as an opaque identifier that
* is only used to retrieve the next items in a list and not for other programmatic
* purposes.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>DescribeJobDefinitions</code> request where <code>maxResults</code> was
* used and the results exceeded the value of that parameter. Pagination continues
* from the end of the previous results that returned the <code>nextToken</code>
* value. This value is <code>null</code> when there are no more results to
* return.</p> <p>This token should be treated as an opaque identifier that
* is only used to retrieve the next items in a list and not for other programmatic
* purposes.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>DescribeJobDefinitions</code> request where <code>maxResults</code> was
* used and the results exceeded the value of that parameter. Pagination continues
* from the end of the previous results that returned the <code>nextToken</code>
* value. This value is <code>null</code> when there are no more results to
* return.</p> <p>This token should be treated as an opaque identifier that
* is only used to retrieve the next items in a list and not for other programmatic
* purposes.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>DescribeJobDefinitions</code> request where <code>maxResults</code> was
* used and the results exceeded the value of that parameter. Pagination continues
* from the end of the previous results that returned the <code>nextToken</code>
* value. This value is <code>null</code> when there are no more results to
* return.</p> <p>This token should be treated as an opaque identifier that
* is only used to retrieve the next items in a list and not for other programmatic
* purposes.</p>
*/
inline DescribeJobDefinitionsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>DescribeJobDefinitions</code> request where <code>maxResults</code> was
* used and the results exceeded the value of that parameter. Pagination continues
* from the end of the previous results that returned the <code>nextToken</code>
* value. This value is <code>null</code> when there are no more results to
* return.</p> <p>This token should be treated as an opaque identifier that
* is only used to retrieve the next items in a list and not for other programmatic
* purposes.</p>
*/
inline DescribeJobDefinitionsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>DescribeJobDefinitions</code> request where <code>maxResults</code> was
* used and the results exceeded the value of that parameter. Pagination continues
* from the end of the previous results that returned the <code>nextToken</code>
* value. This value is <code>null</code> when there are no more results to
* return.</p> <p>This token should be treated as an opaque identifier that
* is only used to retrieve the next items in a list and not for other programmatic
* purposes.</p>
*/
inline DescribeJobDefinitionsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<Aws::String> m_jobDefinitions;
bool m_jobDefinitionsHasBeenSet;
int m_maxResults;
bool m_maxResultsHasBeenSet;
Aws::String m_jobDefinitionName;
bool m_jobDefinitionNameHasBeenSet;
Aws::String m_status;
bool m_statusHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,145 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/batch/model/JobDefinition.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
class AWS_BATCH_API DescribeJobDefinitionsResult
{
public:
DescribeJobDefinitionsResult();
DescribeJobDefinitionsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DescribeJobDefinitionsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The list of job definitions.</p>
*/
inline const Aws::Vector<JobDefinition>& GetJobDefinitions() const{ return m_jobDefinitions; }
/**
* <p>The list of job definitions.</p>
*/
inline void SetJobDefinitions(const Aws::Vector<JobDefinition>& value) { m_jobDefinitions = value; }
/**
* <p>The list of job definitions.</p>
*/
inline void SetJobDefinitions(Aws::Vector<JobDefinition>&& value) { m_jobDefinitions = std::move(value); }
/**
* <p>The list of job definitions.</p>
*/
inline DescribeJobDefinitionsResult& WithJobDefinitions(const Aws::Vector<JobDefinition>& value) { SetJobDefinitions(value); return *this;}
/**
* <p>The list of job definitions.</p>
*/
inline DescribeJobDefinitionsResult& WithJobDefinitions(Aws::Vector<JobDefinition>&& value) { SetJobDefinitions(std::move(value)); return *this;}
/**
* <p>The list of job definitions.</p>
*/
inline DescribeJobDefinitionsResult& AddJobDefinitions(const JobDefinition& value) { m_jobDefinitions.push_back(value); return *this; }
/**
* <p>The list of job definitions.</p>
*/
inline DescribeJobDefinitionsResult& AddJobDefinitions(JobDefinition&& value) { m_jobDefinitions.push_back(std::move(value)); return *this; }
/**
* <p>The <code>nextToken</code> value to include in a future
* <code>DescribeJobDefinitions</code> request. When the results of a
* <code>DescribeJobDefinitions</code> request exceed <code>maxResults</code>, this
* value can be used to retrieve the next page of results. This value is
* <code>null</code> when there are no more results to return.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The <code>nextToken</code> value to include in a future
* <code>DescribeJobDefinitions</code> request. When the results of a
* <code>DescribeJobDefinitions</code> request exceed <code>maxResults</code>, this
* value can be used to retrieve the next page of results. This value is
* <code>null</code> when there are no more results to return.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>The <code>nextToken</code> value to include in a future
* <code>DescribeJobDefinitions</code> request. When the results of a
* <code>DescribeJobDefinitions</code> request exceed <code>maxResults</code>, this
* value can be used to retrieve the next page of results. This value is
* <code>null</code> when there are no more results to return.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>The <code>nextToken</code> value to include in a future
* <code>DescribeJobDefinitions</code> request. When the results of a
* <code>DescribeJobDefinitions</code> request exceed <code>maxResults</code>, this
* value can be used to retrieve the next page of results. This value is
* <code>null</code> when there are no more results to return.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>The <code>nextToken</code> value to include in a future
* <code>DescribeJobDefinitions</code> request. When the results of a
* <code>DescribeJobDefinitions</code> request exceed <code>maxResults</code>, this
* value can be used to retrieve the next page of results. This value is
* <code>null</code> when there are no more results to return.</p>
*/
inline DescribeJobDefinitionsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The <code>nextToken</code> value to include in a future
* <code>DescribeJobDefinitions</code> request. When the results of a
* <code>DescribeJobDefinitions</code> request exceed <code>maxResults</code>, this
* value can be used to retrieve the next page of results. This value is
* <code>null</code> when there are no more results to return.</p>
*/
inline DescribeJobDefinitionsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The <code>nextToken</code> value to include in a future
* <code>DescribeJobDefinitions</code> request. When the results of a
* <code>DescribeJobDefinitions</code> request exceed <code>maxResults</code>, this
* value can be used to retrieve the next page of results. This value is
* <code>null</code> when there are no more results to return.</p>
*/
inline DescribeJobDefinitionsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<JobDefinition> m_jobDefinitions;
Aws::String m_nextToken;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,250 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/batch/BatchRequest.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Batch
{
namespace Model
{
/**
*/
class AWS_BATCH_API DescribeJobQueuesRequest : public BatchRequest
{
public:
DescribeJobQueuesRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DescribeJobQueues"; }
Aws::String SerializePayload() const override;
/**
* <p>A list of up to 100 queue names or full queue Amazon Resource Name (ARN)
* entries.</p>
*/
inline const Aws::Vector<Aws::String>& GetJobQueues() const{ return m_jobQueues; }
/**
* <p>A list of up to 100 queue names or full queue Amazon Resource Name (ARN)
* entries.</p>
*/
inline bool JobQueuesHasBeenSet() const { return m_jobQueuesHasBeenSet; }
/**
* <p>A list of up to 100 queue names or full queue Amazon Resource Name (ARN)
* entries.</p>
*/
inline void SetJobQueues(const Aws::Vector<Aws::String>& value) { m_jobQueuesHasBeenSet = true; m_jobQueues = value; }
/**
* <p>A list of up to 100 queue names or full queue Amazon Resource Name (ARN)
* entries.</p>
*/
inline void SetJobQueues(Aws::Vector<Aws::String>&& value) { m_jobQueuesHasBeenSet = true; m_jobQueues = std::move(value); }
/**
* <p>A list of up to 100 queue names or full queue Amazon Resource Name (ARN)
* entries.</p>
*/
inline DescribeJobQueuesRequest& WithJobQueues(const Aws::Vector<Aws::String>& value) { SetJobQueues(value); return *this;}
/**
* <p>A list of up to 100 queue names or full queue Amazon Resource Name (ARN)
* entries.</p>
*/
inline DescribeJobQueuesRequest& WithJobQueues(Aws::Vector<Aws::String>&& value) { SetJobQueues(std::move(value)); return *this;}
/**
* <p>A list of up to 100 queue names or full queue Amazon Resource Name (ARN)
* entries.</p>
*/
inline DescribeJobQueuesRequest& AddJobQueues(const Aws::String& value) { m_jobQueuesHasBeenSet = true; m_jobQueues.push_back(value); return *this; }
/**
* <p>A list of up to 100 queue names or full queue Amazon Resource Name (ARN)
* entries.</p>
*/
inline DescribeJobQueuesRequest& AddJobQueues(Aws::String&& value) { m_jobQueuesHasBeenSet = true; m_jobQueues.push_back(std::move(value)); return *this; }
/**
* <p>A list of up to 100 queue names or full queue Amazon Resource Name (ARN)
* entries.</p>
*/
inline DescribeJobQueuesRequest& AddJobQueues(const char* value) { m_jobQueuesHasBeenSet = true; m_jobQueues.push_back(value); return *this; }
/**
* <p>The maximum number of results returned by <code>DescribeJobQueues</code> in
* paginated output. When this parameter is used, <code>DescribeJobQueues</code>
* only returns <code>maxResults</code> results in a single page along with a
* <code>nextToken</code> response element. The remaining results of the initial
* request can be seen by sending another <code>DescribeJobQueues</code> request
* with the returned <code>nextToken</code> value. This value can be between 1 and
* 100. If this parameter is not used, then <code>DescribeJobQueues</code> returns
* up to 100 results and a <code>nextToken</code> value if applicable.</p>
*/
inline int GetMaxResults() const{ return m_maxResults; }
/**
* <p>The maximum number of results returned by <code>DescribeJobQueues</code> in
* paginated output. When this parameter is used, <code>DescribeJobQueues</code>
* only returns <code>maxResults</code> results in a single page along with a
* <code>nextToken</code> response element. The remaining results of the initial
* request can be seen by sending another <code>DescribeJobQueues</code> request
* with the returned <code>nextToken</code> value. This value can be between 1 and
* 100. If this parameter is not used, then <code>DescribeJobQueues</code> returns
* up to 100 results and a <code>nextToken</code> value if applicable.</p>
*/
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
/**
* <p>The maximum number of results returned by <code>DescribeJobQueues</code> in
* paginated output. When this parameter is used, <code>DescribeJobQueues</code>
* only returns <code>maxResults</code> results in a single page along with a
* <code>nextToken</code> response element. The remaining results of the initial
* request can be seen by sending another <code>DescribeJobQueues</code> request
* with the returned <code>nextToken</code> value. This value can be between 1 and
* 100. If this parameter is not used, then <code>DescribeJobQueues</code> returns
* up to 100 results and a <code>nextToken</code> value if applicable.</p>
*/
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
/**
* <p>The maximum number of results returned by <code>DescribeJobQueues</code> in
* paginated output. When this parameter is used, <code>DescribeJobQueues</code>
* only returns <code>maxResults</code> results in a single page along with a
* <code>nextToken</code> response element. The remaining results of the initial
* request can be seen by sending another <code>DescribeJobQueues</code> request
* with the returned <code>nextToken</code> value. This value can be between 1 and
* 100. If this parameter is not used, then <code>DescribeJobQueues</code> returns
* up to 100 results and a <code>nextToken</code> value if applicable.</p>
*/
inline DescribeJobQueuesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>DescribeJobQueues</code> request where <code>maxResults</code> was used
* and the results exceeded the value of that parameter. Pagination continues from
* the end of the previous results that returned the <code>nextToken</code> value.
* This value is <code>null</code> when there are no more results to return.</p>
* <p>This token should be treated as an opaque identifier that is only used
* to retrieve the next items in a list and not for other programmatic
* purposes.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>DescribeJobQueues</code> request where <code>maxResults</code> was used
* and the results exceeded the value of that parameter. Pagination continues from
* the end of the previous results that returned the <code>nextToken</code> value.
* This value is <code>null</code> when there are no more results to return.</p>
* <p>This token should be treated as an opaque identifier that is only used
* to retrieve the next items in a list and not for other programmatic
* purposes.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>DescribeJobQueues</code> request where <code>maxResults</code> was used
* and the results exceeded the value of that parameter. Pagination continues from
* the end of the previous results that returned the <code>nextToken</code> value.
* This value is <code>null</code> when there are no more results to return.</p>
* <p>This token should be treated as an opaque identifier that is only used
* to retrieve the next items in a list and not for other programmatic
* purposes.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>DescribeJobQueues</code> request where <code>maxResults</code> was used
* and the results exceeded the value of that parameter. Pagination continues from
* the end of the previous results that returned the <code>nextToken</code> value.
* This value is <code>null</code> when there are no more results to return.</p>
* <p>This token should be treated as an opaque identifier that is only used
* to retrieve the next items in a list and not for other programmatic
* purposes.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>DescribeJobQueues</code> request where <code>maxResults</code> was used
* and the results exceeded the value of that parameter. Pagination continues from
* the end of the previous results that returned the <code>nextToken</code> value.
* This value is <code>null</code> when there are no more results to return.</p>
* <p>This token should be treated as an opaque identifier that is only used
* to retrieve the next items in a list and not for other programmatic
* purposes.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>DescribeJobQueues</code> request where <code>maxResults</code> was used
* and the results exceeded the value of that parameter. Pagination continues from
* the end of the previous results that returned the <code>nextToken</code> value.
* This value is <code>null</code> when there are no more results to return.</p>
* <p>This token should be treated as an opaque identifier that is only used
* to retrieve the next items in a list and not for other programmatic
* purposes.</p>
*/
inline DescribeJobQueuesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>DescribeJobQueues</code> request where <code>maxResults</code> was used
* and the results exceeded the value of that parameter. Pagination continues from
* the end of the previous results that returned the <code>nextToken</code> value.
* This value is <code>null</code> when there are no more results to return.</p>
* <p>This token should be treated as an opaque identifier that is only used
* to retrieve the next items in a list and not for other programmatic
* purposes.</p>
*/
inline DescribeJobQueuesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>DescribeJobQueues</code> request where <code>maxResults</code> was used
* and the results exceeded the value of that parameter. Pagination continues from
* the end of the previous results that returned the <code>nextToken</code> value.
* This value is <code>null</code> when there are no more results to return.</p>
* <p>This token should be treated as an opaque identifier that is only used
* to retrieve the next items in a list and not for other programmatic
* purposes.</p>
*/
inline DescribeJobQueuesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<Aws::String> m_jobQueues;
bool m_jobQueuesHasBeenSet;
int m_maxResults;
bool m_maxResultsHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,145 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/batch/model/JobQueueDetail.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
class AWS_BATCH_API DescribeJobQueuesResult
{
public:
DescribeJobQueuesResult();
DescribeJobQueuesResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DescribeJobQueuesResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The list of job queues.</p>
*/
inline const Aws::Vector<JobQueueDetail>& GetJobQueues() const{ return m_jobQueues; }
/**
* <p>The list of job queues.</p>
*/
inline void SetJobQueues(const Aws::Vector<JobQueueDetail>& value) { m_jobQueues = value; }
/**
* <p>The list of job queues.</p>
*/
inline void SetJobQueues(Aws::Vector<JobQueueDetail>&& value) { m_jobQueues = std::move(value); }
/**
* <p>The list of job queues.</p>
*/
inline DescribeJobQueuesResult& WithJobQueues(const Aws::Vector<JobQueueDetail>& value) { SetJobQueues(value); return *this;}
/**
* <p>The list of job queues.</p>
*/
inline DescribeJobQueuesResult& WithJobQueues(Aws::Vector<JobQueueDetail>&& value) { SetJobQueues(std::move(value)); return *this;}
/**
* <p>The list of job queues.</p>
*/
inline DescribeJobQueuesResult& AddJobQueues(const JobQueueDetail& value) { m_jobQueues.push_back(value); return *this; }
/**
* <p>The list of job queues.</p>
*/
inline DescribeJobQueuesResult& AddJobQueues(JobQueueDetail&& value) { m_jobQueues.push_back(std::move(value)); return *this; }
/**
* <p>The <code>nextToken</code> value to include in a future
* <code>DescribeJobQueues</code> request. When the results of a
* <code>DescribeJobQueues</code> request exceed <code>maxResults</code>, this
* value can be used to retrieve the next page of results. This value is
* <code>null</code> when there are no more results to return.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The <code>nextToken</code> value to include in a future
* <code>DescribeJobQueues</code> request. When the results of a
* <code>DescribeJobQueues</code> request exceed <code>maxResults</code>, this
* value can be used to retrieve the next page of results. This value is
* <code>null</code> when there are no more results to return.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>The <code>nextToken</code> value to include in a future
* <code>DescribeJobQueues</code> request. When the results of a
* <code>DescribeJobQueues</code> request exceed <code>maxResults</code>, this
* value can be used to retrieve the next page of results. This value is
* <code>null</code> when there are no more results to return.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>The <code>nextToken</code> value to include in a future
* <code>DescribeJobQueues</code> request. When the results of a
* <code>DescribeJobQueues</code> request exceed <code>maxResults</code>, this
* value can be used to retrieve the next page of results. This value is
* <code>null</code> when there are no more results to return.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>The <code>nextToken</code> value to include in a future
* <code>DescribeJobQueues</code> request. When the results of a
* <code>DescribeJobQueues</code> request exceed <code>maxResults</code>, this
* value can be used to retrieve the next page of results. This value is
* <code>null</code> when there are no more results to return.</p>
*/
inline DescribeJobQueuesResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The <code>nextToken</code> value to include in a future
* <code>DescribeJobQueues</code> request. When the results of a
* <code>DescribeJobQueues</code> request exceed <code>maxResults</code>, this
* value can be used to retrieve the next page of results. This value is
* <code>null</code> when there are no more results to return.</p>
*/
inline DescribeJobQueuesResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The <code>nextToken</code> value to include in a future
* <code>DescribeJobQueues</code> request. When the results of a
* <code>DescribeJobQueues</code> request exceed <code>maxResults</code>, this
* value can be used to retrieve the next page of results. This value is
* <code>null</code> when there are no more results to return.</p>
*/
inline DescribeJobQueuesResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<JobQueueDetail> m_jobQueues;
Aws::String m_nextToken;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,89 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/batch/BatchRequest.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Batch
{
namespace Model
{
/**
*/
class AWS_BATCH_API DescribeJobsRequest : public BatchRequest
{
public:
DescribeJobsRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DescribeJobs"; }
Aws::String SerializePayload() const override;
/**
* <p>A list of up to 100 job IDs.</p>
*/
inline const Aws::Vector<Aws::String>& GetJobs() const{ return m_jobs; }
/**
* <p>A list of up to 100 job IDs.</p>
*/
inline bool JobsHasBeenSet() const { return m_jobsHasBeenSet; }
/**
* <p>A list of up to 100 job IDs.</p>
*/
inline void SetJobs(const Aws::Vector<Aws::String>& value) { m_jobsHasBeenSet = true; m_jobs = value; }
/**
* <p>A list of up to 100 job IDs.</p>
*/
inline void SetJobs(Aws::Vector<Aws::String>&& value) { m_jobsHasBeenSet = true; m_jobs = std::move(value); }
/**
* <p>A list of up to 100 job IDs.</p>
*/
inline DescribeJobsRequest& WithJobs(const Aws::Vector<Aws::String>& value) { SetJobs(value); return *this;}
/**
* <p>A list of up to 100 job IDs.</p>
*/
inline DescribeJobsRequest& WithJobs(Aws::Vector<Aws::String>&& value) { SetJobs(std::move(value)); return *this;}
/**
* <p>A list of up to 100 job IDs.</p>
*/
inline DescribeJobsRequest& AddJobs(const Aws::String& value) { m_jobsHasBeenSet = true; m_jobs.push_back(value); return *this; }
/**
* <p>A list of up to 100 job IDs.</p>
*/
inline DescribeJobsRequest& AddJobs(Aws::String&& value) { m_jobsHasBeenSet = true; m_jobs.push_back(std::move(value)); return *this; }
/**
* <p>A list of up to 100 job IDs.</p>
*/
inline DescribeJobsRequest& AddJobs(const char* value) { m_jobsHasBeenSet = true; m_jobs.push_back(value); return *this; }
private:
Aws::Vector<Aws::String> m_jobs;
bool m_jobsHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,78 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/batch/model/JobDetail.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
class AWS_BATCH_API DescribeJobsResult
{
public:
DescribeJobsResult();
DescribeJobsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DescribeJobsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The list of jobs.</p>
*/
inline const Aws::Vector<JobDetail>& GetJobs() const{ return m_jobs; }
/**
* <p>The list of jobs.</p>
*/
inline void SetJobs(const Aws::Vector<JobDetail>& value) { m_jobs = value; }
/**
* <p>The list of jobs.</p>
*/
inline void SetJobs(Aws::Vector<JobDetail>&& value) { m_jobs = std::move(value); }
/**
* <p>The list of jobs.</p>
*/
inline DescribeJobsResult& WithJobs(const Aws::Vector<JobDetail>& value) { SetJobs(value); return *this;}
/**
* <p>The list of jobs.</p>
*/
inline DescribeJobsResult& WithJobs(Aws::Vector<JobDetail>&& value) { SetJobs(std::move(value)); return *this;}
/**
* <p>The list of jobs.</p>
*/
inline DescribeJobsResult& AddJobs(const JobDetail& value) { m_jobs.push_back(value); return *this; }
/**
* <p>The list of jobs.</p>
*/
inline DescribeJobsResult& AddJobs(JobDetail&& value) { m_jobs.push_back(std::move(value)); return *this; }
private:
Aws::Vector<JobDetail> m_jobs;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,203 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/batch/model/DeviceCgroupPermission.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>An object representing a container instance host device.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/Device">AWS API
* Reference</a></p>
*/
class AWS_BATCH_API Device
{
public:
Device();
Device(Aws::Utils::Json::JsonView jsonValue);
Device& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The path for the device on the host container instance.</p>
*/
inline const Aws::String& GetHostPath() const{ return m_hostPath; }
/**
* <p>The path for the device on the host container instance.</p>
*/
inline bool HostPathHasBeenSet() const { return m_hostPathHasBeenSet; }
/**
* <p>The path for the device on the host container instance.</p>
*/
inline void SetHostPath(const Aws::String& value) { m_hostPathHasBeenSet = true; m_hostPath = value; }
/**
* <p>The path for the device on the host container instance.</p>
*/
inline void SetHostPath(Aws::String&& value) { m_hostPathHasBeenSet = true; m_hostPath = std::move(value); }
/**
* <p>The path for the device on the host container instance.</p>
*/
inline void SetHostPath(const char* value) { m_hostPathHasBeenSet = true; m_hostPath.assign(value); }
/**
* <p>The path for the device on the host container instance.</p>
*/
inline Device& WithHostPath(const Aws::String& value) { SetHostPath(value); return *this;}
/**
* <p>The path for the device on the host container instance.</p>
*/
inline Device& WithHostPath(Aws::String&& value) { SetHostPath(std::move(value)); return *this;}
/**
* <p>The path for the device on the host container instance.</p>
*/
inline Device& WithHostPath(const char* value) { SetHostPath(value); return *this;}
/**
* <p>The path inside the container at which to expose the host device. By default
* the <code>hostPath</code> value is used.</p>
*/
inline const Aws::String& GetContainerPath() const{ return m_containerPath; }
/**
* <p>The path inside the container at which to expose the host device. By default
* the <code>hostPath</code> value is used.</p>
*/
inline bool ContainerPathHasBeenSet() const { return m_containerPathHasBeenSet; }
/**
* <p>The path inside the container at which to expose the host device. By default
* the <code>hostPath</code> value is used.</p>
*/
inline void SetContainerPath(const Aws::String& value) { m_containerPathHasBeenSet = true; m_containerPath = value; }
/**
* <p>The path inside the container at which to expose the host device. By default
* the <code>hostPath</code> value is used.</p>
*/
inline void SetContainerPath(Aws::String&& value) { m_containerPathHasBeenSet = true; m_containerPath = std::move(value); }
/**
* <p>The path inside the container at which to expose the host device. By default
* the <code>hostPath</code> value is used.</p>
*/
inline void SetContainerPath(const char* value) { m_containerPathHasBeenSet = true; m_containerPath.assign(value); }
/**
* <p>The path inside the container at which to expose the host device. By default
* the <code>hostPath</code> value is used.</p>
*/
inline Device& WithContainerPath(const Aws::String& value) { SetContainerPath(value); return *this;}
/**
* <p>The path inside the container at which to expose the host device. By default
* the <code>hostPath</code> value is used.</p>
*/
inline Device& WithContainerPath(Aws::String&& value) { SetContainerPath(std::move(value)); return *this;}
/**
* <p>The path inside the container at which to expose the host device. By default
* the <code>hostPath</code> value is used.</p>
*/
inline Device& WithContainerPath(const char* value) { SetContainerPath(value); return *this;}
/**
* <p>The explicit permissions to provide to the container for the device. By
* default, the container has permissions for <code>read</code>,
* <code>write</code>, and <code>mknod</code> for the device.</p>
*/
inline const Aws::Vector<DeviceCgroupPermission>& GetPermissions() const{ return m_permissions; }
/**
* <p>The explicit permissions to provide to the container for the device. By
* default, the container has permissions for <code>read</code>,
* <code>write</code>, and <code>mknod</code> for the device.</p>
*/
inline bool PermissionsHasBeenSet() const { return m_permissionsHasBeenSet; }
/**
* <p>The explicit permissions to provide to the container for the device. By
* default, the container has permissions for <code>read</code>,
* <code>write</code>, and <code>mknod</code> for the device.</p>
*/
inline void SetPermissions(const Aws::Vector<DeviceCgroupPermission>& value) { m_permissionsHasBeenSet = true; m_permissions = value; }
/**
* <p>The explicit permissions to provide to the container for the device. By
* default, the container has permissions for <code>read</code>,
* <code>write</code>, and <code>mknod</code> for the device.</p>
*/
inline void SetPermissions(Aws::Vector<DeviceCgroupPermission>&& value) { m_permissionsHasBeenSet = true; m_permissions = std::move(value); }
/**
* <p>The explicit permissions to provide to the container for the device. By
* default, the container has permissions for <code>read</code>,
* <code>write</code>, and <code>mknod</code> for the device.</p>
*/
inline Device& WithPermissions(const Aws::Vector<DeviceCgroupPermission>& value) { SetPermissions(value); return *this;}
/**
* <p>The explicit permissions to provide to the container for the device. By
* default, the container has permissions for <code>read</code>,
* <code>write</code>, and <code>mknod</code> for the device.</p>
*/
inline Device& WithPermissions(Aws::Vector<DeviceCgroupPermission>&& value) { SetPermissions(std::move(value)); return *this;}
/**
* <p>The explicit permissions to provide to the container for the device. By
* default, the container has permissions for <code>read</code>,
* <code>write</code>, and <code>mknod</code> for the device.</p>
*/
inline Device& AddPermissions(const DeviceCgroupPermission& value) { m_permissionsHasBeenSet = true; m_permissions.push_back(value); return *this; }
/**
* <p>The explicit permissions to provide to the container for the device. By
* default, the container has permissions for <code>read</code>,
* <code>write</code>, and <code>mknod</code> for the device.</p>
*/
inline Device& AddPermissions(DeviceCgroupPermission&& value) { m_permissionsHasBeenSet = true; m_permissions.push_back(std::move(value)); return *this; }
private:
Aws::String m_hostPath;
bool m_hostPathHasBeenSet;
Aws::String m_containerPath;
bool m_containerPathHasBeenSet;
Aws::Vector<DeviceCgroupPermission> m_permissions;
bool m_permissionsHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace Batch
{
namespace Model
{
enum class DeviceCgroupPermission
{
NOT_SET,
READ,
WRITE,
MKNOD
};
namespace DeviceCgroupPermissionMapper
{
AWS_BATCH_API DeviceCgroupPermission GetDeviceCgroupPermissionForName(const Aws::String& name);
AWS_BATCH_API Aws::String GetNameForDeviceCgroupPermission(DeviceCgroupPermission value);
} // namespace DeviceCgroupPermissionMapper
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,140 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>Determine whether your data volume persists on the host container instance
* and where it is stored. If this parameter is empty, then the Docker daemon
* assigns a host path for your data volume, but the data is not guaranteed to
* persist after the containers associated with it stop running.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/Host">AWS API
* Reference</a></p>
*/
class AWS_BATCH_API Host
{
public:
Host();
Host(Aws::Utils::Json::JsonView jsonValue);
Host& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The path on the host container instance that is presented to the container.
* If this parameter is empty, then the Docker daemon has assigned a host path for
* you. If this parameter contains a file location, then the data volume persists
* at the specified location on the host container instance until you delete it
* manually. If the source path location does not exist on the host container
* instance, the Docker daemon creates it. If the location does exist, the contents
* of the source path folder are exported.</p>
*/
inline const Aws::String& GetSourcePath() const{ return m_sourcePath; }
/**
* <p>The path on the host container instance that is presented to the container.
* If this parameter is empty, then the Docker daemon has assigned a host path for
* you. If this parameter contains a file location, then the data volume persists
* at the specified location on the host container instance until you delete it
* manually. If the source path location does not exist on the host container
* instance, the Docker daemon creates it. If the location does exist, the contents
* of the source path folder are exported.</p>
*/
inline bool SourcePathHasBeenSet() const { return m_sourcePathHasBeenSet; }
/**
* <p>The path on the host container instance that is presented to the container.
* If this parameter is empty, then the Docker daemon has assigned a host path for
* you. If this parameter contains a file location, then the data volume persists
* at the specified location on the host container instance until you delete it
* manually. If the source path location does not exist on the host container
* instance, the Docker daemon creates it. If the location does exist, the contents
* of the source path folder are exported.</p>
*/
inline void SetSourcePath(const Aws::String& value) { m_sourcePathHasBeenSet = true; m_sourcePath = value; }
/**
* <p>The path on the host container instance that is presented to the container.
* If this parameter is empty, then the Docker daemon has assigned a host path for
* you. If this parameter contains a file location, then the data volume persists
* at the specified location on the host container instance until you delete it
* manually. If the source path location does not exist on the host container
* instance, the Docker daemon creates it. If the location does exist, the contents
* of the source path folder are exported.</p>
*/
inline void SetSourcePath(Aws::String&& value) { m_sourcePathHasBeenSet = true; m_sourcePath = std::move(value); }
/**
* <p>The path on the host container instance that is presented to the container.
* If this parameter is empty, then the Docker daemon has assigned a host path for
* you. If this parameter contains a file location, then the data volume persists
* at the specified location on the host container instance until you delete it
* manually. If the source path location does not exist on the host container
* instance, the Docker daemon creates it. If the location does exist, the contents
* of the source path folder are exported.</p>
*/
inline void SetSourcePath(const char* value) { m_sourcePathHasBeenSet = true; m_sourcePath.assign(value); }
/**
* <p>The path on the host container instance that is presented to the container.
* If this parameter is empty, then the Docker daemon has assigned a host path for
* you. If this parameter contains a file location, then the data volume persists
* at the specified location on the host container instance until you delete it
* manually. If the source path location does not exist on the host container
* instance, the Docker daemon creates it. If the location does exist, the contents
* of the source path folder are exported.</p>
*/
inline Host& WithSourcePath(const Aws::String& value) { SetSourcePath(value); return *this;}
/**
* <p>The path on the host container instance that is presented to the container.
* If this parameter is empty, then the Docker daemon has assigned a host path for
* you. If this parameter contains a file location, then the data volume persists
* at the specified location on the host container instance until you delete it
* manually. If the source path location does not exist on the host container
* instance, the Docker daemon creates it. If the location does exist, the contents
* of the source path folder are exported.</p>
*/
inline Host& WithSourcePath(Aws::String&& value) { SetSourcePath(std::move(value)); return *this;}
/**
* <p>The path on the host container instance that is presented to the container.
* If this parameter is empty, then the Docker daemon has assigned a host path for
* you. If this parameter contains a file location, then the data volume persists
* at the specified location on the host container instance until you delete it
* manually. If the source path location does not exist on the host container
* instance, the Docker daemon creates it. If the location does exist, the contents
* of the source path folder are exported.</p>
*/
inline Host& WithSourcePath(const char* value) { SetSourcePath(value); return *this;}
private:
Aws::String m_sourcePath;
bool m_sourcePathHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace Batch
{
namespace Model
{
enum class JQState
{
NOT_SET,
ENABLED,
DISABLED
};
namespace JQStateMapper
{
AWS_BATCH_API JQState GetJQStateForName(const Aws::String& name);
AWS_BATCH_API Aws::String GetNameForJQState(JQState value);
} // namespace JQStateMapper
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,35 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace Batch
{
namespace Model
{
enum class JQStatus
{
NOT_SET,
CREATING,
UPDATING,
DELETING,
DELETED,
VALID,
INVALID
};
namespace JQStatusMapper
{
AWS_BATCH_API JQStatus GetJQStatusForName(const Aws::String& name);
AWS_BATCH_API Aws::String GetNameForJQStatus(JQStatus value);
} // namespace JQStatusMapper
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,551 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/batch/model/RetryStrategy.h>
#include <aws/batch/model/ContainerProperties.h>
#include <aws/batch/model/JobTimeout.h>
#include <aws/batch/model/NodeProperties.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>An object representing an AWS Batch job definition.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobDefinition">AWS
* API Reference</a></p>
*/
class AWS_BATCH_API JobDefinition
{
public:
JobDefinition();
JobDefinition(Aws::Utils::Json::JsonView jsonValue);
JobDefinition& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The name of the job definition.</p>
*/
inline const Aws::String& GetJobDefinitionName() const{ return m_jobDefinitionName; }
/**
* <p>The name of the job definition.</p>
*/
inline bool JobDefinitionNameHasBeenSet() const { return m_jobDefinitionNameHasBeenSet; }
/**
* <p>The name of the job definition.</p>
*/
inline void SetJobDefinitionName(const Aws::String& value) { m_jobDefinitionNameHasBeenSet = true; m_jobDefinitionName = value; }
/**
* <p>The name of the job definition.</p>
*/
inline void SetJobDefinitionName(Aws::String&& value) { m_jobDefinitionNameHasBeenSet = true; m_jobDefinitionName = std::move(value); }
/**
* <p>The name of the job definition.</p>
*/
inline void SetJobDefinitionName(const char* value) { m_jobDefinitionNameHasBeenSet = true; m_jobDefinitionName.assign(value); }
/**
* <p>The name of the job definition.</p>
*/
inline JobDefinition& WithJobDefinitionName(const Aws::String& value) { SetJobDefinitionName(value); return *this;}
/**
* <p>The name of the job definition.</p>
*/
inline JobDefinition& WithJobDefinitionName(Aws::String&& value) { SetJobDefinitionName(std::move(value)); return *this;}
/**
* <p>The name of the job definition.</p>
*/
inline JobDefinition& WithJobDefinitionName(const char* value) { SetJobDefinitionName(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) for the job definition.</p>
*/
inline const Aws::String& GetJobDefinitionArn() const{ return m_jobDefinitionArn; }
/**
* <p>The Amazon Resource Name (ARN) for the job definition.</p>
*/
inline bool JobDefinitionArnHasBeenSet() const { return m_jobDefinitionArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) for the job definition.</p>
*/
inline void SetJobDefinitionArn(const Aws::String& value) { m_jobDefinitionArnHasBeenSet = true; m_jobDefinitionArn = value; }
/**
* <p>The Amazon Resource Name (ARN) for the job definition.</p>
*/
inline void SetJobDefinitionArn(Aws::String&& value) { m_jobDefinitionArnHasBeenSet = true; m_jobDefinitionArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) for the job definition.</p>
*/
inline void SetJobDefinitionArn(const char* value) { m_jobDefinitionArnHasBeenSet = true; m_jobDefinitionArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) for the job definition.</p>
*/
inline JobDefinition& WithJobDefinitionArn(const Aws::String& value) { SetJobDefinitionArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) for the job definition.</p>
*/
inline JobDefinition& WithJobDefinitionArn(Aws::String&& value) { SetJobDefinitionArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) for the job definition.</p>
*/
inline JobDefinition& WithJobDefinitionArn(const char* value) { SetJobDefinitionArn(value); return *this;}
/**
* <p>The revision of the job definition.</p>
*/
inline int GetRevision() const{ return m_revision; }
/**
* <p>The revision of the job definition.</p>
*/
inline bool RevisionHasBeenSet() const { return m_revisionHasBeenSet; }
/**
* <p>The revision of the job definition.</p>
*/
inline void SetRevision(int value) { m_revisionHasBeenSet = true; m_revision = value; }
/**
* <p>The revision of the job definition.</p>
*/
inline JobDefinition& WithRevision(int value) { SetRevision(value); return *this;}
/**
* <p>The status of the job definition.</p>
*/
inline const Aws::String& GetStatus() const{ return m_status; }
/**
* <p>The status of the job definition.</p>
*/
inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
/**
* <p>The status of the job definition.</p>
*/
inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; }
/**
* <p>The status of the job definition.</p>
*/
inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
/**
* <p>The status of the job definition.</p>
*/
inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); }
/**
* <p>The status of the job definition.</p>
*/
inline JobDefinition& WithStatus(const Aws::String& value) { SetStatus(value); return *this;}
/**
* <p>The status of the job definition.</p>
*/
inline JobDefinition& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;}
/**
* <p>The status of the job definition.</p>
*/
inline JobDefinition& WithStatus(const char* value) { SetStatus(value); return *this;}
/**
* <p>The type of job definition.</p>
*/
inline const Aws::String& GetType() const{ return m_type; }
/**
* <p>The type of job definition.</p>
*/
inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
/**
* <p>The type of job definition.</p>
*/
inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; }
/**
* <p>The type of job definition.</p>
*/
inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
/**
* <p>The type of job definition.</p>
*/
inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); }
/**
* <p>The type of job definition.</p>
*/
inline JobDefinition& WithType(const Aws::String& value) { SetType(value); return *this;}
/**
* <p>The type of job definition.</p>
*/
inline JobDefinition& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;}
/**
* <p>The type of job definition.</p>
*/
inline JobDefinition& WithType(const char* value) { SetType(value); return *this;}
/**
* <p>Default parameters or parameter substitution placeholders that are set in the
* job definition. Parameters are specified as a key-value pair mapping. Parameters
* in a <code>SubmitJob</code> request override any corresponding parameter
* defaults from the job definition. For more information about specifying
* parameters, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/job_definition_parameters.html">Job
* Definition Parameters</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetParameters() const{ return m_parameters; }
/**
* <p>Default parameters or parameter substitution placeholders that are set in the
* job definition. Parameters are specified as a key-value pair mapping. Parameters
* in a <code>SubmitJob</code> request override any corresponding parameter
* defaults from the job definition. For more information about specifying
* parameters, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/job_definition_parameters.html">Job
* Definition Parameters</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
/**
* <p>Default parameters or parameter substitution placeholders that are set in the
* job definition. Parameters are specified as a key-value pair mapping. Parameters
* in a <code>SubmitJob</code> request override any corresponding parameter
* defaults from the job definition. For more information about specifying
* parameters, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/job_definition_parameters.html">Job
* Definition Parameters</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline void SetParameters(const Aws::Map<Aws::String, Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters = value; }
/**
* <p>Default parameters or parameter substitution placeholders that are set in the
* job definition. Parameters are specified as a key-value pair mapping. Parameters
* in a <code>SubmitJob</code> request override any corresponding parameter
* defaults from the job definition. For more information about specifying
* parameters, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/job_definition_parameters.html">Job
* Definition Parameters</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline void SetParameters(Aws::Map<Aws::String, Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); }
/**
* <p>Default parameters or parameter substitution placeholders that are set in the
* job definition. Parameters are specified as a key-value pair mapping. Parameters
* in a <code>SubmitJob</code> request override any corresponding parameter
* defaults from the job definition. For more information about specifying
* parameters, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/job_definition_parameters.html">Job
* Definition Parameters</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline JobDefinition& WithParameters(const Aws::Map<Aws::String, Aws::String>& value) { SetParameters(value); return *this;}
/**
* <p>Default parameters or parameter substitution placeholders that are set in the
* job definition. Parameters are specified as a key-value pair mapping. Parameters
* in a <code>SubmitJob</code> request override any corresponding parameter
* defaults from the job definition. For more information about specifying
* parameters, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/job_definition_parameters.html">Job
* Definition Parameters</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline JobDefinition& WithParameters(Aws::Map<Aws::String, Aws::String>&& value) { SetParameters(std::move(value)); return *this;}
/**
* <p>Default parameters or parameter substitution placeholders that are set in the
* job definition. Parameters are specified as a key-value pair mapping. Parameters
* in a <code>SubmitJob</code> request override any corresponding parameter
* defaults from the job definition. For more information about specifying
* parameters, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/job_definition_parameters.html">Job
* Definition Parameters</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline JobDefinition& AddParameters(const Aws::String& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
/**
* <p>Default parameters or parameter substitution placeholders that are set in the
* job definition. Parameters are specified as a key-value pair mapping. Parameters
* in a <code>SubmitJob</code> request override any corresponding parameter
* defaults from the job definition. For more information about specifying
* parameters, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/job_definition_parameters.html">Job
* Definition Parameters</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline JobDefinition& AddParameters(Aws::String&& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
/**
* <p>Default parameters or parameter substitution placeholders that are set in the
* job definition. Parameters are specified as a key-value pair mapping. Parameters
* in a <code>SubmitJob</code> request override any corresponding parameter
* defaults from the job definition. For more information about specifying
* parameters, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/job_definition_parameters.html">Job
* Definition Parameters</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline JobDefinition& AddParameters(const Aws::String& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
/**
* <p>Default parameters or parameter substitution placeholders that are set in the
* job definition. Parameters are specified as a key-value pair mapping. Parameters
* in a <code>SubmitJob</code> request override any corresponding parameter
* defaults from the job definition. For more information about specifying
* parameters, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/job_definition_parameters.html">Job
* Definition Parameters</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline JobDefinition& AddParameters(Aws::String&& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; }
/**
* <p>Default parameters or parameter substitution placeholders that are set in the
* job definition. Parameters are specified as a key-value pair mapping. Parameters
* in a <code>SubmitJob</code> request override any corresponding parameter
* defaults from the job definition. For more information about specifying
* parameters, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/job_definition_parameters.html">Job
* Definition Parameters</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline JobDefinition& AddParameters(const char* key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
/**
* <p>Default parameters or parameter substitution placeholders that are set in the
* job definition. Parameters are specified as a key-value pair mapping. Parameters
* in a <code>SubmitJob</code> request override any corresponding parameter
* defaults from the job definition. For more information about specifying
* parameters, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/job_definition_parameters.html">Job
* Definition Parameters</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline JobDefinition& AddParameters(Aws::String&& key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
/**
* <p>Default parameters or parameter substitution placeholders that are set in the
* job definition. Parameters are specified as a key-value pair mapping. Parameters
* in a <code>SubmitJob</code> request override any corresponding parameter
* defaults from the job definition. For more information about specifying
* parameters, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/job_definition_parameters.html">Job
* Definition Parameters</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline JobDefinition& AddParameters(const char* key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
/**
* <p>The retry strategy to use for failed jobs that are submitted with this job
* definition.</p>
*/
inline const RetryStrategy& GetRetryStrategy() const{ return m_retryStrategy; }
/**
* <p>The retry strategy to use for failed jobs that are submitted with this job
* definition.</p>
*/
inline bool RetryStrategyHasBeenSet() const { return m_retryStrategyHasBeenSet; }
/**
* <p>The retry strategy to use for failed jobs that are submitted with this job
* definition.</p>
*/
inline void SetRetryStrategy(const RetryStrategy& value) { m_retryStrategyHasBeenSet = true; m_retryStrategy = value; }
/**
* <p>The retry strategy to use for failed jobs that are submitted with this job
* definition.</p>
*/
inline void SetRetryStrategy(RetryStrategy&& value) { m_retryStrategyHasBeenSet = true; m_retryStrategy = std::move(value); }
/**
* <p>The retry strategy to use for failed jobs that are submitted with this job
* definition.</p>
*/
inline JobDefinition& WithRetryStrategy(const RetryStrategy& value) { SetRetryStrategy(value); return *this;}
/**
* <p>The retry strategy to use for failed jobs that are submitted with this job
* definition.</p>
*/
inline JobDefinition& WithRetryStrategy(RetryStrategy&& value) { SetRetryStrategy(std::move(value)); return *this;}
/**
* <p>An object with various properties specific to container-based jobs.</p>
*/
inline const ContainerProperties& GetContainerProperties() const{ return m_containerProperties; }
/**
* <p>An object with various properties specific to container-based jobs.</p>
*/
inline bool ContainerPropertiesHasBeenSet() const { return m_containerPropertiesHasBeenSet; }
/**
* <p>An object with various properties specific to container-based jobs.</p>
*/
inline void SetContainerProperties(const ContainerProperties& value) { m_containerPropertiesHasBeenSet = true; m_containerProperties = value; }
/**
* <p>An object with various properties specific to container-based jobs.</p>
*/
inline void SetContainerProperties(ContainerProperties&& value) { m_containerPropertiesHasBeenSet = true; m_containerProperties = std::move(value); }
/**
* <p>An object with various properties specific to container-based jobs.</p>
*/
inline JobDefinition& WithContainerProperties(const ContainerProperties& value) { SetContainerProperties(value); return *this;}
/**
* <p>An object with various properties specific to container-based jobs.</p>
*/
inline JobDefinition& WithContainerProperties(ContainerProperties&& value) { SetContainerProperties(std::move(value)); return *this;}
/**
* <p>The timeout configuration for jobs that are submitted with this job
* definition. You can specify a timeout duration after which AWS Batch terminates
* your jobs if they have not finished.</p>
*/
inline const JobTimeout& GetTimeout() const{ return m_timeout; }
/**
* <p>The timeout configuration for jobs that are submitted with this job
* definition. You can specify a timeout duration after which AWS Batch terminates
* your jobs if they have not finished.</p>
*/
inline bool TimeoutHasBeenSet() const { return m_timeoutHasBeenSet; }
/**
* <p>The timeout configuration for jobs that are submitted with this job
* definition. You can specify a timeout duration after which AWS Batch terminates
* your jobs if they have not finished.</p>
*/
inline void SetTimeout(const JobTimeout& value) { m_timeoutHasBeenSet = true; m_timeout = value; }
/**
* <p>The timeout configuration for jobs that are submitted with this job
* definition. You can specify a timeout duration after which AWS Batch terminates
* your jobs if they have not finished.</p>
*/
inline void SetTimeout(JobTimeout&& value) { m_timeoutHasBeenSet = true; m_timeout = std::move(value); }
/**
* <p>The timeout configuration for jobs that are submitted with this job
* definition. You can specify a timeout duration after which AWS Batch terminates
* your jobs if they have not finished.</p>
*/
inline JobDefinition& WithTimeout(const JobTimeout& value) { SetTimeout(value); return *this;}
/**
* <p>The timeout configuration for jobs that are submitted with this job
* definition. You can specify a timeout duration after which AWS Batch terminates
* your jobs if they have not finished.</p>
*/
inline JobDefinition& WithTimeout(JobTimeout&& value) { SetTimeout(std::move(value)); return *this;}
/**
* <p>An object with various properties specific to multi-node parallel jobs.</p>
*/
inline const NodeProperties& GetNodeProperties() const{ return m_nodeProperties; }
/**
* <p>An object with various properties specific to multi-node parallel jobs.</p>
*/
inline bool NodePropertiesHasBeenSet() const { return m_nodePropertiesHasBeenSet; }
/**
* <p>An object with various properties specific to multi-node parallel jobs.</p>
*/
inline void SetNodeProperties(const NodeProperties& value) { m_nodePropertiesHasBeenSet = true; m_nodeProperties = value; }
/**
* <p>An object with various properties specific to multi-node parallel jobs.</p>
*/
inline void SetNodeProperties(NodeProperties&& value) { m_nodePropertiesHasBeenSet = true; m_nodeProperties = std::move(value); }
/**
* <p>An object with various properties specific to multi-node parallel jobs.</p>
*/
inline JobDefinition& WithNodeProperties(const NodeProperties& value) { SetNodeProperties(value); return *this;}
/**
* <p>An object with various properties specific to multi-node parallel jobs.</p>
*/
inline JobDefinition& WithNodeProperties(NodeProperties&& value) { SetNodeProperties(std::move(value)); return *this;}
private:
Aws::String m_jobDefinitionName;
bool m_jobDefinitionNameHasBeenSet;
Aws::String m_jobDefinitionArn;
bool m_jobDefinitionArnHasBeenSet;
int m_revision;
bool m_revisionHasBeenSet;
Aws::String m_status;
bool m_statusHasBeenSet;
Aws::String m_type;
bool m_typeHasBeenSet;
Aws::Map<Aws::String, Aws::String> m_parameters;
bool m_parametersHasBeenSet;
RetryStrategy m_retryStrategy;
bool m_retryStrategyHasBeenSet;
ContainerProperties m_containerProperties;
bool m_containerPropertiesHasBeenSet;
JobTimeout m_timeout;
bool m_timeoutHasBeenSet;
NodeProperties m_nodeProperties;
bool m_nodePropertiesHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace Batch
{
namespace Model
{
enum class JobDefinitionType
{
NOT_SET,
container,
multinode
};
namespace JobDefinitionTypeMapper
{
AWS_BATCH_API JobDefinitionType GetJobDefinitionTypeForName(const Aws::String& name);
AWS_BATCH_API Aws::String GetNameForJobDefinitionType(JobDefinitionType value);
} // namespace JobDefinitionTypeMapper
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,124 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/batch/model/ArrayJobDependency.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>An object representing an AWS Batch job dependency.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobDependency">AWS
* API Reference</a></p>
*/
class AWS_BATCH_API JobDependency
{
public:
JobDependency();
JobDependency(Aws::Utils::Json::JsonView jsonValue);
JobDependency& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The job ID of the AWS Batch job associated with this dependency.</p>
*/
inline const Aws::String& GetJobId() const{ return m_jobId; }
/**
* <p>The job ID of the AWS Batch job associated with this dependency.</p>
*/
inline bool JobIdHasBeenSet() const { return m_jobIdHasBeenSet; }
/**
* <p>The job ID of the AWS Batch job associated with this dependency.</p>
*/
inline void SetJobId(const Aws::String& value) { m_jobIdHasBeenSet = true; m_jobId = value; }
/**
* <p>The job ID of the AWS Batch job associated with this dependency.</p>
*/
inline void SetJobId(Aws::String&& value) { m_jobIdHasBeenSet = true; m_jobId = std::move(value); }
/**
* <p>The job ID of the AWS Batch job associated with this dependency.</p>
*/
inline void SetJobId(const char* value) { m_jobIdHasBeenSet = true; m_jobId.assign(value); }
/**
* <p>The job ID of the AWS Batch job associated with this dependency.</p>
*/
inline JobDependency& WithJobId(const Aws::String& value) { SetJobId(value); return *this;}
/**
* <p>The job ID of the AWS Batch job associated with this dependency.</p>
*/
inline JobDependency& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;}
/**
* <p>The job ID of the AWS Batch job associated with this dependency.</p>
*/
inline JobDependency& WithJobId(const char* value) { SetJobId(value); return *this;}
/**
* <p>The type of the job dependency.</p>
*/
inline const ArrayJobDependency& GetType() const{ return m_type; }
/**
* <p>The type of the job dependency.</p>
*/
inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
/**
* <p>The type of the job dependency.</p>
*/
inline void SetType(const ArrayJobDependency& value) { m_typeHasBeenSet = true; m_type = value; }
/**
* <p>The type of the job dependency.</p>
*/
inline void SetType(ArrayJobDependency&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
/**
* <p>The type of the job dependency.</p>
*/
inline JobDependency& WithType(const ArrayJobDependency& value) { SetType(value); return *this;}
/**
* <p>The type of the job dependency.</p>
*/
inline JobDependency& WithType(ArrayJobDependency&& value) { SetType(std::move(value)); return *this;}
private:
Aws::String m_jobId;
bool m_jobIdHasBeenSet;
ArrayJobDependency m_type;
bool m_typeHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,852 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/batch/model/JobStatus.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/batch/model/RetryStrategy.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/batch/model/ContainerDetail.h>
#include <aws/batch/model/NodeDetails.h>
#include <aws/batch/model/NodeProperties.h>
#include <aws/batch/model/ArrayPropertiesDetail.h>
#include <aws/batch/model/JobTimeout.h>
#include <aws/batch/model/AttemptDetail.h>
#include <aws/batch/model/JobDependency.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>An object representing an AWS Batch job.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobDetail">AWS API
* Reference</a></p>
*/
class AWS_BATCH_API JobDetail
{
public:
JobDetail();
JobDetail(Aws::Utils::Json::JsonView jsonValue);
JobDetail& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The name of the job.</p>
*/
inline const Aws::String& GetJobName() const{ return m_jobName; }
/**
* <p>The name of the job.</p>
*/
inline bool JobNameHasBeenSet() const { return m_jobNameHasBeenSet; }
/**
* <p>The name of the job.</p>
*/
inline void SetJobName(const Aws::String& value) { m_jobNameHasBeenSet = true; m_jobName = value; }
/**
* <p>The name of the job.</p>
*/
inline void SetJobName(Aws::String&& value) { m_jobNameHasBeenSet = true; m_jobName = std::move(value); }
/**
* <p>The name of the job.</p>
*/
inline void SetJobName(const char* value) { m_jobNameHasBeenSet = true; m_jobName.assign(value); }
/**
* <p>The name of the job.</p>
*/
inline JobDetail& WithJobName(const Aws::String& value) { SetJobName(value); return *this;}
/**
* <p>The name of the job.</p>
*/
inline JobDetail& WithJobName(Aws::String&& value) { SetJobName(std::move(value)); return *this;}
/**
* <p>The name of the job.</p>
*/
inline JobDetail& WithJobName(const char* value) { SetJobName(value); return *this;}
/**
* <p>The ID for the job.</p>
*/
inline const Aws::String& GetJobId() const{ return m_jobId; }
/**
* <p>The ID for the job.</p>
*/
inline bool JobIdHasBeenSet() const { return m_jobIdHasBeenSet; }
/**
* <p>The ID for the job.</p>
*/
inline void SetJobId(const Aws::String& value) { m_jobIdHasBeenSet = true; m_jobId = value; }
/**
* <p>The ID for the job.</p>
*/
inline void SetJobId(Aws::String&& value) { m_jobIdHasBeenSet = true; m_jobId = std::move(value); }
/**
* <p>The ID for the job.</p>
*/
inline void SetJobId(const char* value) { m_jobIdHasBeenSet = true; m_jobId.assign(value); }
/**
* <p>The ID for the job.</p>
*/
inline JobDetail& WithJobId(const Aws::String& value) { SetJobId(value); return *this;}
/**
* <p>The ID for the job.</p>
*/
inline JobDetail& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;}
/**
* <p>The ID for the job.</p>
*/
inline JobDetail& WithJobId(const char* value) { SetJobId(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the job queue with which the job is
* associated.</p>
*/
inline const Aws::String& GetJobQueue() const{ return m_jobQueue; }
/**
* <p>The Amazon Resource Name (ARN) of the job queue with which the job is
* associated.</p>
*/
inline bool JobQueueHasBeenSet() const { return m_jobQueueHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the job queue with which the job is
* associated.</p>
*/
inline void SetJobQueue(const Aws::String& value) { m_jobQueueHasBeenSet = true; m_jobQueue = value; }
/**
* <p>The Amazon Resource Name (ARN) of the job queue with which the job is
* associated.</p>
*/
inline void SetJobQueue(Aws::String&& value) { m_jobQueueHasBeenSet = true; m_jobQueue = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the job queue with which the job is
* associated.</p>
*/
inline void SetJobQueue(const char* value) { m_jobQueueHasBeenSet = true; m_jobQueue.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the job queue with which the job is
* associated.</p>
*/
inline JobDetail& WithJobQueue(const Aws::String& value) { SetJobQueue(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the job queue with which the job is
* associated.</p>
*/
inline JobDetail& WithJobQueue(Aws::String&& value) { SetJobQueue(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the job queue with which the job is
* associated.</p>
*/
inline JobDetail& WithJobQueue(const char* value) { SetJobQueue(value); return *this;}
/**
* <p>The current status for the job.</p> <p>If your jobs do not progress to
* <code>STARTING</code>, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#job_stuck_in_runnable">Jobs
* Stuck in RUNNABLE Status</a> in the troubleshooting section of the <i>AWS Batch
* User Guide</i>.</p>
*/
inline const JobStatus& GetStatus() const{ return m_status; }
/**
* <p>The current status for the job.</p> <p>If your jobs do not progress to
* <code>STARTING</code>, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#job_stuck_in_runnable">Jobs
* Stuck in RUNNABLE Status</a> in the troubleshooting section of the <i>AWS Batch
* User Guide</i>.</p>
*/
inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
/**
* <p>The current status for the job.</p> <p>If your jobs do not progress to
* <code>STARTING</code>, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#job_stuck_in_runnable">Jobs
* Stuck in RUNNABLE Status</a> in the troubleshooting section of the <i>AWS Batch
* User Guide</i>.</p>
*/
inline void SetStatus(const JobStatus& value) { m_statusHasBeenSet = true; m_status = value; }
/**
* <p>The current status for the job.</p> <p>If your jobs do not progress to
* <code>STARTING</code>, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#job_stuck_in_runnable">Jobs
* Stuck in RUNNABLE Status</a> in the troubleshooting section of the <i>AWS Batch
* User Guide</i>.</p>
*/
inline void SetStatus(JobStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
/**
* <p>The current status for the job.</p> <p>If your jobs do not progress to
* <code>STARTING</code>, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#job_stuck_in_runnable">Jobs
* Stuck in RUNNABLE Status</a> in the troubleshooting section of the <i>AWS Batch
* User Guide</i>.</p>
*/
inline JobDetail& WithStatus(const JobStatus& value) { SetStatus(value); return *this;}
/**
* <p>The current status for the job.</p> <p>If your jobs do not progress to
* <code>STARTING</code>, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#job_stuck_in_runnable">Jobs
* Stuck in RUNNABLE Status</a> in the troubleshooting section of the <i>AWS Batch
* User Guide</i>.</p>
*/
inline JobDetail& WithStatus(JobStatus&& value) { SetStatus(std::move(value)); return *this;}
/**
* <p>A list of job attempts associated with this job.</p>
*/
inline const Aws::Vector<AttemptDetail>& GetAttempts() const{ return m_attempts; }
/**
* <p>A list of job attempts associated with this job.</p>
*/
inline bool AttemptsHasBeenSet() const { return m_attemptsHasBeenSet; }
/**
* <p>A list of job attempts associated with this job.</p>
*/
inline void SetAttempts(const Aws::Vector<AttemptDetail>& value) { m_attemptsHasBeenSet = true; m_attempts = value; }
/**
* <p>A list of job attempts associated with this job.</p>
*/
inline void SetAttempts(Aws::Vector<AttemptDetail>&& value) { m_attemptsHasBeenSet = true; m_attempts = std::move(value); }
/**
* <p>A list of job attempts associated with this job.</p>
*/
inline JobDetail& WithAttempts(const Aws::Vector<AttemptDetail>& value) { SetAttempts(value); return *this;}
/**
* <p>A list of job attempts associated with this job.</p>
*/
inline JobDetail& WithAttempts(Aws::Vector<AttemptDetail>&& value) { SetAttempts(std::move(value)); return *this;}
/**
* <p>A list of job attempts associated with this job.</p>
*/
inline JobDetail& AddAttempts(const AttemptDetail& value) { m_attemptsHasBeenSet = true; m_attempts.push_back(value); return *this; }
/**
* <p>A list of job attempts associated with this job.</p>
*/
inline JobDetail& AddAttempts(AttemptDetail&& value) { m_attemptsHasBeenSet = true; m_attempts.push_back(std::move(value)); return *this; }
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job.</p>
*/
inline const Aws::String& GetStatusReason() const{ return m_statusReason; }
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job.</p>
*/
inline bool StatusReasonHasBeenSet() const { return m_statusReasonHasBeenSet; }
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job.</p>
*/
inline void SetStatusReason(const Aws::String& value) { m_statusReasonHasBeenSet = true; m_statusReason = value; }
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job.</p>
*/
inline void SetStatusReason(Aws::String&& value) { m_statusReasonHasBeenSet = true; m_statusReason = std::move(value); }
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job.</p>
*/
inline void SetStatusReason(const char* value) { m_statusReasonHasBeenSet = true; m_statusReason.assign(value); }
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job.</p>
*/
inline JobDetail& WithStatusReason(const Aws::String& value) { SetStatusReason(value); return *this;}
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job.</p>
*/
inline JobDetail& WithStatusReason(Aws::String&& value) { SetStatusReason(std::move(value)); return *this;}
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job.</p>
*/
inline JobDetail& WithStatusReason(const char* value) { SetStatusReason(value); return *this;}
/**
* <p>The Unix timestamp (in seconds and milliseconds) for when the job was
* created. For non-array jobs and parent array jobs, this is when the job entered
* the <code>SUBMITTED</code> state (at the time <a>SubmitJob</a> was called). For
* array child jobs, this is when the child job was spawned by its parent and
* entered the <code>PENDING</code> state.</p>
*/
inline long long GetCreatedAt() const{ return m_createdAt; }
/**
* <p>The Unix timestamp (in seconds and milliseconds) for when the job was
* created. For non-array jobs and parent array jobs, this is when the job entered
* the <code>SUBMITTED</code> state (at the time <a>SubmitJob</a> was called). For
* array child jobs, this is when the child job was spawned by its parent and
* entered the <code>PENDING</code> state.</p>
*/
inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; }
/**
* <p>The Unix timestamp (in seconds and milliseconds) for when the job was
* created. For non-array jobs and parent array jobs, this is when the job entered
* the <code>SUBMITTED</code> state (at the time <a>SubmitJob</a> was called). For
* array child jobs, this is when the child job was spawned by its parent and
* entered the <code>PENDING</code> state.</p>
*/
inline void SetCreatedAt(long long value) { m_createdAtHasBeenSet = true; m_createdAt = value; }
/**
* <p>The Unix timestamp (in seconds and milliseconds) for when the job was
* created. For non-array jobs and parent array jobs, this is when the job entered
* the <code>SUBMITTED</code> state (at the time <a>SubmitJob</a> was called). For
* array child jobs, this is when the child job was spawned by its parent and
* entered the <code>PENDING</code> state.</p>
*/
inline JobDetail& WithCreatedAt(long long value) { SetCreatedAt(value); return *this;}
/**
* <p>The retry strategy to use for this job if an attempt fails.</p>
*/
inline const RetryStrategy& GetRetryStrategy() const{ return m_retryStrategy; }
/**
* <p>The retry strategy to use for this job if an attempt fails.</p>
*/
inline bool RetryStrategyHasBeenSet() const { return m_retryStrategyHasBeenSet; }
/**
* <p>The retry strategy to use for this job if an attempt fails.</p>
*/
inline void SetRetryStrategy(const RetryStrategy& value) { m_retryStrategyHasBeenSet = true; m_retryStrategy = value; }
/**
* <p>The retry strategy to use for this job if an attempt fails.</p>
*/
inline void SetRetryStrategy(RetryStrategy&& value) { m_retryStrategyHasBeenSet = true; m_retryStrategy = std::move(value); }
/**
* <p>The retry strategy to use for this job if an attempt fails.</p>
*/
inline JobDetail& WithRetryStrategy(const RetryStrategy& value) { SetRetryStrategy(value); return *this;}
/**
* <p>The retry strategy to use for this job if an attempt fails.</p>
*/
inline JobDetail& WithRetryStrategy(RetryStrategy&& value) { SetRetryStrategy(std::move(value)); return *this;}
/**
* <p>The Unix timestamp (in seconds and milliseconds) for when the job was started
* (when the job transitioned from the <code>STARTING</code> state to the
* <code>RUNNING</code> state).</p>
*/
inline long long GetStartedAt() const{ return m_startedAt; }
/**
* <p>The Unix timestamp (in seconds and milliseconds) for when the job was started
* (when the job transitioned from the <code>STARTING</code> state to the
* <code>RUNNING</code> state).</p>
*/
inline bool StartedAtHasBeenSet() const { return m_startedAtHasBeenSet; }
/**
* <p>The Unix timestamp (in seconds and milliseconds) for when the job was started
* (when the job transitioned from the <code>STARTING</code> state to the
* <code>RUNNING</code> state).</p>
*/
inline void SetStartedAt(long long value) { m_startedAtHasBeenSet = true; m_startedAt = value; }
/**
* <p>The Unix timestamp (in seconds and milliseconds) for when the job was started
* (when the job transitioned from the <code>STARTING</code> state to the
* <code>RUNNING</code> state).</p>
*/
inline JobDetail& WithStartedAt(long long value) { SetStartedAt(value); return *this;}
/**
* <p>The Unix timestamp (in seconds and milliseconds) for when the job was stopped
* (when the job transitioned from the <code>RUNNING</code> state to a terminal
* state, such as <code>SUCCEEDED</code> or <code>FAILED</code>).</p>
*/
inline long long GetStoppedAt() const{ return m_stoppedAt; }
/**
* <p>The Unix timestamp (in seconds and milliseconds) for when the job was stopped
* (when the job transitioned from the <code>RUNNING</code> state to a terminal
* state, such as <code>SUCCEEDED</code> or <code>FAILED</code>).</p>
*/
inline bool StoppedAtHasBeenSet() const { return m_stoppedAtHasBeenSet; }
/**
* <p>The Unix timestamp (in seconds and milliseconds) for when the job was stopped
* (when the job transitioned from the <code>RUNNING</code> state to a terminal
* state, such as <code>SUCCEEDED</code> or <code>FAILED</code>).</p>
*/
inline void SetStoppedAt(long long value) { m_stoppedAtHasBeenSet = true; m_stoppedAt = value; }
/**
* <p>The Unix timestamp (in seconds and milliseconds) for when the job was stopped
* (when the job transitioned from the <code>RUNNING</code> state to a terminal
* state, such as <code>SUCCEEDED</code> or <code>FAILED</code>).</p>
*/
inline JobDetail& WithStoppedAt(long long value) { SetStoppedAt(value); return *this;}
/**
* <p>A list of job IDs on which this job depends.</p>
*/
inline const Aws::Vector<JobDependency>& GetDependsOn() const{ return m_dependsOn; }
/**
* <p>A list of job IDs on which this job depends.</p>
*/
inline bool DependsOnHasBeenSet() const { return m_dependsOnHasBeenSet; }
/**
* <p>A list of job IDs on which this job depends.</p>
*/
inline void SetDependsOn(const Aws::Vector<JobDependency>& value) { m_dependsOnHasBeenSet = true; m_dependsOn = value; }
/**
* <p>A list of job IDs on which this job depends.</p>
*/
inline void SetDependsOn(Aws::Vector<JobDependency>&& value) { m_dependsOnHasBeenSet = true; m_dependsOn = std::move(value); }
/**
* <p>A list of job IDs on which this job depends.</p>
*/
inline JobDetail& WithDependsOn(const Aws::Vector<JobDependency>& value) { SetDependsOn(value); return *this;}
/**
* <p>A list of job IDs on which this job depends.</p>
*/
inline JobDetail& WithDependsOn(Aws::Vector<JobDependency>&& value) { SetDependsOn(std::move(value)); return *this;}
/**
* <p>A list of job IDs on which this job depends.</p>
*/
inline JobDetail& AddDependsOn(const JobDependency& value) { m_dependsOnHasBeenSet = true; m_dependsOn.push_back(value); return *this; }
/**
* <p>A list of job IDs on which this job depends.</p>
*/
inline JobDetail& AddDependsOn(JobDependency&& value) { m_dependsOnHasBeenSet = true; m_dependsOn.push_back(std::move(value)); return *this; }
/**
* <p>The job definition that is used by this job.</p>
*/
inline const Aws::String& GetJobDefinition() const{ return m_jobDefinition; }
/**
* <p>The job definition that is used by this job.</p>
*/
inline bool JobDefinitionHasBeenSet() const { return m_jobDefinitionHasBeenSet; }
/**
* <p>The job definition that is used by this job.</p>
*/
inline void SetJobDefinition(const Aws::String& value) { m_jobDefinitionHasBeenSet = true; m_jobDefinition = value; }
/**
* <p>The job definition that is used by this job.</p>
*/
inline void SetJobDefinition(Aws::String&& value) { m_jobDefinitionHasBeenSet = true; m_jobDefinition = std::move(value); }
/**
* <p>The job definition that is used by this job.</p>
*/
inline void SetJobDefinition(const char* value) { m_jobDefinitionHasBeenSet = true; m_jobDefinition.assign(value); }
/**
* <p>The job definition that is used by this job.</p>
*/
inline JobDetail& WithJobDefinition(const Aws::String& value) { SetJobDefinition(value); return *this;}
/**
* <p>The job definition that is used by this job.</p>
*/
inline JobDetail& WithJobDefinition(Aws::String&& value) { SetJobDefinition(std::move(value)); return *this;}
/**
* <p>The job definition that is used by this job.</p>
*/
inline JobDetail& WithJobDefinition(const char* value) { SetJobDefinition(value); return *this;}
/**
* <p>Additional parameters passed to the job that replace parameter substitution
* placeholders or override any corresponding parameter defaults from the job
* definition.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetParameters() const{ return m_parameters; }
/**
* <p>Additional parameters passed to the job that replace parameter substitution
* placeholders or override any corresponding parameter defaults from the job
* definition.</p>
*/
inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
/**
* <p>Additional parameters passed to the job that replace parameter substitution
* placeholders or override any corresponding parameter defaults from the job
* definition.</p>
*/
inline void SetParameters(const Aws::Map<Aws::String, Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters = value; }
/**
* <p>Additional parameters passed to the job that replace parameter substitution
* placeholders or override any corresponding parameter defaults from the job
* definition.</p>
*/
inline void SetParameters(Aws::Map<Aws::String, Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); }
/**
* <p>Additional parameters passed to the job that replace parameter substitution
* placeholders or override any corresponding parameter defaults from the job
* definition.</p>
*/
inline JobDetail& WithParameters(const Aws::Map<Aws::String, Aws::String>& value) { SetParameters(value); return *this;}
/**
* <p>Additional parameters passed to the job that replace parameter substitution
* placeholders or override any corresponding parameter defaults from the job
* definition.</p>
*/
inline JobDetail& WithParameters(Aws::Map<Aws::String, Aws::String>&& value) { SetParameters(std::move(value)); return *this;}
/**
* <p>Additional parameters passed to the job that replace parameter substitution
* placeholders or override any corresponding parameter defaults from the job
* definition.</p>
*/
inline JobDetail& AddParameters(const Aws::String& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
/**
* <p>Additional parameters passed to the job that replace parameter substitution
* placeholders or override any corresponding parameter defaults from the job
* definition.</p>
*/
inline JobDetail& AddParameters(Aws::String&& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
/**
* <p>Additional parameters passed to the job that replace parameter substitution
* placeholders or override any corresponding parameter defaults from the job
* definition.</p>
*/
inline JobDetail& AddParameters(const Aws::String& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
/**
* <p>Additional parameters passed to the job that replace parameter substitution
* placeholders or override any corresponding parameter defaults from the job
* definition.</p>
*/
inline JobDetail& AddParameters(Aws::String&& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; }
/**
* <p>Additional parameters passed to the job that replace parameter substitution
* placeholders or override any corresponding parameter defaults from the job
* definition.</p>
*/
inline JobDetail& AddParameters(const char* key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
/**
* <p>Additional parameters passed to the job that replace parameter substitution
* placeholders or override any corresponding parameter defaults from the job
* definition.</p>
*/
inline JobDetail& AddParameters(Aws::String&& key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
/**
* <p>Additional parameters passed to the job that replace parameter substitution
* placeholders or override any corresponding parameter defaults from the job
* definition.</p>
*/
inline JobDetail& AddParameters(const char* key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
/**
* <p>An object representing the details of the container that is associated with
* the job.</p>
*/
inline const ContainerDetail& GetContainer() const{ return m_container; }
/**
* <p>An object representing the details of the container that is associated with
* the job.</p>
*/
inline bool ContainerHasBeenSet() const { return m_containerHasBeenSet; }
/**
* <p>An object representing the details of the container that is associated with
* the job.</p>
*/
inline void SetContainer(const ContainerDetail& value) { m_containerHasBeenSet = true; m_container = value; }
/**
* <p>An object representing the details of the container that is associated with
* the job.</p>
*/
inline void SetContainer(ContainerDetail&& value) { m_containerHasBeenSet = true; m_container = std::move(value); }
/**
* <p>An object representing the details of the container that is associated with
* the job.</p>
*/
inline JobDetail& WithContainer(const ContainerDetail& value) { SetContainer(value); return *this;}
/**
* <p>An object representing the details of the container that is associated with
* the job.</p>
*/
inline JobDetail& WithContainer(ContainerDetail&& value) { SetContainer(std::move(value)); return *this;}
/**
* <p>An object representing the details of a node that is associated with a
* multi-node parallel job.</p>
*/
inline const NodeDetails& GetNodeDetails() const{ return m_nodeDetails; }
/**
* <p>An object representing the details of a node that is associated with a
* multi-node parallel job.</p>
*/
inline bool NodeDetailsHasBeenSet() const { return m_nodeDetailsHasBeenSet; }
/**
* <p>An object representing the details of a node that is associated with a
* multi-node parallel job.</p>
*/
inline void SetNodeDetails(const NodeDetails& value) { m_nodeDetailsHasBeenSet = true; m_nodeDetails = value; }
/**
* <p>An object representing the details of a node that is associated with a
* multi-node parallel job.</p>
*/
inline void SetNodeDetails(NodeDetails&& value) { m_nodeDetailsHasBeenSet = true; m_nodeDetails = std::move(value); }
/**
* <p>An object representing the details of a node that is associated with a
* multi-node parallel job.</p>
*/
inline JobDetail& WithNodeDetails(const NodeDetails& value) { SetNodeDetails(value); return *this;}
/**
* <p>An object representing the details of a node that is associated with a
* multi-node parallel job.</p>
*/
inline JobDetail& WithNodeDetails(NodeDetails&& value) { SetNodeDetails(std::move(value)); return *this;}
/**
* <p>An object representing the node properties of a multi-node parallel job.</p>
*/
inline const NodeProperties& GetNodeProperties() const{ return m_nodeProperties; }
/**
* <p>An object representing the node properties of a multi-node parallel job.</p>
*/
inline bool NodePropertiesHasBeenSet() const { return m_nodePropertiesHasBeenSet; }
/**
* <p>An object representing the node properties of a multi-node parallel job.</p>
*/
inline void SetNodeProperties(const NodeProperties& value) { m_nodePropertiesHasBeenSet = true; m_nodeProperties = value; }
/**
* <p>An object representing the node properties of a multi-node parallel job.</p>
*/
inline void SetNodeProperties(NodeProperties&& value) { m_nodePropertiesHasBeenSet = true; m_nodeProperties = std::move(value); }
/**
* <p>An object representing the node properties of a multi-node parallel job.</p>
*/
inline JobDetail& WithNodeProperties(const NodeProperties& value) { SetNodeProperties(value); return *this;}
/**
* <p>An object representing the node properties of a multi-node parallel job.</p>
*/
inline JobDetail& WithNodeProperties(NodeProperties&& value) { SetNodeProperties(std::move(value)); return *this;}
/**
* <p>The array properties of the job, if it is an array job.</p>
*/
inline const ArrayPropertiesDetail& GetArrayProperties() const{ return m_arrayProperties; }
/**
* <p>The array properties of the job, if it is an array job.</p>
*/
inline bool ArrayPropertiesHasBeenSet() const { return m_arrayPropertiesHasBeenSet; }
/**
* <p>The array properties of the job, if it is an array job.</p>
*/
inline void SetArrayProperties(const ArrayPropertiesDetail& value) { m_arrayPropertiesHasBeenSet = true; m_arrayProperties = value; }
/**
* <p>The array properties of the job, if it is an array job.</p>
*/
inline void SetArrayProperties(ArrayPropertiesDetail&& value) { m_arrayPropertiesHasBeenSet = true; m_arrayProperties = std::move(value); }
/**
* <p>The array properties of the job, if it is an array job.</p>
*/
inline JobDetail& WithArrayProperties(const ArrayPropertiesDetail& value) { SetArrayProperties(value); return *this;}
/**
* <p>The array properties of the job, if it is an array job.</p>
*/
inline JobDetail& WithArrayProperties(ArrayPropertiesDetail&& value) { SetArrayProperties(std::move(value)); return *this;}
/**
* <p>The timeout configuration for the job.</p>
*/
inline const JobTimeout& GetTimeout() const{ return m_timeout; }
/**
* <p>The timeout configuration for the job.</p>
*/
inline bool TimeoutHasBeenSet() const { return m_timeoutHasBeenSet; }
/**
* <p>The timeout configuration for the job.</p>
*/
inline void SetTimeout(const JobTimeout& value) { m_timeoutHasBeenSet = true; m_timeout = value; }
/**
* <p>The timeout configuration for the job.</p>
*/
inline void SetTimeout(JobTimeout&& value) { m_timeoutHasBeenSet = true; m_timeout = std::move(value); }
/**
* <p>The timeout configuration for the job.</p>
*/
inline JobDetail& WithTimeout(const JobTimeout& value) { SetTimeout(value); return *this;}
/**
* <p>The timeout configuration for the job.</p>
*/
inline JobDetail& WithTimeout(JobTimeout&& value) { SetTimeout(std::move(value)); return *this;}
private:
Aws::String m_jobName;
bool m_jobNameHasBeenSet;
Aws::String m_jobId;
bool m_jobIdHasBeenSet;
Aws::String m_jobQueue;
bool m_jobQueueHasBeenSet;
JobStatus m_status;
bool m_statusHasBeenSet;
Aws::Vector<AttemptDetail> m_attempts;
bool m_attemptsHasBeenSet;
Aws::String m_statusReason;
bool m_statusReasonHasBeenSet;
long long m_createdAt;
bool m_createdAtHasBeenSet;
RetryStrategy m_retryStrategy;
bool m_retryStrategyHasBeenSet;
long long m_startedAt;
bool m_startedAtHasBeenSet;
long long m_stoppedAt;
bool m_stoppedAtHasBeenSet;
Aws::Vector<JobDependency> m_dependsOn;
bool m_dependsOnHasBeenSet;
Aws::String m_jobDefinition;
bool m_jobDefinitionHasBeenSet;
Aws::Map<Aws::String, Aws::String> m_parameters;
bool m_parametersHasBeenSet;
ContainerDetail m_container;
bool m_containerHasBeenSet;
NodeDetails m_nodeDetails;
bool m_nodeDetailsHasBeenSet;
NodeProperties m_nodeProperties;
bool m_nodePropertiesHasBeenSet;
ArrayPropertiesDetail m_arrayProperties;
bool m_arrayPropertiesHasBeenSet;
JobTimeout m_timeout;
bool m_timeoutHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,347 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/batch/model/JQState.h>
#include <aws/batch/model/JQStatus.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/batch/model/ComputeEnvironmentOrder.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>An object representing the details of an AWS Batch job queue.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobQueueDetail">AWS
* API Reference</a></p>
*/
class AWS_BATCH_API JobQueueDetail
{
public:
JobQueueDetail();
JobQueueDetail(Aws::Utils::Json::JsonView jsonValue);
JobQueueDetail& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The name of the job queue.</p>
*/
inline const Aws::String& GetJobQueueName() const{ return m_jobQueueName; }
/**
* <p>The name of the job queue.</p>
*/
inline bool JobQueueNameHasBeenSet() const { return m_jobQueueNameHasBeenSet; }
/**
* <p>The name of the job queue.</p>
*/
inline void SetJobQueueName(const Aws::String& value) { m_jobQueueNameHasBeenSet = true; m_jobQueueName = value; }
/**
* <p>The name of the job queue.</p>
*/
inline void SetJobQueueName(Aws::String&& value) { m_jobQueueNameHasBeenSet = true; m_jobQueueName = std::move(value); }
/**
* <p>The name of the job queue.</p>
*/
inline void SetJobQueueName(const char* value) { m_jobQueueNameHasBeenSet = true; m_jobQueueName.assign(value); }
/**
* <p>The name of the job queue.</p>
*/
inline JobQueueDetail& WithJobQueueName(const Aws::String& value) { SetJobQueueName(value); return *this;}
/**
* <p>The name of the job queue.</p>
*/
inline JobQueueDetail& WithJobQueueName(Aws::String&& value) { SetJobQueueName(std::move(value)); return *this;}
/**
* <p>The name of the job queue.</p>
*/
inline JobQueueDetail& WithJobQueueName(const char* value) { SetJobQueueName(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the job queue.</p>
*/
inline const Aws::String& GetJobQueueArn() const{ return m_jobQueueArn; }
/**
* <p>The Amazon Resource Name (ARN) of the job queue.</p>
*/
inline bool JobQueueArnHasBeenSet() const { return m_jobQueueArnHasBeenSet; }
/**
* <p>The Amazon Resource Name (ARN) of the job queue.</p>
*/
inline void SetJobQueueArn(const Aws::String& value) { m_jobQueueArnHasBeenSet = true; m_jobQueueArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the job queue.</p>
*/
inline void SetJobQueueArn(Aws::String&& value) { m_jobQueueArnHasBeenSet = true; m_jobQueueArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the job queue.</p>
*/
inline void SetJobQueueArn(const char* value) { m_jobQueueArnHasBeenSet = true; m_jobQueueArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the job queue.</p>
*/
inline JobQueueDetail& WithJobQueueArn(const Aws::String& value) { SetJobQueueArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the job queue.</p>
*/
inline JobQueueDetail& WithJobQueueArn(Aws::String&& value) { SetJobQueueArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the job queue.</p>
*/
inline JobQueueDetail& WithJobQueueArn(const char* value) { SetJobQueueArn(value); return *this;}
/**
* <p>Describes the ability of the queue to accept new jobs.</p>
*/
inline const JQState& GetState() const{ return m_state; }
/**
* <p>Describes the ability of the queue to accept new jobs.</p>
*/
inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
/**
* <p>Describes the ability of the queue to accept new jobs.</p>
*/
inline void SetState(const JQState& value) { m_stateHasBeenSet = true; m_state = value; }
/**
* <p>Describes the ability of the queue to accept new jobs.</p>
*/
inline void SetState(JQState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); }
/**
* <p>Describes the ability of the queue to accept new jobs.</p>
*/
inline JobQueueDetail& WithState(const JQState& value) { SetState(value); return *this;}
/**
* <p>Describes the ability of the queue to accept new jobs.</p>
*/
inline JobQueueDetail& WithState(JQState&& value) { SetState(std::move(value)); return *this;}
/**
* <p>The status of the job queue (for example, <code>CREATING</code> or
* <code>VALID</code>).</p>
*/
inline const JQStatus& GetStatus() const{ return m_status; }
/**
* <p>The status of the job queue (for example, <code>CREATING</code> or
* <code>VALID</code>).</p>
*/
inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
/**
* <p>The status of the job queue (for example, <code>CREATING</code> or
* <code>VALID</code>).</p>
*/
inline void SetStatus(const JQStatus& value) { m_statusHasBeenSet = true; m_status = value; }
/**
* <p>The status of the job queue (for example, <code>CREATING</code> or
* <code>VALID</code>).</p>
*/
inline void SetStatus(JQStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
/**
* <p>The status of the job queue (for example, <code>CREATING</code> or
* <code>VALID</code>).</p>
*/
inline JobQueueDetail& WithStatus(const JQStatus& value) { SetStatus(value); return *this;}
/**
* <p>The status of the job queue (for example, <code>CREATING</code> or
* <code>VALID</code>).</p>
*/
inline JobQueueDetail& WithStatus(JQStatus&& value) { SetStatus(std::move(value)); return *this;}
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job queue.</p>
*/
inline const Aws::String& GetStatusReason() const{ return m_statusReason; }
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job queue.</p>
*/
inline bool StatusReasonHasBeenSet() const { return m_statusReasonHasBeenSet; }
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job queue.</p>
*/
inline void SetStatusReason(const Aws::String& value) { m_statusReasonHasBeenSet = true; m_statusReason = value; }
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job queue.</p>
*/
inline void SetStatusReason(Aws::String&& value) { m_statusReasonHasBeenSet = true; m_statusReason = std::move(value); }
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job queue.</p>
*/
inline void SetStatusReason(const char* value) { m_statusReasonHasBeenSet = true; m_statusReason.assign(value); }
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job queue.</p>
*/
inline JobQueueDetail& WithStatusReason(const Aws::String& value) { SetStatusReason(value); return *this;}
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job queue.</p>
*/
inline JobQueueDetail& WithStatusReason(Aws::String&& value) { SetStatusReason(std::move(value)); return *this;}
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job queue.</p>
*/
inline JobQueueDetail& WithStatusReason(const char* value) { SetStatusReason(value); return *this;}
/**
* <p>The priority of the job queue.</p>
*/
inline int GetPriority() const{ return m_priority; }
/**
* <p>The priority of the job queue.</p>
*/
inline bool PriorityHasBeenSet() const { return m_priorityHasBeenSet; }
/**
* <p>The priority of the job queue.</p>
*/
inline void SetPriority(int value) { m_priorityHasBeenSet = true; m_priority = value; }
/**
* <p>The priority of the job queue.</p>
*/
inline JobQueueDetail& WithPriority(int value) { SetPriority(value); return *this;}
/**
* <p>The compute environments that are attached to the job queue and the order in
* which job placement is preferred. Compute environments are selected for job
* placement in ascending order.</p>
*/
inline const Aws::Vector<ComputeEnvironmentOrder>& GetComputeEnvironmentOrder() const{ return m_computeEnvironmentOrder; }
/**
* <p>The compute environments that are attached to the job queue and the order in
* which job placement is preferred. Compute environments are selected for job
* placement in ascending order.</p>
*/
inline bool ComputeEnvironmentOrderHasBeenSet() const { return m_computeEnvironmentOrderHasBeenSet; }
/**
* <p>The compute environments that are attached to the job queue and the order in
* which job placement is preferred. Compute environments are selected for job
* placement in ascending order.</p>
*/
inline void SetComputeEnvironmentOrder(const Aws::Vector<ComputeEnvironmentOrder>& value) { m_computeEnvironmentOrderHasBeenSet = true; m_computeEnvironmentOrder = value; }
/**
* <p>The compute environments that are attached to the job queue and the order in
* which job placement is preferred. Compute environments are selected for job
* placement in ascending order.</p>
*/
inline void SetComputeEnvironmentOrder(Aws::Vector<ComputeEnvironmentOrder>&& value) { m_computeEnvironmentOrderHasBeenSet = true; m_computeEnvironmentOrder = std::move(value); }
/**
* <p>The compute environments that are attached to the job queue and the order in
* which job placement is preferred. Compute environments are selected for job
* placement in ascending order.</p>
*/
inline JobQueueDetail& WithComputeEnvironmentOrder(const Aws::Vector<ComputeEnvironmentOrder>& value) { SetComputeEnvironmentOrder(value); return *this;}
/**
* <p>The compute environments that are attached to the job queue and the order in
* which job placement is preferred. Compute environments are selected for job
* placement in ascending order.</p>
*/
inline JobQueueDetail& WithComputeEnvironmentOrder(Aws::Vector<ComputeEnvironmentOrder>&& value) { SetComputeEnvironmentOrder(std::move(value)); return *this;}
/**
* <p>The compute environments that are attached to the job queue and the order in
* which job placement is preferred. Compute environments are selected for job
* placement in ascending order.</p>
*/
inline JobQueueDetail& AddComputeEnvironmentOrder(const ComputeEnvironmentOrder& value) { m_computeEnvironmentOrderHasBeenSet = true; m_computeEnvironmentOrder.push_back(value); return *this; }
/**
* <p>The compute environments that are attached to the job queue and the order in
* which job placement is preferred. Compute environments are selected for job
* placement in ascending order.</p>
*/
inline JobQueueDetail& AddComputeEnvironmentOrder(ComputeEnvironmentOrder&& value) { m_computeEnvironmentOrderHasBeenSet = true; m_computeEnvironmentOrder.push_back(std::move(value)); return *this; }
private:
Aws::String m_jobQueueName;
bool m_jobQueueNameHasBeenSet;
Aws::String m_jobQueueArn;
bool m_jobQueueArnHasBeenSet;
JQState m_state;
bool m_stateHasBeenSet;
JQStatus m_status;
bool m_statusHasBeenSet;
Aws::String m_statusReason;
bool m_statusReasonHasBeenSet;
int m_priority;
bool m_priorityHasBeenSet;
Aws::Vector<ComputeEnvironmentOrder> m_computeEnvironmentOrder;
bool m_computeEnvironmentOrderHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,36 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace Batch
{
namespace Model
{
enum class JobStatus
{
NOT_SET,
SUBMITTED,
PENDING,
RUNNABLE,
STARTING,
RUNNING,
SUCCEEDED,
FAILED
};
namespace JobStatusMapper
{
AWS_BATCH_API JobStatus GetJobStatusForName(const Aws::String& name);
AWS_BATCH_API Aws::String GetNameForJobStatus(JobStatus value);
} // namespace JobStatusMapper
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,430 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/batch/model/JobStatus.h>
#include <aws/batch/model/ContainerSummary.h>
#include <aws/batch/model/ArrayPropertiesSummary.h>
#include <aws/batch/model/NodePropertiesSummary.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>An object representing summary details of a job.</p><p><h3>See Also:</h3>
* <a href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobSummary">AWS
* API Reference</a></p>
*/
class AWS_BATCH_API JobSummary
{
public:
JobSummary();
JobSummary(Aws::Utils::Json::JsonView jsonValue);
JobSummary& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The ID of the job.</p>
*/
inline const Aws::String& GetJobId() const{ return m_jobId; }
/**
* <p>The ID of the job.</p>
*/
inline bool JobIdHasBeenSet() const { return m_jobIdHasBeenSet; }
/**
* <p>The ID of the job.</p>
*/
inline void SetJobId(const Aws::String& value) { m_jobIdHasBeenSet = true; m_jobId = value; }
/**
* <p>The ID of the job.</p>
*/
inline void SetJobId(Aws::String&& value) { m_jobIdHasBeenSet = true; m_jobId = std::move(value); }
/**
* <p>The ID of the job.</p>
*/
inline void SetJobId(const char* value) { m_jobIdHasBeenSet = true; m_jobId.assign(value); }
/**
* <p>The ID of the job.</p>
*/
inline JobSummary& WithJobId(const Aws::String& value) { SetJobId(value); return *this;}
/**
* <p>The ID of the job.</p>
*/
inline JobSummary& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;}
/**
* <p>The ID of the job.</p>
*/
inline JobSummary& WithJobId(const char* value) { SetJobId(value); return *this;}
/**
* <p>The name of the job.</p>
*/
inline const Aws::String& GetJobName() const{ return m_jobName; }
/**
* <p>The name of the job.</p>
*/
inline bool JobNameHasBeenSet() const { return m_jobNameHasBeenSet; }
/**
* <p>The name of the job.</p>
*/
inline void SetJobName(const Aws::String& value) { m_jobNameHasBeenSet = true; m_jobName = value; }
/**
* <p>The name of the job.</p>
*/
inline void SetJobName(Aws::String&& value) { m_jobNameHasBeenSet = true; m_jobName = std::move(value); }
/**
* <p>The name of the job.</p>
*/
inline void SetJobName(const char* value) { m_jobNameHasBeenSet = true; m_jobName.assign(value); }
/**
* <p>The name of the job.</p>
*/
inline JobSummary& WithJobName(const Aws::String& value) { SetJobName(value); return *this;}
/**
* <p>The name of the job.</p>
*/
inline JobSummary& WithJobName(Aws::String&& value) { SetJobName(std::move(value)); return *this;}
/**
* <p>The name of the job.</p>
*/
inline JobSummary& WithJobName(const char* value) { SetJobName(value); return *this;}
/**
* <p>The Unix timestamp for when the job was created. For non-array jobs and
* parent array jobs, this is when the job entered the <code>SUBMITTED</code> state
* (at the time <a>SubmitJob</a> was called). For array child jobs, this is when
* the child job was spawned by its parent and entered the <code>PENDING</code>
* state.</p>
*/
inline long long GetCreatedAt() const{ return m_createdAt; }
/**
* <p>The Unix timestamp for when the job was created. For non-array jobs and
* parent array jobs, this is when the job entered the <code>SUBMITTED</code> state
* (at the time <a>SubmitJob</a> was called). For array child jobs, this is when
* the child job was spawned by its parent and entered the <code>PENDING</code>
* state.</p>
*/
inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; }
/**
* <p>The Unix timestamp for when the job was created. For non-array jobs and
* parent array jobs, this is when the job entered the <code>SUBMITTED</code> state
* (at the time <a>SubmitJob</a> was called). For array child jobs, this is when
* the child job was spawned by its parent and entered the <code>PENDING</code>
* state.</p>
*/
inline void SetCreatedAt(long long value) { m_createdAtHasBeenSet = true; m_createdAt = value; }
/**
* <p>The Unix timestamp for when the job was created. For non-array jobs and
* parent array jobs, this is when the job entered the <code>SUBMITTED</code> state
* (at the time <a>SubmitJob</a> was called). For array child jobs, this is when
* the child job was spawned by its parent and entered the <code>PENDING</code>
* state.</p>
*/
inline JobSummary& WithCreatedAt(long long value) { SetCreatedAt(value); return *this;}
/**
* <p>The current status for the job.</p>
*/
inline const JobStatus& GetStatus() const{ return m_status; }
/**
* <p>The current status for the job.</p>
*/
inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
/**
* <p>The current status for the job.</p>
*/
inline void SetStatus(const JobStatus& value) { m_statusHasBeenSet = true; m_status = value; }
/**
* <p>The current status for the job.</p>
*/
inline void SetStatus(JobStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
/**
* <p>The current status for the job.</p>
*/
inline JobSummary& WithStatus(const JobStatus& value) { SetStatus(value); return *this;}
/**
* <p>The current status for the job.</p>
*/
inline JobSummary& WithStatus(JobStatus&& value) { SetStatus(std::move(value)); return *this;}
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job.</p>
*/
inline const Aws::String& GetStatusReason() const{ return m_statusReason; }
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job.</p>
*/
inline bool StatusReasonHasBeenSet() const { return m_statusReasonHasBeenSet; }
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job.</p>
*/
inline void SetStatusReason(const Aws::String& value) { m_statusReasonHasBeenSet = true; m_statusReason = value; }
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job.</p>
*/
inline void SetStatusReason(Aws::String&& value) { m_statusReasonHasBeenSet = true; m_statusReason = std::move(value); }
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job.</p>
*/
inline void SetStatusReason(const char* value) { m_statusReasonHasBeenSet = true; m_statusReason.assign(value); }
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job.</p>
*/
inline JobSummary& WithStatusReason(const Aws::String& value) { SetStatusReason(value); return *this;}
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job.</p>
*/
inline JobSummary& WithStatusReason(Aws::String&& value) { SetStatusReason(std::move(value)); return *this;}
/**
* <p>A short, human-readable string to provide additional details about the
* current status of the job.</p>
*/
inline JobSummary& WithStatusReason(const char* value) { SetStatusReason(value); return *this;}
/**
* <p>The Unix timestamp for when the job was started (when the job transitioned
* from the <code>STARTING</code> state to the <code>RUNNING</code> state).</p>
*/
inline long long GetStartedAt() const{ return m_startedAt; }
/**
* <p>The Unix timestamp for when the job was started (when the job transitioned
* from the <code>STARTING</code> state to the <code>RUNNING</code> state).</p>
*/
inline bool StartedAtHasBeenSet() const { return m_startedAtHasBeenSet; }
/**
* <p>The Unix timestamp for when the job was started (when the job transitioned
* from the <code>STARTING</code> state to the <code>RUNNING</code> state).</p>
*/
inline void SetStartedAt(long long value) { m_startedAtHasBeenSet = true; m_startedAt = value; }
/**
* <p>The Unix timestamp for when the job was started (when the job transitioned
* from the <code>STARTING</code> state to the <code>RUNNING</code> state).</p>
*/
inline JobSummary& WithStartedAt(long long value) { SetStartedAt(value); return *this;}
/**
* <p>The Unix timestamp for when the job was stopped (when the job transitioned
* from the <code>RUNNING</code> state to a terminal state, such as
* <code>SUCCEEDED</code> or <code>FAILED</code>).</p>
*/
inline long long GetStoppedAt() const{ return m_stoppedAt; }
/**
* <p>The Unix timestamp for when the job was stopped (when the job transitioned
* from the <code>RUNNING</code> state to a terminal state, such as
* <code>SUCCEEDED</code> or <code>FAILED</code>).</p>
*/
inline bool StoppedAtHasBeenSet() const { return m_stoppedAtHasBeenSet; }
/**
* <p>The Unix timestamp for when the job was stopped (when the job transitioned
* from the <code>RUNNING</code> state to a terminal state, such as
* <code>SUCCEEDED</code> or <code>FAILED</code>).</p>
*/
inline void SetStoppedAt(long long value) { m_stoppedAtHasBeenSet = true; m_stoppedAt = value; }
/**
* <p>The Unix timestamp for when the job was stopped (when the job transitioned
* from the <code>RUNNING</code> state to a terminal state, such as
* <code>SUCCEEDED</code> or <code>FAILED</code>).</p>
*/
inline JobSummary& WithStoppedAt(long long value) { SetStoppedAt(value); return *this;}
/**
* <p>An object representing the details of the container that is associated with
* the job.</p>
*/
inline const ContainerSummary& GetContainer() const{ return m_container; }
/**
* <p>An object representing the details of the container that is associated with
* the job.</p>
*/
inline bool ContainerHasBeenSet() const { return m_containerHasBeenSet; }
/**
* <p>An object representing the details of the container that is associated with
* the job.</p>
*/
inline void SetContainer(const ContainerSummary& value) { m_containerHasBeenSet = true; m_container = value; }
/**
* <p>An object representing the details of the container that is associated with
* the job.</p>
*/
inline void SetContainer(ContainerSummary&& value) { m_containerHasBeenSet = true; m_container = std::move(value); }
/**
* <p>An object representing the details of the container that is associated with
* the job.</p>
*/
inline JobSummary& WithContainer(const ContainerSummary& value) { SetContainer(value); return *this;}
/**
* <p>An object representing the details of the container that is associated with
* the job.</p>
*/
inline JobSummary& WithContainer(ContainerSummary&& value) { SetContainer(std::move(value)); return *this;}
/**
* <p>The array properties of the job, if it is an array job.</p>
*/
inline const ArrayPropertiesSummary& GetArrayProperties() const{ return m_arrayProperties; }
/**
* <p>The array properties of the job, if it is an array job.</p>
*/
inline bool ArrayPropertiesHasBeenSet() const { return m_arrayPropertiesHasBeenSet; }
/**
* <p>The array properties of the job, if it is an array job.</p>
*/
inline void SetArrayProperties(const ArrayPropertiesSummary& value) { m_arrayPropertiesHasBeenSet = true; m_arrayProperties = value; }
/**
* <p>The array properties of the job, if it is an array job.</p>
*/
inline void SetArrayProperties(ArrayPropertiesSummary&& value) { m_arrayPropertiesHasBeenSet = true; m_arrayProperties = std::move(value); }
/**
* <p>The array properties of the job, if it is an array job.</p>
*/
inline JobSummary& WithArrayProperties(const ArrayPropertiesSummary& value) { SetArrayProperties(value); return *this;}
/**
* <p>The array properties of the job, if it is an array job.</p>
*/
inline JobSummary& WithArrayProperties(ArrayPropertiesSummary&& value) { SetArrayProperties(std::move(value)); return *this;}
/**
* <p>The node properties for a single node in a job summary list.</p>
*/
inline const NodePropertiesSummary& GetNodeProperties() const{ return m_nodeProperties; }
/**
* <p>The node properties for a single node in a job summary list.</p>
*/
inline bool NodePropertiesHasBeenSet() const { return m_nodePropertiesHasBeenSet; }
/**
* <p>The node properties for a single node in a job summary list.</p>
*/
inline void SetNodeProperties(const NodePropertiesSummary& value) { m_nodePropertiesHasBeenSet = true; m_nodeProperties = value; }
/**
* <p>The node properties for a single node in a job summary list.</p>
*/
inline void SetNodeProperties(NodePropertiesSummary&& value) { m_nodePropertiesHasBeenSet = true; m_nodeProperties = std::move(value); }
/**
* <p>The node properties for a single node in a job summary list.</p>
*/
inline JobSummary& WithNodeProperties(const NodePropertiesSummary& value) { SetNodeProperties(value); return *this;}
/**
* <p>The node properties for a single node in a job summary list.</p>
*/
inline JobSummary& WithNodeProperties(NodePropertiesSummary&& value) { SetNodeProperties(std::move(value)); return *this;}
private:
Aws::String m_jobId;
bool m_jobIdHasBeenSet;
Aws::String m_jobName;
bool m_jobNameHasBeenSet;
long long m_createdAt;
bool m_createdAtHasBeenSet;
JobStatus m_status;
bool m_statusHasBeenSet;
Aws::String m_statusReason;
bool m_statusReasonHasBeenSet;
long long m_startedAt;
bool m_startedAtHasBeenSet;
long long m_stoppedAt;
bool m_stoppedAtHasBeenSet;
ContainerSummary m_container;
bool m_containerHasBeenSet;
ArrayPropertiesSummary m_arrayProperties;
bool m_arrayPropertiesHasBeenSet;
NodePropertiesSummary m_nodeProperties;
bool m_nodePropertiesHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,74 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>An object representing a job timeout configuration.</p><p><h3>See Also:</h3>
* <a href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobTimeout">AWS
* API Reference</a></p>
*/
class AWS_BATCH_API JobTimeout
{
public:
JobTimeout();
JobTimeout(Aws::Utils::Json::JsonView jsonValue);
JobTimeout& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The time duration in seconds (measured from the job attempt's
* <code>startedAt</code> timestamp) after which AWS Batch terminates your jobs if
* they have not finished.</p>
*/
inline int GetAttemptDurationSeconds() const{ return m_attemptDurationSeconds; }
/**
* <p>The time duration in seconds (measured from the job attempt's
* <code>startedAt</code> timestamp) after which AWS Batch terminates your jobs if
* they have not finished.</p>
*/
inline bool AttemptDurationSecondsHasBeenSet() const { return m_attemptDurationSecondsHasBeenSet; }
/**
* <p>The time duration in seconds (measured from the job attempt's
* <code>startedAt</code> timestamp) after which AWS Batch terminates your jobs if
* they have not finished.</p>
*/
inline void SetAttemptDurationSeconds(int value) { m_attemptDurationSecondsHasBeenSet = true; m_attemptDurationSeconds = value; }
/**
* <p>The time duration in seconds (measured from the job attempt's
* <code>startedAt</code> timestamp) after which AWS Batch terminates your jobs if
* they have not finished.</p>
*/
inline JobTimeout& WithAttemptDurationSeconds(int value) { SetAttemptDurationSeconds(value); return *this;}
private:
int m_attemptDurationSeconds;
bool m_attemptDurationSecondsHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,148 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>A key-value pair object.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/KeyValuePair">AWS
* API Reference</a></p>
*/
class AWS_BATCH_API KeyValuePair
{
public:
KeyValuePair();
KeyValuePair(Aws::Utils::Json::JsonView jsonValue);
KeyValuePair& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The name of the key-value pair. For environment variables, this is the name
* of the environment variable.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
/**
* <p>The name of the key-value pair. For environment variables, this is the name
* of the environment variable.</p>
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* <p>The name of the key-value pair. For environment variables, this is the name
* of the environment variable.</p>
*/
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* <p>The name of the key-value pair. For environment variables, this is the name
* of the environment variable.</p>
*/
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* <p>The name of the key-value pair. For environment variables, this is the name
* of the environment variable.</p>
*/
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
/**
* <p>The name of the key-value pair. For environment variables, this is the name
* of the environment variable.</p>
*/
inline KeyValuePair& WithName(const Aws::String& value) { SetName(value); return *this;}
/**
* <p>The name of the key-value pair. For environment variables, this is the name
* of the environment variable.</p>
*/
inline KeyValuePair& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
/**
* <p>The name of the key-value pair. For environment variables, this is the name
* of the environment variable.</p>
*/
inline KeyValuePair& WithName(const char* value) { SetName(value); return *this;}
/**
* <p>The value of the key-value pair. For environment variables, this is the value
* of the environment variable.</p>
*/
inline const Aws::String& GetValue() const{ return m_value; }
/**
* <p>The value of the key-value pair. For environment variables, this is the value
* of the environment variable.</p>
*/
inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; }
/**
* <p>The value of the key-value pair. For environment variables, this is the value
* of the environment variable.</p>
*/
inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; }
/**
* <p>The value of the key-value pair. For environment variables, this is the value
* of the environment variable.</p>
*/
inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); }
/**
* <p>The value of the key-value pair. For environment variables, this is the value
* of the environment variable.</p>
*/
inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); }
/**
* <p>The value of the key-value pair. For environment variables, this is the value
* of the environment variable.</p>
*/
inline KeyValuePair& WithValue(const Aws::String& value) { SetValue(value); return *this;}
/**
* <p>The value of the key-value pair. For environment variables, this is the value
* of the environment variable.</p>
*/
inline KeyValuePair& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;}
/**
* <p>The value of the key-value pair. For environment variables, this is the value
* of the environment variable.</p>
*/
inline KeyValuePair& WithValue(const char* value) { SetValue(value); return *this;}
private:
Aws::String m_name;
bool m_nameHasBeenSet;
Aws::String m_value;
bool m_valueHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,186 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>An object representing a launch template associated with a compute resource.
* You must specify either the launch template ID or launch template name in the
* request, but not both.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/LaunchTemplateSpecification">AWS
* API Reference</a></p>
*/
class AWS_BATCH_API LaunchTemplateSpecification
{
public:
LaunchTemplateSpecification();
LaunchTemplateSpecification(Aws::Utils::Json::JsonView jsonValue);
LaunchTemplateSpecification& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The ID of the launch template.</p>
*/
inline const Aws::String& GetLaunchTemplateId() const{ return m_launchTemplateId; }
/**
* <p>The ID of the launch template.</p>
*/
inline bool LaunchTemplateIdHasBeenSet() const { return m_launchTemplateIdHasBeenSet; }
/**
* <p>The ID of the launch template.</p>
*/
inline void SetLaunchTemplateId(const Aws::String& value) { m_launchTemplateIdHasBeenSet = true; m_launchTemplateId = value; }
/**
* <p>The ID of the launch template.</p>
*/
inline void SetLaunchTemplateId(Aws::String&& value) { m_launchTemplateIdHasBeenSet = true; m_launchTemplateId = std::move(value); }
/**
* <p>The ID of the launch template.</p>
*/
inline void SetLaunchTemplateId(const char* value) { m_launchTemplateIdHasBeenSet = true; m_launchTemplateId.assign(value); }
/**
* <p>The ID of the launch template.</p>
*/
inline LaunchTemplateSpecification& WithLaunchTemplateId(const Aws::String& value) { SetLaunchTemplateId(value); return *this;}
/**
* <p>The ID of the launch template.</p>
*/
inline LaunchTemplateSpecification& WithLaunchTemplateId(Aws::String&& value) { SetLaunchTemplateId(std::move(value)); return *this;}
/**
* <p>The ID of the launch template.</p>
*/
inline LaunchTemplateSpecification& WithLaunchTemplateId(const char* value) { SetLaunchTemplateId(value); return *this;}
/**
* <p>The name of the launch template.</p>
*/
inline const Aws::String& GetLaunchTemplateName() const{ return m_launchTemplateName; }
/**
* <p>The name of the launch template.</p>
*/
inline bool LaunchTemplateNameHasBeenSet() const { return m_launchTemplateNameHasBeenSet; }
/**
* <p>The name of the launch template.</p>
*/
inline void SetLaunchTemplateName(const Aws::String& value) { m_launchTemplateNameHasBeenSet = true; m_launchTemplateName = value; }
/**
* <p>The name of the launch template.</p>
*/
inline void SetLaunchTemplateName(Aws::String&& value) { m_launchTemplateNameHasBeenSet = true; m_launchTemplateName = std::move(value); }
/**
* <p>The name of the launch template.</p>
*/
inline void SetLaunchTemplateName(const char* value) { m_launchTemplateNameHasBeenSet = true; m_launchTemplateName.assign(value); }
/**
* <p>The name of the launch template.</p>
*/
inline LaunchTemplateSpecification& WithLaunchTemplateName(const Aws::String& value) { SetLaunchTemplateName(value); return *this;}
/**
* <p>The name of the launch template.</p>
*/
inline LaunchTemplateSpecification& WithLaunchTemplateName(Aws::String&& value) { SetLaunchTemplateName(std::move(value)); return *this;}
/**
* <p>The name of the launch template.</p>
*/
inline LaunchTemplateSpecification& WithLaunchTemplateName(const char* value) { SetLaunchTemplateName(value); return *this;}
/**
* <p>The version number of the launch template.</p> <p>Default: The default
* version of the launch template.</p>
*/
inline const Aws::String& GetVersion() const{ return m_version; }
/**
* <p>The version number of the launch template.</p> <p>Default: The default
* version of the launch template.</p>
*/
inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; }
/**
* <p>The version number of the launch template.</p> <p>Default: The default
* version of the launch template.</p>
*/
inline void SetVersion(const Aws::String& value) { m_versionHasBeenSet = true; m_version = value; }
/**
* <p>The version number of the launch template.</p> <p>Default: The default
* version of the launch template.</p>
*/
inline void SetVersion(Aws::String&& value) { m_versionHasBeenSet = true; m_version = std::move(value); }
/**
* <p>The version number of the launch template.</p> <p>Default: The default
* version of the launch template.</p>
*/
inline void SetVersion(const char* value) { m_versionHasBeenSet = true; m_version.assign(value); }
/**
* <p>The version number of the launch template.</p> <p>Default: The default
* version of the launch template.</p>
*/
inline LaunchTemplateSpecification& WithVersion(const Aws::String& value) { SetVersion(value); return *this;}
/**
* <p>The version number of the launch template.</p> <p>Default: The default
* version of the launch template.</p>
*/
inline LaunchTemplateSpecification& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;}
/**
* <p>The version number of the launch template.</p> <p>Default: The default
* version of the launch template.</p>
*/
inline LaunchTemplateSpecification& WithVersion(const char* value) { SetVersion(value); return *this;}
private:
Aws::String m_launchTemplateId;
bool m_launchTemplateIdHasBeenSet;
Aws::String m_launchTemplateName;
bool m_launchTemplateNameHasBeenSet;
Aws::String m_version;
bool m_versionHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,138 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/batch/model/Device.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>Linux-specific modifications that are applied to the container, such as
* details for device mappings.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/LinuxParameters">AWS
* API Reference</a></p>
*/
class AWS_BATCH_API LinuxParameters
{
public:
LinuxParameters();
LinuxParameters(Aws::Utils::Json::JsonView jsonValue);
LinuxParameters& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>Any host devices to expose to the container. This parameter maps to
* <code>Devices</code> in the <a
* href="https://docs.docker.com/engine/api/v1.23/#create-a-container">Create a
* container</a> section of the <a
* href="https://docs.docker.com/engine/api/v1.23/">Docker Remote API</a> and the
* <code>--device</code> option to <a
* href="https://docs.docker.com/engine/reference/run/">docker run</a>.</p>
*/
inline const Aws::Vector<Device>& GetDevices() const{ return m_devices; }
/**
* <p>Any host devices to expose to the container. This parameter maps to
* <code>Devices</code> in the <a
* href="https://docs.docker.com/engine/api/v1.23/#create-a-container">Create a
* container</a> section of the <a
* href="https://docs.docker.com/engine/api/v1.23/">Docker Remote API</a> and the
* <code>--device</code> option to <a
* href="https://docs.docker.com/engine/reference/run/">docker run</a>.</p>
*/
inline bool DevicesHasBeenSet() const { return m_devicesHasBeenSet; }
/**
* <p>Any host devices to expose to the container. This parameter maps to
* <code>Devices</code> in the <a
* href="https://docs.docker.com/engine/api/v1.23/#create-a-container">Create a
* container</a> section of the <a
* href="https://docs.docker.com/engine/api/v1.23/">Docker Remote API</a> and the
* <code>--device</code> option to <a
* href="https://docs.docker.com/engine/reference/run/">docker run</a>.</p>
*/
inline void SetDevices(const Aws::Vector<Device>& value) { m_devicesHasBeenSet = true; m_devices = value; }
/**
* <p>Any host devices to expose to the container. This parameter maps to
* <code>Devices</code> in the <a
* href="https://docs.docker.com/engine/api/v1.23/#create-a-container">Create a
* container</a> section of the <a
* href="https://docs.docker.com/engine/api/v1.23/">Docker Remote API</a> and the
* <code>--device</code> option to <a
* href="https://docs.docker.com/engine/reference/run/">docker run</a>.</p>
*/
inline void SetDevices(Aws::Vector<Device>&& value) { m_devicesHasBeenSet = true; m_devices = std::move(value); }
/**
* <p>Any host devices to expose to the container. This parameter maps to
* <code>Devices</code> in the <a
* href="https://docs.docker.com/engine/api/v1.23/#create-a-container">Create a
* container</a> section of the <a
* href="https://docs.docker.com/engine/api/v1.23/">Docker Remote API</a> and the
* <code>--device</code> option to <a
* href="https://docs.docker.com/engine/reference/run/">docker run</a>.</p>
*/
inline LinuxParameters& WithDevices(const Aws::Vector<Device>& value) { SetDevices(value); return *this;}
/**
* <p>Any host devices to expose to the container. This parameter maps to
* <code>Devices</code> in the <a
* href="https://docs.docker.com/engine/api/v1.23/#create-a-container">Create a
* container</a> section of the <a
* href="https://docs.docker.com/engine/api/v1.23/">Docker Remote API</a> and the
* <code>--device</code> option to <a
* href="https://docs.docker.com/engine/reference/run/">docker run</a>.</p>
*/
inline LinuxParameters& WithDevices(Aws::Vector<Device>&& value) { SetDevices(std::move(value)); return *this;}
/**
* <p>Any host devices to expose to the container. This parameter maps to
* <code>Devices</code> in the <a
* href="https://docs.docker.com/engine/api/v1.23/#create-a-container">Create a
* container</a> section of the <a
* href="https://docs.docker.com/engine/api/v1.23/">Docker Remote API</a> and the
* <code>--device</code> option to <a
* href="https://docs.docker.com/engine/reference/run/">docker run</a>.</p>
*/
inline LinuxParameters& AddDevices(const Device& value) { m_devicesHasBeenSet = true; m_devices.push_back(value); return *this; }
/**
* <p>Any host devices to expose to the container. This parameter maps to
* <code>Devices</code> in the <a
* href="https://docs.docker.com/engine/api/v1.23/#create-a-container">Create a
* container</a> section of the <a
* href="https://docs.docker.com/engine/api/v1.23/">Docker Remote API</a> and the
* <code>--device</code> option to <a
* href="https://docs.docker.com/engine/reference/run/">docker run</a>.</p>
*/
inline LinuxParameters& AddDevices(Device&& value) { m_devicesHasBeenSet = true; m_devices.push_back(std::move(value)); return *this; }
private:
Aws::Vector<Device> m_devices;
bool m_devicesHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,396 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/batch/BatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/batch/model/JobStatus.h>
#include <utility>
namespace Aws
{
namespace Batch
{
namespace Model
{
/**
*/
class AWS_BATCH_API ListJobsRequest : public BatchRequest
{
public:
ListJobsRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "ListJobs"; }
Aws::String SerializePayload() const override;
/**
* <p>The name or full Amazon Resource Name (ARN) of the job queue with which to
* list jobs.</p>
*/
inline const Aws::String& GetJobQueue() const{ return m_jobQueue; }
/**
* <p>The name or full Amazon Resource Name (ARN) of the job queue with which to
* list jobs.</p>
*/
inline bool JobQueueHasBeenSet() const { return m_jobQueueHasBeenSet; }
/**
* <p>The name or full Amazon Resource Name (ARN) of the job queue with which to
* list jobs.</p>
*/
inline void SetJobQueue(const Aws::String& value) { m_jobQueueHasBeenSet = true; m_jobQueue = value; }
/**
* <p>The name or full Amazon Resource Name (ARN) of the job queue with which to
* list jobs.</p>
*/
inline void SetJobQueue(Aws::String&& value) { m_jobQueueHasBeenSet = true; m_jobQueue = std::move(value); }
/**
* <p>The name or full Amazon Resource Name (ARN) of the job queue with which to
* list jobs.</p>
*/
inline void SetJobQueue(const char* value) { m_jobQueueHasBeenSet = true; m_jobQueue.assign(value); }
/**
* <p>The name or full Amazon Resource Name (ARN) of the job queue with which to
* list jobs.</p>
*/
inline ListJobsRequest& WithJobQueue(const Aws::String& value) { SetJobQueue(value); return *this;}
/**
* <p>The name or full Amazon Resource Name (ARN) of the job queue with which to
* list jobs.</p>
*/
inline ListJobsRequest& WithJobQueue(Aws::String&& value) { SetJobQueue(std::move(value)); return *this;}
/**
* <p>The name or full Amazon Resource Name (ARN) of the job queue with which to
* list jobs.</p>
*/
inline ListJobsRequest& WithJobQueue(const char* value) { SetJobQueue(value); return *this;}
/**
* <p>The job ID for an array job. Specifying an array job ID with this parameter
* lists all child jobs from within the specified array.</p>
*/
inline const Aws::String& GetArrayJobId() const{ return m_arrayJobId; }
/**
* <p>The job ID for an array job. Specifying an array job ID with this parameter
* lists all child jobs from within the specified array.</p>
*/
inline bool ArrayJobIdHasBeenSet() const { return m_arrayJobIdHasBeenSet; }
/**
* <p>The job ID for an array job. Specifying an array job ID with this parameter
* lists all child jobs from within the specified array.</p>
*/
inline void SetArrayJobId(const Aws::String& value) { m_arrayJobIdHasBeenSet = true; m_arrayJobId = value; }
/**
* <p>The job ID for an array job. Specifying an array job ID with this parameter
* lists all child jobs from within the specified array.</p>
*/
inline void SetArrayJobId(Aws::String&& value) { m_arrayJobIdHasBeenSet = true; m_arrayJobId = std::move(value); }
/**
* <p>The job ID for an array job. Specifying an array job ID with this parameter
* lists all child jobs from within the specified array.</p>
*/
inline void SetArrayJobId(const char* value) { m_arrayJobIdHasBeenSet = true; m_arrayJobId.assign(value); }
/**
* <p>The job ID for an array job. Specifying an array job ID with this parameter
* lists all child jobs from within the specified array.</p>
*/
inline ListJobsRequest& WithArrayJobId(const Aws::String& value) { SetArrayJobId(value); return *this;}
/**
* <p>The job ID for an array job. Specifying an array job ID with this parameter
* lists all child jobs from within the specified array.</p>
*/
inline ListJobsRequest& WithArrayJobId(Aws::String&& value) { SetArrayJobId(std::move(value)); return *this;}
/**
* <p>The job ID for an array job. Specifying an array job ID with this parameter
* lists all child jobs from within the specified array.</p>
*/
inline ListJobsRequest& WithArrayJobId(const char* value) { SetArrayJobId(value); return *this;}
/**
* <p>The job ID for a multi-node parallel job. Specifying a multi-node parallel
* job ID with this parameter lists all nodes that are associated with the
* specified job.</p>
*/
inline const Aws::String& GetMultiNodeJobId() const{ return m_multiNodeJobId; }
/**
* <p>The job ID for a multi-node parallel job. Specifying a multi-node parallel
* job ID with this parameter lists all nodes that are associated with the
* specified job.</p>
*/
inline bool MultiNodeJobIdHasBeenSet() const { return m_multiNodeJobIdHasBeenSet; }
/**
* <p>The job ID for a multi-node parallel job. Specifying a multi-node parallel
* job ID with this parameter lists all nodes that are associated with the
* specified job.</p>
*/
inline void SetMultiNodeJobId(const Aws::String& value) { m_multiNodeJobIdHasBeenSet = true; m_multiNodeJobId = value; }
/**
* <p>The job ID for a multi-node parallel job. Specifying a multi-node parallel
* job ID with this parameter lists all nodes that are associated with the
* specified job.</p>
*/
inline void SetMultiNodeJobId(Aws::String&& value) { m_multiNodeJobIdHasBeenSet = true; m_multiNodeJobId = std::move(value); }
/**
* <p>The job ID for a multi-node parallel job. Specifying a multi-node parallel
* job ID with this parameter lists all nodes that are associated with the
* specified job.</p>
*/
inline void SetMultiNodeJobId(const char* value) { m_multiNodeJobIdHasBeenSet = true; m_multiNodeJobId.assign(value); }
/**
* <p>The job ID for a multi-node parallel job. Specifying a multi-node parallel
* job ID with this parameter lists all nodes that are associated with the
* specified job.</p>
*/
inline ListJobsRequest& WithMultiNodeJobId(const Aws::String& value) { SetMultiNodeJobId(value); return *this;}
/**
* <p>The job ID for a multi-node parallel job. Specifying a multi-node parallel
* job ID with this parameter lists all nodes that are associated with the
* specified job.</p>
*/
inline ListJobsRequest& WithMultiNodeJobId(Aws::String&& value) { SetMultiNodeJobId(std::move(value)); return *this;}
/**
* <p>The job ID for a multi-node parallel job. Specifying a multi-node parallel
* job ID with this parameter lists all nodes that are associated with the
* specified job.</p>
*/
inline ListJobsRequest& WithMultiNodeJobId(const char* value) { SetMultiNodeJobId(value); return *this;}
/**
* <p>The job status with which to filter jobs in the specified queue. If you do
* not specify a status, only <code>RUNNING</code> jobs are returned.</p>
*/
inline const JobStatus& GetJobStatus() const{ return m_jobStatus; }
/**
* <p>The job status with which to filter jobs in the specified queue. If you do
* not specify a status, only <code>RUNNING</code> jobs are returned.</p>
*/
inline bool JobStatusHasBeenSet() const { return m_jobStatusHasBeenSet; }
/**
* <p>The job status with which to filter jobs in the specified queue. If you do
* not specify a status, only <code>RUNNING</code> jobs are returned.</p>
*/
inline void SetJobStatus(const JobStatus& value) { m_jobStatusHasBeenSet = true; m_jobStatus = value; }
/**
* <p>The job status with which to filter jobs in the specified queue. If you do
* not specify a status, only <code>RUNNING</code> jobs are returned.</p>
*/
inline void SetJobStatus(JobStatus&& value) { m_jobStatusHasBeenSet = true; m_jobStatus = std::move(value); }
/**
* <p>The job status with which to filter jobs in the specified queue. If you do
* not specify a status, only <code>RUNNING</code> jobs are returned.</p>
*/
inline ListJobsRequest& WithJobStatus(const JobStatus& value) { SetJobStatus(value); return *this;}
/**
* <p>The job status with which to filter jobs in the specified queue. If you do
* not specify a status, only <code>RUNNING</code> jobs are returned.</p>
*/
inline ListJobsRequest& WithJobStatus(JobStatus&& value) { SetJobStatus(std::move(value)); return *this;}
/**
* <p>The maximum number of results returned by <code>ListJobs</code> in paginated
* output. When this parameter is used, <code>ListJobs</code> only returns
* <code>maxResults</code> results in a single page along with a
* <code>nextToken</code> response element. The remaining results of the initial
* request can be seen by sending another <code>ListJobs</code> request with the
* returned <code>nextToken</code> value. This value can be between 1 and 100. If
* this parameter is not used, then <code>ListJobs</code> returns up to 100 results
* and a <code>nextToken</code> value if applicable.</p>
*/
inline int GetMaxResults() const{ return m_maxResults; }
/**
* <p>The maximum number of results returned by <code>ListJobs</code> in paginated
* output. When this parameter is used, <code>ListJobs</code> only returns
* <code>maxResults</code> results in a single page along with a
* <code>nextToken</code> response element. The remaining results of the initial
* request can be seen by sending another <code>ListJobs</code> request with the
* returned <code>nextToken</code> value. This value can be between 1 and 100. If
* this parameter is not used, then <code>ListJobs</code> returns up to 100 results
* and a <code>nextToken</code> value if applicable.</p>
*/
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
/**
* <p>The maximum number of results returned by <code>ListJobs</code> in paginated
* output. When this parameter is used, <code>ListJobs</code> only returns
* <code>maxResults</code> results in a single page along with a
* <code>nextToken</code> response element. The remaining results of the initial
* request can be seen by sending another <code>ListJobs</code> request with the
* returned <code>nextToken</code> value. This value can be between 1 and 100. If
* this parameter is not used, then <code>ListJobs</code> returns up to 100 results
* and a <code>nextToken</code> value if applicable.</p>
*/
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
/**
* <p>The maximum number of results returned by <code>ListJobs</code> in paginated
* output. When this parameter is used, <code>ListJobs</code> only returns
* <code>maxResults</code> results in a single page along with a
* <code>nextToken</code> response element. The remaining results of the initial
* request can be seen by sending another <code>ListJobs</code> request with the
* returned <code>nextToken</code> value. This value can be between 1 and 100. If
* this parameter is not used, then <code>ListJobs</code> returns up to 100 results
* and a <code>nextToken</code> value if applicable.</p>
*/
inline ListJobsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>ListJobs</code> request where <code>maxResults</code> was used and the
* results exceeded the value of that parameter. Pagination continues from the end
* of the previous results that returned the <code>nextToken</code> value. This
* value is <code>null</code> when there are no more results to return.</p>
* <p>This token should be treated as an opaque identifier that is only used to
* retrieve the next items in a list and not for other programmatic purposes.</p>
*
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>ListJobs</code> request where <code>maxResults</code> was used and the
* results exceeded the value of that parameter. Pagination continues from the end
* of the previous results that returned the <code>nextToken</code> value. This
* value is <code>null</code> when there are no more results to return.</p>
* <p>This token should be treated as an opaque identifier that is only used to
* retrieve the next items in a list and not for other programmatic purposes.</p>
*
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>ListJobs</code> request where <code>maxResults</code> was used and the
* results exceeded the value of that parameter. Pagination continues from the end
* of the previous results that returned the <code>nextToken</code> value. This
* value is <code>null</code> when there are no more results to return.</p>
* <p>This token should be treated as an opaque identifier that is only used to
* retrieve the next items in a list and not for other programmatic purposes.</p>
*
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>ListJobs</code> request where <code>maxResults</code> was used and the
* results exceeded the value of that parameter. Pagination continues from the end
* of the previous results that returned the <code>nextToken</code> value. This
* value is <code>null</code> when there are no more results to return.</p>
* <p>This token should be treated as an opaque identifier that is only used to
* retrieve the next items in a list and not for other programmatic purposes.</p>
*
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>ListJobs</code> request where <code>maxResults</code> was used and the
* results exceeded the value of that parameter. Pagination continues from the end
* of the previous results that returned the <code>nextToken</code> value. This
* value is <code>null</code> when there are no more results to return.</p>
* <p>This token should be treated as an opaque identifier that is only used to
* retrieve the next items in a list and not for other programmatic purposes.</p>
*
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>ListJobs</code> request where <code>maxResults</code> was used and the
* results exceeded the value of that parameter. Pagination continues from the end
* of the previous results that returned the <code>nextToken</code> value. This
* value is <code>null</code> when there are no more results to return.</p>
* <p>This token should be treated as an opaque identifier that is only used to
* retrieve the next items in a list and not for other programmatic purposes.</p>
*
*/
inline ListJobsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>ListJobs</code> request where <code>maxResults</code> was used and the
* results exceeded the value of that parameter. Pagination continues from the end
* of the previous results that returned the <code>nextToken</code> value. This
* value is <code>null</code> when there are no more results to return.</p>
* <p>This token should be treated as an opaque identifier that is only used to
* retrieve the next items in a list and not for other programmatic purposes.</p>
*
*/
inline ListJobsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The <code>nextToken</code> value returned from a previous paginated
* <code>ListJobs</code> request where <code>maxResults</code> was used and the
* results exceeded the value of that parameter. Pagination continues from the end
* of the previous results that returned the <code>nextToken</code> value. This
* value is <code>null</code> when there are no more results to return.</p>
* <p>This token should be treated as an opaque identifier that is only used to
* retrieve the next items in a list and not for other programmatic purposes.</p>
*
*/
inline ListJobsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::String m_jobQueue;
bool m_jobQueueHasBeenSet;
Aws::String m_arrayJobId;
bool m_arrayJobIdHasBeenSet;
Aws::String m_multiNodeJobId;
bool m_multiNodeJobIdHasBeenSet;
JobStatus m_jobStatus;
bool m_jobStatusHasBeenSet;
int m_maxResults;
bool m_maxResultsHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,145 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/batch/model/JobSummary.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
class AWS_BATCH_API ListJobsResult
{
public:
ListJobsResult();
ListJobsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
ListJobsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>A list of job summaries that match the request.</p>
*/
inline const Aws::Vector<JobSummary>& GetJobSummaryList() const{ return m_jobSummaryList; }
/**
* <p>A list of job summaries that match the request.</p>
*/
inline void SetJobSummaryList(const Aws::Vector<JobSummary>& value) { m_jobSummaryList = value; }
/**
* <p>A list of job summaries that match the request.</p>
*/
inline void SetJobSummaryList(Aws::Vector<JobSummary>&& value) { m_jobSummaryList = std::move(value); }
/**
* <p>A list of job summaries that match the request.</p>
*/
inline ListJobsResult& WithJobSummaryList(const Aws::Vector<JobSummary>& value) { SetJobSummaryList(value); return *this;}
/**
* <p>A list of job summaries that match the request.</p>
*/
inline ListJobsResult& WithJobSummaryList(Aws::Vector<JobSummary>&& value) { SetJobSummaryList(std::move(value)); return *this;}
/**
* <p>A list of job summaries that match the request.</p>
*/
inline ListJobsResult& AddJobSummaryList(const JobSummary& value) { m_jobSummaryList.push_back(value); return *this; }
/**
* <p>A list of job summaries that match the request.</p>
*/
inline ListJobsResult& AddJobSummaryList(JobSummary&& value) { m_jobSummaryList.push_back(std::move(value)); return *this; }
/**
* <p>The <code>nextToken</code> value to include in a future <code>ListJobs</code>
* request. When the results of a <code>ListJobs</code> request exceed
* <code>maxResults</code>, this value can be used to retrieve the next page of
* results. This value is <code>null</code> when there are no more results to
* return.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The <code>nextToken</code> value to include in a future <code>ListJobs</code>
* request. When the results of a <code>ListJobs</code> request exceed
* <code>maxResults</code>, this value can be used to retrieve the next page of
* results. This value is <code>null</code> when there are no more results to
* return.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>The <code>nextToken</code> value to include in a future <code>ListJobs</code>
* request. When the results of a <code>ListJobs</code> request exceed
* <code>maxResults</code>, this value can be used to retrieve the next page of
* results. This value is <code>null</code> when there are no more results to
* return.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>The <code>nextToken</code> value to include in a future <code>ListJobs</code>
* request. When the results of a <code>ListJobs</code> request exceed
* <code>maxResults</code>, this value can be used to retrieve the next page of
* results. This value is <code>null</code> when there are no more results to
* return.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>The <code>nextToken</code> value to include in a future <code>ListJobs</code>
* request. When the results of a <code>ListJobs</code> request exceed
* <code>maxResults</code>, this value can be used to retrieve the next page of
* results. This value is <code>null</code> when there are no more results to
* return.</p>
*/
inline ListJobsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The <code>nextToken</code> value to include in a future <code>ListJobs</code>
* request. When the results of a <code>ListJobs</code> request exceed
* <code>maxResults</code>, this value can be used to retrieve the next page of
* results. This value is <code>null</code> when there are no more results to
* return.</p>
*/
inline ListJobsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The <code>nextToken</code> value to include in a future <code>ListJobs</code>
* request. When the results of a <code>ListJobs</code> request exceed
* <code>maxResults</code>, this value can be used to retrieve the next page of
* results. This value is <code>null</code> when there are no more results to
* return.</p>
*/
inline ListJobsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<JobSummary> m_jobSummaryList;
Aws::String m_nextToken;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,168 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>Details on a Docker volume mount point that is used in a job's container
* properties. This parameter maps to <code>Volumes</code> in the <a
* href="https://docs.docker.com/engine/reference/api/docker_remote_api_v1.19/#create-a-container">Create
* a container</a> section of the Docker Remote API and the <code>--volume</code>
* option to docker run.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/MountPoint">AWS
* API Reference</a></p>
*/
class AWS_BATCH_API MountPoint
{
public:
MountPoint();
MountPoint(Aws::Utils::Json::JsonView jsonValue);
MountPoint& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The path on the container at which to mount the host volume.</p>
*/
inline const Aws::String& GetContainerPath() const{ return m_containerPath; }
/**
* <p>The path on the container at which to mount the host volume.</p>
*/
inline bool ContainerPathHasBeenSet() const { return m_containerPathHasBeenSet; }
/**
* <p>The path on the container at which to mount the host volume.</p>
*/
inline void SetContainerPath(const Aws::String& value) { m_containerPathHasBeenSet = true; m_containerPath = value; }
/**
* <p>The path on the container at which to mount the host volume.</p>
*/
inline void SetContainerPath(Aws::String&& value) { m_containerPathHasBeenSet = true; m_containerPath = std::move(value); }
/**
* <p>The path on the container at which to mount the host volume.</p>
*/
inline void SetContainerPath(const char* value) { m_containerPathHasBeenSet = true; m_containerPath.assign(value); }
/**
* <p>The path on the container at which to mount the host volume.</p>
*/
inline MountPoint& WithContainerPath(const Aws::String& value) { SetContainerPath(value); return *this;}
/**
* <p>The path on the container at which to mount the host volume.</p>
*/
inline MountPoint& WithContainerPath(Aws::String&& value) { SetContainerPath(std::move(value)); return *this;}
/**
* <p>The path on the container at which to mount the host volume.</p>
*/
inline MountPoint& WithContainerPath(const char* value) { SetContainerPath(value); return *this;}
/**
* <p>If this value is <code>true</code>, the container has read-only access to the
* volume; otherwise, the container can write to the volume. The default value is
* <code>false</code>.</p>
*/
inline bool GetReadOnly() const{ return m_readOnly; }
/**
* <p>If this value is <code>true</code>, the container has read-only access to the
* volume; otherwise, the container can write to the volume. The default value is
* <code>false</code>.</p>
*/
inline bool ReadOnlyHasBeenSet() const { return m_readOnlyHasBeenSet; }
/**
* <p>If this value is <code>true</code>, the container has read-only access to the
* volume; otherwise, the container can write to the volume. The default value is
* <code>false</code>.</p>
*/
inline void SetReadOnly(bool value) { m_readOnlyHasBeenSet = true; m_readOnly = value; }
/**
* <p>If this value is <code>true</code>, the container has read-only access to the
* volume; otherwise, the container can write to the volume. The default value is
* <code>false</code>.</p>
*/
inline MountPoint& WithReadOnly(bool value) { SetReadOnly(value); return *this;}
/**
* <p>The name of the volume to mount.</p>
*/
inline const Aws::String& GetSourceVolume() const{ return m_sourceVolume; }
/**
* <p>The name of the volume to mount.</p>
*/
inline bool SourceVolumeHasBeenSet() const { return m_sourceVolumeHasBeenSet; }
/**
* <p>The name of the volume to mount.</p>
*/
inline void SetSourceVolume(const Aws::String& value) { m_sourceVolumeHasBeenSet = true; m_sourceVolume = value; }
/**
* <p>The name of the volume to mount.</p>
*/
inline void SetSourceVolume(Aws::String&& value) { m_sourceVolumeHasBeenSet = true; m_sourceVolume = std::move(value); }
/**
* <p>The name of the volume to mount.</p>
*/
inline void SetSourceVolume(const char* value) { m_sourceVolumeHasBeenSet = true; m_sourceVolume.assign(value); }
/**
* <p>The name of the volume to mount.</p>
*/
inline MountPoint& WithSourceVolume(const Aws::String& value) { SetSourceVolume(value); return *this;}
/**
* <p>The name of the volume to mount.</p>
*/
inline MountPoint& WithSourceVolume(Aws::String&& value) { SetSourceVolume(std::move(value)); return *this;}
/**
* <p>The name of the volume to mount.</p>
*/
inline MountPoint& WithSourceVolume(const char* value) { SetSourceVolume(value); return *this;}
private:
Aws::String m_containerPath;
bool m_containerPathHasBeenSet;
bool m_readOnly;
bool m_readOnlyHasBeenSet;
Aws::String m_sourceVolume;
bool m_sourceVolumeHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,177 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>An object representing the elastic network interface for a multi-node
* parallel job node.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/NetworkInterface">AWS
* API Reference</a></p>
*/
class AWS_BATCH_API NetworkInterface
{
public:
NetworkInterface();
NetworkInterface(Aws::Utils::Json::JsonView jsonValue);
NetworkInterface& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The attachment ID for the network interface.</p>
*/
inline const Aws::String& GetAttachmentId() const{ return m_attachmentId; }
/**
* <p>The attachment ID for the network interface.</p>
*/
inline bool AttachmentIdHasBeenSet() const { return m_attachmentIdHasBeenSet; }
/**
* <p>The attachment ID for the network interface.</p>
*/
inline void SetAttachmentId(const Aws::String& value) { m_attachmentIdHasBeenSet = true; m_attachmentId = value; }
/**
* <p>The attachment ID for the network interface.</p>
*/
inline void SetAttachmentId(Aws::String&& value) { m_attachmentIdHasBeenSet = true; m_attachmentId = std::move(value); }
/**
* <p>The attachment ID for the network interface.</p>
*/
inline void SetAttachmentId(const char* value) { m_attachmentIdHasBeenSet = true; m_attachmentId.assign(value); }
/**
* <p>The attachment ID for the network interface.</p>
*/
inline NetworkInterface& WithAttachmentId(const Aws::String& value) { SetAttachmentId(value); return *this;}
/**
* <p>The attachment ID for the network interface.</p>
*/
inline NetworkInterface& WithAttachmentId(Aws::String&& value) { SetAttachmentId(std::move(value)); return *this;}
/**
* <p>The attachment ID for the network interface.</p>
*/
inline NetworkInterface& WithAttachmentId(const char* value) { SetAttachmentId(value); return *this;}
/**
* <p>The private IPv6 address for the network interface.</p>
*/
inline const Aws::String& GetIpv6Address() const{ return m_ipv6Address; }
/**
* <p>The private IPv6 address for the network interface.</p>
*/
inline bool Ipv6AddressHasBeenSet() const { return m_ipv6AddressHasBeenSet; }
/**
* <p>The private IPv6 address for the network interface.</p>
*/
inline void SetIpv6Address(const Aws::String& value) { m_ipv6AddressHasBeenSet = true; m_ipv6Address = value; }
/**
* <p>The private IPv6 address for the network interface.</p>
*/
inline void SetIpv6Address(Aws::String&& value) { m_ipv6AddressHasBeenSet = true; m_ipv6Address = std::move(value); }
/**
* <p>The private IPv6 address for the network interface.</p>
*/
inline void SetIpv6Address(const char* value) { m_ipv6AddressHasBeenSet = true; m_ipv6Address.assign(value); }
/**
* <p>The private IPv6 address for the network interface.</p>
*/
inline NetworkInterface& WithIpv6Address(const Aws::String& value) { SetIpv6Address(value); return *this;}
/**
* <p>The private IPv6 address for the network interface.</p>
*/
inline NetworkInterface& WithIpv6Address(Aws::String&& value) { SetIpv6Address(std::move(value)); return *this;}
/**
* <p>The private IPv6 address for the network interface.</p>
*/
inline NetworkInterface& WithIpv6Address(const char* value) { SetIpv6Address(value); return *this;}
/**
* <p>The private IPv4 address for the network interface.</p>
*/
inline const Aws::String& GetPrivateIpv4Address() const{ return m_privateIpv4Address; }
/**
* <p>The private IPv4 address for the network interface.</p>
*/
inline bool PrivateIpv4AddressHasBeenSet() const { return m_privateIpv4AddressHasBeenSet; }
/**
* <p>The private IPv4 address for the network interface.</p>
*/
inline void SetPrivateIpv4Address(const Aws::String& value) { m_privateIpv4AddressHasBeenSet = true; m_privateIpv4Address = value; }
/**
* <p>The private IPv4 address for the network interface.</p>
*/
inline void SetPrivateIpv4Address(Aws::String&& value) { m_privateIpv4AddressHasBeenSet = true; m_privateIpv4Address = std::move(value); }
/**
* <p>The private IPv4 address for the network interface.</p>
*/
inline void SetPrivateIpv4Address(const char* value) { m_privateIpv4AddressHasBeenSet = true; m_privateIpv4Address.assign(value); }
/**
* <p>The private IPv4 address for the network interface.</p>
*/
inline NetworkInterface& WithPrivateIpv4Address(const Aws::String& value) { SetPrivateIpv4Address(value); return *this;}
/**
* <p>The private IPv4 address for the network interface.</p>
*/
inline NetworkInterface& WithPrivateIpv4Address(Aws::String&& value) { SetPrivateIpv4Address(std::move(value)); return *this;}
/**
* <p>The private IPv4 address for the network interface.</p>
*/
inline NetworkInterface& WithPrivateIpv4Address(const char* value) { SetPrivateIpv4Address(value); return *this;}
private:
Aws::String m_attachmentId;
bool m_attachmentIdHasBeenSet;
Aws::String m_ipv6Address;
bool m_ipv6AddressHasBeenSet;
Aws::String m_privateIpv4Address;
bool m_privateIpv4AddressHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,103 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>An object representing the details of a multi-node parallel job
* node.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/NodeDetails">AWS
* API Reference</a></p>
*/
class AWS_BATCH_API NodeDetails
{
public:
NodeDetails();
NodeDetails(Aws::Utils::Json::JsonView jsonValue);
NodeDetails& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The node index for the node. Node index numbering begins at zero. This index
* is also available on the node with the <code>AWS_BATCH_JOB_NODE_INDEX</code>
* environment variable.</p>
*/
inline int GetNodeIndex() const{ return m_nodeIndex; }
/**
* <p>The node index for the node. Node index numbering begins at zero. This index
* is also available on the node with the <code>AWS_BATCH_JOB_NODE_INDEX</code>
* environment variable.</p>
*/
inline bool NodeIndexHasBeenSet() const { return m_nodeIndexHasBeenSet; }
/**
* <p>The node index for the node. Node index numbering begins at zero. This index
* is also available on the node with the <code>AWS_BATCH_JOB_NODE_INDEX</code>
* environment variable.</p>
*/
inline void SetNodeIndex(int value) { m_nodeIndexHasBeenSet = true; m_nodeIndex = value; }
/**
* <p>The node index for the node. Node index numbering begins at zero. This index
* is also available on the node with the <code>AWS_BATCH_JOB_NODE_INDEX</code>
* environment variable.</p>
*/
inline NodeDetails& WithNodeIndex(int value) { SetNodeIndex(value); return *this;}
/**
* <p>Specifies whether the current node is the main node for a multi-node parallel
* job.</p>
*/
inline bool GetIsMainNode() const{ return m_isMainNode; }
/**
* <p>Specifies whether the current node is the main node for a multi-node parallel
* job.</p>
*/
inline bool IsMainNodeHasBeenSet() const { return m_isMainNodeHasBeenSet; }
/**
* <p>Specifies whether the current node is the main node for a multi-node parallel
* job.</p>
*/
inline void SetIsMainNode(bool value) { m_isMainNodeHasBeenSet = true; m_isMainNode = value; }
/**
* <p>Specifies whether the current node is the main node for a multi-node parallel
* job.</p>
*/
inline NodeDetails& WithIsMainNode(bool value) { SetIsMainNode(value); return *this;}
private:
int m_nodeIndex;
bool m_nodeIndexHasBeenSet;
bool m_isMainNode;
bool m_isMainNodeHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,146 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/batch/model/NodePropertyOverride.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>Object representing any node overrides to a job definition that is used in a
* <a>SubmitJob</a> API operation.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/NodeOverrides">AWS
* API Reference</a></p>
*/
class AWS_BATCH_API NodeOverrides
{
public:
NodeOverrides();
NodeOverrides(Aws::Utils::Json::JsonView jsonValue);
NodeOverrides& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The number of nodes to use with a multi-node parallel job. This value
* overrides the number of nodes that are specified in the job definition. To use
* this override:</p> <ul> <li> <p>There must be at least one node range in your
* job definition that has an open upper boundary (such as <code>:</code> or
* <code>n:</code>).</p> </li> <li> <p>The lower boundary of the node range
* specified in the job definition must be fewer than the number of nodes specified
* in the override.</p> </li> <li> <p>The main node index specified in the job
* definition must be fewer than the number of nodes specified in the override.</p>
* </li> </ul>
*/
inline int GetNumNodes() const{ return m_numNodes; }
/**
* <p>The number of nodes to use with a multi-node parallel job. This value
* overrides the number of nodes that are specified in the job definition. To use
* this override:</p> <ul> <li> <p>There must be at least one node range in your
* job definition that has an open upper boundary (such as <code>:</code> or
* <code>n:</code>).</p> </li> <li> <p>The lower boundary of the node range
* specified in the job definition must be fewer than the number of nodes specified
* in the override.</p> </li> <li> <p>The main node index specified in the job
* definition must be fewer than the number of nodes specified in the override.</p>
* </li> </ul>
*/
inline bool NumNodesHasBeenSet() const { return m_numNodesHasBeenSet; }
/**
* <p>The number of nodes to use with a multi-node parallel job. This value
* overrides the number of nodes that are specified in the job definition. To use
* this override:</p> <ul> <li> <p>There must be at least one node range in your
* job definition that has an open upper boundary (such as <code>:</code> or
* <code>n:</code>).</p> </li> <li> <p>The lower boundary of the node range
* specified in the job definition must be fewer than the number of nodes specified
* in the override.</p> </li> <li> <p>The main node index specified in the job
* definition must be fewer than the number of nodes specified in the override.</p>
* </li> </ul>
*/
inline void SetNumNodes(int value) { m_numNodesHasBeenSet = true; m_numNodes = value; }
/**
* <p>The number of nodes to use with a multi-node parallel job. This value
* overrides the number of nodes that are specified in the job definition. To use
* this override:</p> <ul> <li> <p>There must be at least one node range in your
* job definition that has an open upper boundary (such as <code>:</code> or
* <code>n:</code>).</p> </li> <li> <p>The lower boundary of the node range
* specified in the job definition must be fewer than the number of nodes specified
* in the override.</p> </li> <li> <p>The main node index specified in the job
* definition must be fewer than the number of nodes specified in the override.</p>
* </li> </ul>
*/
inline NodeOverrides& WithNumNodes(int value) { SetNumNodes(value); return *this;}
/**
* <p>The node property overrides for the job.</p>
*/
inline const Aws::Vector<NodePropertyOverride>& GetNodePropertyOverrides() const{ return m_nodePropertyOverrides; }
/**
* <p>The node property overrides for the job.</p>
*/
inline bool NodePropertyOverridesHasBeenSet() const { return m_nodePropertyOverridesHasBeenSet; }
/**
* <p>The node property overrides for the job.</p>
*/
inline void SetNodePropertyOverrides(const Aws::Vector<NodePropertyOverride>& value) { m_nodePropertyOverridesHasBeenSet = true; m_nodePropertyOverrides = value; }
/**
* <p>The node property overrides for the job.</p>
*/
inline void SetNodePropertyOverrides(Aws::Vector<NodePropertyOverride>&& value) { m_nodePropertyOverridesHasBeenSet = true; m_nodePropertyOverrides = std::move(value); }
/**
* <p>The node property overrides for the job.</p>
*/
inline NodeOverrides& WithNodePropertyOverrides(const Aws::Vector<NodePropertyOverride>& value) { SetNodePropertyOverrides(value); return *this;}
/**
* <p>The node property overrides for the job.</p>
*/
inline NodeOverrides& WithNodePropertyOverrides(Aws::Vector<NodePropertyOverride>&& value) { SetNodePropertyOverrides(std::move(value)); return *this;}
/**
* <p>The node property overrides for the job.</p>
*/
inline NodeOverrides& AddNodePropertyOverrides(const NodePropertyOverride& value) { m_nodePropertyOverridesHasBeenSet = true; m_nodePropertyOverrides.push_back(value); return *this; }
/**
* <p>The node property overrides for the job.</p>
*/
inline NodeOverrides& AddNodePropertyOverrides(NodePropertyOverride&& value) { m_nodePropertyOverridesHasBeenSet = true; m_nodePropertyOverrides.push_back(std::move(value)); return *this; }
private:
int m_numNodes;
bool m_numNodesHasBeenSet;
Aws::Vector<NodePropertyOverride> m_nodePropertyOverrides;
bool m_nodePropertyOverridesHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,150 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/batch/model/NodeRangeProperty.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>An object representing the node properties of a multi-node parallel
* job.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/NodeProperties">AWS
* API Reference</a></p>
*/
class AWS_BATCH_API NodeProperties
{
public:
NodeProperties();
NodeProperties(Aws::Utils::Json::JsonView jsonValue);
NodeProperties& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The number of nodes associated with a multi-node parallel job.</p>
*/
inline int GetNumNodes() const{ return m_numNodes; }
/**
* <p>The number of nodes associated with a multi-node parallel job.</p>
*/
inline bool NumNodesHasBeenSet() const { return m_numNodesHasBeenSet; }
/**
* <p>The number of nodes associated with a multi-node parallel job.</p>
*/
inline void SetNumNodes(int value) { m_numNodesHasBeenSet = true; m_numNodes = value; }
/**
* <p>The number of nodes associated with a multi-node parallel job.</p>
*/
inline NodeProperties& WithNumNodes(int value) { SetNumNodes(value); return *this;}
/**
* <p>Specifies the node index for the main node of a multi-node parallel job. This
* node index value must be fewer than the number of nodes.</p>
*/
inline int GetMainNode() const{ return m_mainNode; }
/**
* <p>Specifies the node index for the main node of a multi-node parallel job. This
* node index value must be fewer than the number of nodes.</p>
*/
inline bool MainNodeHasBeenSet() const { return m_mainNodeHasBeenSet; }
/**
* <p>Specifies the node index for the main node of a multi-node parallel job. This
* node index value must be fewer than the number of nodes.</p>
*/
inline void SetMainNode(int value) { m_mainNodeHasBeenSet = true; m_mainNode = value; }
/**
* <p>Specifies the node index for the main node of a multi-node parallel job. This
* node index value must be fewer than the number of nodes.</p>
*/
inline NodeProperties& WithMainNode(int value) { SetMainNode(value); return *this;}
/**
* <p>A list of node ranges and their properties associated with a multi-node
* parallel job.</p>
*/
inline const Aws::Vector<NodeRangeProperty>& GetNodeRangeProperties() const{ return m_nodeRangeProperties; }
/**
* <p>A list of node ranges and their properties associated with a multi-node
* parallel job.</p>
*/
inline bool NodeRangePropertiesHasBeenSet() const { return m_nodeRangePropertiesHasBeenSet; }
/**
* <p>A list of node ranges and their properties associated with a multi-node
* parallel job.</p>
*/
inline void SetNodeRangeProperties(const Aws::Vector<NodeRangeProperty>& value) { m_nodeRangePropertiesHasBeenSet = true; m_nodeRangeProperties = value; }
/**
* <p>A list of node ranges and their properties associated with a multi-node
* parallel job.</p>
*/
inline void SetNodeRangeProperties(Aws::Vector<NodeRangeProperty>&& value) { m_nodeRangePropertiesHasBeenSet = true; m_nodeRangeProperties = std::move(value); }
/**
* <p>A list of node ranges and their properties associated with a multi-node
* parallel job.</p>
*/
inline NodeProperties& WithNodeRangeProperties(const Aws::Vector<NodeRangeProperty>& value) { SetNodeRangeProperties(value); return *this;}
/**
* <p>A list of node ranges and their properties associated with a multi-node
* parallel job.</p>
*/
inline NodeProperties& WithNodeRangeProperties(Aws::Vector<NodeRangeProperty>&& value) { SetNodeRangeProperties(std::move(value)); return *this;}
/**
* <p>A list of node ranges and their properties associated with a multi-node
* parallel job.</p>
*/
inline NodeProperties& AddNodeRangeProperties(const NodeRangeProperty& value) { m_nodeRangePropertiesHasBeenSet = true; m_nodeRangeProperties.push_back(value); return *this; }
/**
* <p>A list of node ranges and their properties associated with a multi-node
* parallel job.</p>
*/
inline NodeProperties& AddNodeRangeProperties(NodeRangeProperty&& value) { m_nodeRangePropertiesHasBeenSet = true; m_nodeRangeProperties.push_back(std::move(value)); return *this; }
private:
int m_numNodes;
bool m_numNodesHasBeenSet;
int m_mainNode;
bool m_mainNodeHasBeenSet;
Aws::Vector<NodeRangeProperty> m_nodeRangeProperties;
bool m_nodeRangePropertiesHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,127 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>An object representing the properties of a node that is associated with a
* multi-node parallel job.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/NodePropertiesSummary">AWS
* API Reference</a></p>
*/
class AWS_BATCH_API NodePropertiesSummary
{
public:
NodePropertiesSummary();
NodePropertiesSummary(Aws::Utils::Json::JsonView jsonValue);
NodePropertiesSummary& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>Specifies whether the current node is the main node for a multi-node parallel
* job.</p>
*/
inline bool GetIsMainNode() const{ return m_isMainNode; }
/**
* <p>Specifies whether the current node is the main node for a multi-node parallel
* job.</p>
*/
inline bool IsMainNodeHasBeenSet() const { return m_isMainNodeHasBeenSet; }
/**
* <p>Specifies whether the current node is the main node for a multi-node parallel
* job.</p>
*/
inline void SetIsMainNode(bool value) { m_isMainNodeHasBeenSet = true; m_isMainNode = value; }
/**
* <p>Specifies whether the current node is the main node for a multi-node parallel
* job.</p>
*/
inline NodePropertiesSummary& WithIsMainNode(bool value) { SetIsMainNode(value); return *this;}
/**
* <p>The number of nodes associated with a multi-node parallel job.</p>
*/
inline int GetNumNodes() const{ return m_numNodes; }
/**
* <p>The number of nodes associated with a multi-node parallel job.</p>
*/
inline bool NumNodesHasBeenSet() const { return m_numNodesHasBeenSet; }
/**
* <p>The number of nodes associated with a multi-node parallel job.</p>
*/
inline void SetNumNodes(int value) { m_numNodesHasBeenSet = true; m_numNodes = value; }
/**
* <p>The number of nodes associated with a multi-node parallel job.</p>
*/
inline NodePropertiesSummary& WithNumNodes(int value) { SetNumNodes(value); return *this;}
/**
* <p>The node index for the node. Node index numbering begins at zero. This index
* is also available on the node with the <code>AWS_BATCH_JOB_NODE_INDEX</code>
* environment variable.</p>
*/
inline int GetNodeIndex() const{ return m_nodeIndex; }
/**
* <p>The node index for the node. Node index numbering begins at zero. This index
* is also available on the node with the <code>AWS_BATCH_JOB_NODE_INDEX</code>
* environment variable.</p>
*/
inline bool NodeIndexHasBeenSet() const { return m_nodeIndexHasBeenSet; }
/**
* <p>The node index for the node. Node index numbering begins at zero. This index
* is also available on the node with the <code>AWS_BATCH_JOB_NODE_INDEX</code>
* environment variable.</p>
*/
inline void SetNodeIndex(int value) { m_nodeIndexHasBeenSet = true; m_nodeIndex = value; }
/**
* <p>The node index for the node. Node index numbering begins at zero. This index
* is also available on the node with the <code>AWS_BATCH_JOB_NODE_INDEX</code>
* environment variable.</p>
*/
inline NodePropertiesSummary& WithNodeIndex(int value) { SetNodeIndex(value); return *this;}
private:
bool m_isMainNode;
bool m_isMainNodeHasBeenSet;
int m_numNodes;
bool m_numNodesHasBeenSet;
int m_nodeIndex;
bool m_nodeIndexHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,164 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/batch/model/ContainerOverrides.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>Object representing any node overrides to a job definition that is used in a
* <a>SubmitJob</a> API operation.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/NodePropertyOverride">AWS
* API Reference</a></p>
*/
class AWS_BATCH_API NodePropertyOverride
{
public:
NodePropertyOverride();
NodePropertyOverride(Aws::Utils::Json::JsonView jsonValue);
NodePropertyOverride& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The range of nodes, using node index values, with which to override. A range
* of <code>0:3</code> indicates nodes with index values of <code>0</code> through
* <code>3</code>. If the starting range value is omitted (<code>:n</code>), then
* <code>0</code> is used to start the range. If the ending range value is omitted
* (<code>n:</code>), then the highest possible node index is used to end the
* range.</p>
*/
inline const Aws::String& GetTargetNodes() const{ return m_targetNodes; }
/**
* <p>The range of nodes, using node index values, with which to override. A range
* of <code>0:3</code> indicates nodes with index values of <code>0</code> through
* <code>3</code>. If the starting range value is omitted (<code>:n</code>), then
* <code>0</code> is used to start the range. If the ending range value is omitted
* (<code>n:</code>), then the highest possible node index is used to end the
* range.</p>
*/
inline bool TargetNodesHasBeenSet() const { return m_targetNodesHasBeenSet; }
/**
* <p>The range of nodes, using node index values, with which to override. A range
* of <code>0:3</code> indicates nodes with index values of <code>0</code> through
* <code>3</code>. If the starting range value is omitted (<code>:n</code>), then
* <code>0</code> is used to start the range. If the ending range value is omitted
* (<code>n:</code>), then the highest possible node index is used to end the
* range.</p>
*/
inline void SetTargetNodes(const Aws::String& value) { m_targetNodesHasBeenSet = true; m_targetNodes = value; }
/**
* <p>The range of nodes, using node index values, with which to override. A range
* of <code>0:3</code> indicates nodes with index values of <code>0</code> through
* <code>3</code>. If the starting range value is omitted (<code>:n</code>), then
* <code>0</code> is used to start the range. If the ending range value is omitted
* (<code>n:</code>), then the highest possible node index is used to end the
* range.</p>
*/
inline void SetTargetNodes(Aws::String&& value) { m_targetNodesHasBeenSet = true; m_targetNodes = std::move(value); }
/**
* <p>The range of nodes, using node index values, with which to override. A range
* of <code>0:3</code> indicates nodes with index values of <code>0</code> through
* <code>3</code>. If the starting range value is omitted (<code>:n</code>), then
* <code>0</code> is used to start the range. If the ending range value is omitted
* (<code>n:</code>), then the highest possible node index is used to end the
* range.</p>
*/
inline void SetTargetNodes(const char* value) { m_targetNodesHasBeenSet = true; m_targetNodes.assign(value); }
/**
* <p>The range of nodes, using node index values, with which to override. A range
* of <code>0:3</code> indicates nodes with index values of <code>0</code> through
* <code>3</code>. If the starting range value is omitted (<code>:n</code>), then
* <code>0</code> is used to start the range. If the ending range value is omitted
* (<code>n:</code>), then the highest possible node index is used to end the
* range.</p>
*/
inline NodePropertyOverride& WithTargetNodes(const Aws::String& value) { SetTargetNodes(value); return *this;}
/**
* <p>The range of nodes, using node index values, with which to override. A range
* of <code>0:3</code> indicates nodes with index values of <code>0</code> through
* <code>3</code>. If the starting range value is omitted (<code>:n</code>), then
* <code>0</code> is used to start the range. If the ending range value is omitted
* (<code>n:</code>), then the highest possible node index is used to end the
* range.</p>
*/
inline NodePropertyOverride& WithTargetNodes(Aws::String&& value) { SetTargetNodes(std::move(value)); return *this;}
/**
* <p>The range of nodes, using node index values, with which to override. A range
* of <code>0:3</code> indicates nodes with index values of <code>0</code> through
* <code>3</code>. If the starting range value is omitted (<code>:n</code>), then
* <code>0</code> is used to start the range. If the ending range value is omitted
* (<code>n:</code>), then the highest possible node index is used to end the
* range.</p>
*/
inline NodePropertyOverride& WithTargetNodes(const char* value) { SetTargetNodes(value); return *this;}
/**
* <p>The overrides that should be sent to a node range.</p>
*/
inline const ContainerOverrides& GetContainerOverrides() const{ return m_containerOverrides; }
/**
* <p>The overrides that should be sent to a node range.</p>
*/
inline bool ContainerOverridesHasBeenSet() const { return m_containerOverridesHasBeenSet; }
/**
* <p>The overrides that should be sent to a node range.</p>
*/
inline void SetContainerOverrides(const ContainerOverrides& value) { m_containerOverridesHasBeenSet = true; m_containerOverrides = value; }
/**
* <p>The overrides that should be sent to a node range.</p>
*/
inline void SetContainerOverrides(ContainerOverrides&& value) { m_containerOverridesHasBeenSet = true; m_containerOverrides = std::move(value); }
/**
* <p>The overrides that should be sent to a node range.</p>
*/
inline NodePropertyOverride& WithContainerOverrides(const ContainerOverrides& value) { SetContainerOverrides(value); return *this;}
/**
* <p>The overrides that should be sent to a node range.</p>
*/
inline NodePropertyOverride& WithContainerOverrides(ContainerOverrides&& value) { SetContainerOverrides(std::move(value)); return *this;}
private:
Aws::String m_targetNodes;
bool m_targetNodesHasBeenSet;
ContainerOverrides m_containerOverrides;
bool m_containerOverridesHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,180 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/batch/model/ContainerProperties.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>An object representing the properties of the node range for a multi-node
* parallel job.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/NodeRangeProperty">AWS
* API Reference</a></p>
*/
class AWS_BATCH_API NodeRangeProperty
{
public:
NodeRangeProperty();
NodeRangeProperty(Aws::Utils::Json::JsonView jsonValue);
NodeRangeProperty& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The range of nodes, using node index values. A range of <code>0:3</code>
* indicates nodes with index values of <code>0</code> through <code>3</code>. If
* the starting range value is omitted (<code>:n</code>), then <code>0</code> is
* used to start the range. If the ending range value is omitted (<code>n:</code>),
* then the highest possible node index is used to end the range. Your accumulative
* node ranges must account for all nodes (0:n). You may nest node ranges, for
* example 0:10 and 4:5, in which case the 4:5 range properties override the 0:10
* properties.</p>
*/
inline const Aws::String& GetTargetNodes() const{ return m_targetNodes; }
/**
* <p>The range of nodes, using node index values. A range of <code>0:3</code>
* indicates nodes with index values of <code>0</code> through <code>3</code>. If
* the starting range value is omitted (<code>:n</code>), then <code>0</code> is
* used to start the range. If the ending range value is omitted (<code>n:</code>),
* then the highest possible node index is used to end the range. Your accumulative
* node ranges must account for all nodes (0:n). You may nest node ranges, for
* example 0:10 and 4:5, in which case the 4:5 range properties override the 0:10
* properties.</p>
*/
inline bool TargetNodesHasBeenSet() const { return m_targetNodesHasBeenSet; }
/**
* <p>The range of nodes, using node index values. A range of <code>0:3</code>
* indicates nodes with index values of <code>0</code> through <code>3</code>. If
* the starting range value is omitted (<code>:n</code>), then <code>0</code> is
* used to start the range. If the ending range value is omitted (<code>n:</code>),
* then the highest possible node index is used to end the range. Your accumulative
* node ranges must account for all nodes (0:n). You may nest node ranges, for
* example 0:10 and 4:5, in which case the 4:5 range properties override the 0:10
* properties.</p>
*/
inline void SetTargetNodes(const Aws::String& value) { m_targetNodesHasBeenSet = true; m_targetNodes = value; }
/**
* <p>The range of nodes, using node index values. A range of <code>0:3</code>
* indicates nodes with index values of <code>0</code> through <code>3</code>. If
* the starting range value is omitted (<code>:n</code>), then <code>0</code> is
* used to start the range. If the ending range value is omitted (<code>n:</code>),
* then the highest possible node index is used to end the range. Your accumulative
* node ranges must account for all nodes (0:n). You may nest node ranges, for
* example 0:10 and 4:5, in which case the 4:5 range properties override the 0:10
* properties.</p>
*/
inline void SetTargetNodes(Aws::String&& value) { m_targetNodesHasBeenSet = true; m_targetNodes = std::move(value); }
/**
* <p>The range of nodes, using node index values. A range of <code>0:3</code>
* indicates nodes with index values of <code>0</code> through <code>3</code>. If
* the starting range value is omitted (<code>:n</code>), then <code>0</code> is
* used to start the range. If the ending range value is omitted (<code>n:</code>),
* then the highest possible node index is used to end the range. Your accumulative
* node ranges must account for all nodes (0:n). You may nest node ranges, for
* example 0:10 and 4:5, in which case the 4:5 range properties override the 0:10
* properties.</p>
*/
inline void SetTargetNodes(const char* value) { m_targetNodesHasBeenSet = true; m_targetNodes.assign(value); }
/**
* <p>The range of nodes, using node index values. A range of <code>0:3</code>
* indicates nodes with index values of <code>0</code> through <code>3</code>. If
* the starting range value is omitted (<code>:n</code>), then <code>0</code> is
* used to start the range. If the ending range value is omitted (<code>n:</code>),
* then the highest possible node index is used to end the range. Your accumulative
* node ranges must account for all nodes (0:n). You may nest node ranges, for
* example 0:10 and 4:5, in which case the 4:5 range properties override the 0:10
* properties.</p>
*/
inline NodeRangeProperty& WithTargetNodes(const Aws::String& value) { SetTargetNodes(value); return *this;}
/**
* <p>The range of nodes, using node index values. A range of <code>0:3</code>
* indicates nodes with index values of <code>0</code> through <code>3</code>. If
* the starting range value is omitted (<code>:n</code>), then <code>0</code> is
* used to start the range. If the ending range value is omitted (<code>n:</code>),
* then the highest possible node index is used to end the range. Your accumulative
* node ranges must account for all nodes (0:n). You may nest node ranges, for
* example 0:10 and 4:5, in which case the 4:5 range properties override the 0:10
* properties.</p>
*/
inline NodeRangeProperty& WithTargetNodes(Aws::String&& value) { SetTargetNodes(std::move(value)); return *this;}
/**
* <p>The range of nodes, using node index values. A range of <code>0:3</code>
* indicates nodes with index values of <code>0</code> through <code>3</code>. If
* the starting range value is omitted (<code>:n</code>), then <code>0</code> is
* used to start the range. If the ending range value is omitted (<code>n:</code>),
* then the highest possible node index is used to end the range. Your accumulative
* node ranges must account for all nodes (0:n). You may nest node ranges, for
* example 0:10 and 4:5, in which case the 4:5 range properties override the 0:10
* properties.</p>
*/
inline NodeRangeProperty& WithTargetNodes(const char* value) { SetTargetNodes(value); return *this;}
/**
* <p>The container details for the node range.</p>
*/
inline const ContainerProperties& GetContainer() const{ return m_container; }
/**
* <p>The container details for the node range.</p>
*/
inline bool ContainerHasBeenSet() const { return m_containerHasBeenSet; }
/**
* <p>The container details for the node range.</p>
*/
inline void SetContainer(const ContainerProperties& value) { m_containerHasBeenSet = true; m_container = value; }
/**
* <p>The container details for the node range.</p>
*/
inline void SetContainer(ContainerProperties&& value) { m_containerHasBeenSet = true; m_container = std::move(value); }
/**
* <p>The container details for the node range.</p>
*/
inline NodeRangeProperty& WithContainer(const ContainerProperties& value) { SetContainer(value); return *this;}
/**
* <p>The container details for the node range.</p>
*/
inline NodeRangeProperty& WithContainer(ContainerProperties&& value) { SetContainer(std::move(value)); return *this;}
private:
Aws::String m_targetNodes;
bool m_targetNodesHasBeenSet;
ContainerProperties m_container;
bool m_containerHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,489 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/batch/BatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/batch/model/JobDefinitionType.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/batch/model/ContainerProperties.h>
#include <aws/batch/model/NodeProperties.h>
#include <aws/batch/model/RetryStrategy.h>
#include <aws/batch/model/JobTimeout.h>
#include <utility>
namespace Aws
{
namespace Batch
{
namespace Model
{
/**
*/
class AWS_BATCH_API RegisterJobDefinitionRequest : public BatchRequest
{
public:
RegisterJobDefinitionRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "RegisterJobDefinition"; }
Aws::String SerializePayload() const override;
/**
* <p>The name of the job definition to register. Up to 128 letters (uppercase and
* lowercase), numbers, hyphens, and underscores are allowed.</p>
*/
inline const Aws::String& GetJobDefinitionName() const{ return m_jobDefinitionName; }
/**
* <p>The name of the job definition to register. Up to 128 letters (uppercase and
* lowercase), numbers, hyphens, and underscores are allowed.</p>
*/
inline bool JobDefinitionNameHasBeenSet() const { return m_jobDefinitionNameHasBeenSet; }
/**
* <p>The name of the job definition to register. Up to 128 letters (uppercase and
* lowercase), numbers, hyphens, and underscores are allowed.</p>
*/
inline void SetJobDefinitionName(const Aws::String& value) { m_jobDefinitionNameHasBeenSet = true; m_jobDefinitionName = value; }
/**
* <p>The name of the job definition to register. Up to 128 letters (uppercase and
* lowercase), numbers, hyphens, and underscores are allowed.</p>
*/
inline void SetJobDefinitionName(Aws::String&& value) { m_jobDefinitionNameHasBeenSet = true; m_jobDefinitionName = std::move(value); }
/**
* <p>The name of the job definition to register. Up to 128 letters (uppercase and
* lowercase), numbers, hyphens, and underscores are allowed.</p>
*/
inline void SetJobDefinitionName(const char* value) { m_jobDefinitionNameHasBeenSet = true; m_jobDefinitionName.assign(value); }
/**
* <p>The name of the job definition to register. Up to 128 letters (uppercase and
* lowercase), numbers, hyphens, and underscores are allowed.</p>
*/
inline RegisterJobDefinitionRequest& WithJobDefinitionName(const Aws::String& value) { SetJobDefinitionName(value); return *this;}
/**
* <p>The name of the job definition to register. Up to 128 letters (uppercase and
* lowercase), numbers, hyphens, and underscores are allowed.</p>
*/
inline RegisterJobDefinitionRequest& WithJobDefinitionName(Aws::String&& value) { SetJobDefinitionName(std::move(value)); return *this;}
/**
* <p>The name of the job definition to register. Up to 128 letters (uppercase and
* lowercase), numbers, hyphens, and underscores are allowed.</p>
*/
inline RegisterJobDefinitionRequest& WithJobDefinitionName(const char* value) { SetJobDefinitionName(value); return *this;}
/**
* <p>The type of job definition.</p>
*/
inline const JobDefinitionType& GetType() const{ return m_type; }
/**
* <p>The type of job definition.</p>
*/
inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
/**
* <p>The type of job definition.</p>
*/
inline void SetType(const JobDefinitionType& value) { m_typeHasBeenSet = true; m_type = value; }
/**
* <p>The type of job definition.</p>
*/
inline void SetType(JobDefinitionType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
/**
* <p>The type of job definition.</p>
*/
inline RegisterJobDefinitionRequest& WithType(const JobDefinitionType& value) { SetType(value); return *this;}
/**
* <p>The type of job definition.</p>
*/
inline RegisterJobDefinitionRequest& WithType(JobDefinitionType&& value) { SetType(std::move(value)); return *this;}
/**
* <p>Default parameter substitution placeholders to set in the job definition.
* Parameters are specified as a key-value pair mapping. Parameters in a
* <code>SubmitJob</code> request override any corresponding parameter defaults
* from the job definition.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetParameters() const{ return m_parameters; }
/**
* <p>Default parameter substitution placeholders to set in the job definition.
* Parameters are specified as a key-value pair mapping. Parameters in a
* <code>SubmitJob</code> request override any corresponding parameter defaults
* from the job definition.</p>
*/
inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
/**
* <p>Default parameter substitution placeholders to set in the job definition.
* Parameters are specified as a key-value pair mapping. Parameters in a
* <code>SubmitJob</code> request override any corresponding parameter defaults
* from the job definition.</p>
*/
inline void SetParameters(const Aws::Map<Aws::String, Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters = value; }
/**
* <p>Default parameter substitution placeholders to set in the job definition.
* Parameters are specified as a key-value pair mapping. Parameters in a
* <code>SubmitJob</code> request override any corresponding parameter defaults
* from the job definition.</p>
*/
inline void SetParameters(Aws::Map<Aws::String, Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); }
/**
* <p>Default parameter substitution placeholders to set in the job definition.
* Parameters are specified as a key-value pair mapping. Parameters in a
* <code>SubmitJob</code> request override any corresponding parameter defaults
* from the job definition.</p>
*/
inline RegisterJobDefinitionRequest& WithParameters(const Aws::Map<Aws::String, Aws::String>& value) { SetParameters(value); return *this;}
/**
* <p>Default parameter substitution placeholders to set in the job definition.
* Parameters are specified as a key-value pair mapping. Parameters in a
* <code>SubmitJob</code> request override any corresponding parameter defaults
* from the job definition.</p>
*/
inline RegisterJobDefinitionRequest& WithParameters(Aws::Map<Aws::String, Aws::String>&& value) { SetParameters(std::move(value)); return *this;}
/**
* <p>Default parameter substitution placeholders to set in the job definition.
* Parameters are specified as a key-value pair mapping. Parameters in a
* <code>SubmitJob</code> request override any corresponding parameter defaults
* from the job definition.</p>
*/
inline RegisterJobDefinitionRequest& AddParameters(const Aws::String& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
/**
* <p>Default parameter substitution placeholders to set in the job definition.
* Parameters are specified as a key-value pair mapping. Parameters in a
* <code>SubmitJob</code> request override any corresponding parameter defaults
* from the job definition.</p>
*/
inline RegisterJobDefinitionRequest& AddParameters(Aws::String&& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
/**
* <p>Default parameter substitution placeholders to set in the job definition.
* Parameters are specified as a key-value pair mapping. Parameters in a
* <code>SubmitJob</code> request override any corresponding parameter defaults
* from the job definition.</p>
*/
inline RegisterJobDefinitionRequest& AddParameters(const Aws::String& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
/**
* <p>Default parameter substitution placeholders to set in the job definition.
* Parameters are specified as a key-value pair mapping. Parameters in a
* <code>SubmitJob</code> request override any corresponding parameter defaults
* from the job definition.</p>
*/
inline RegisterJobDefinitionRequest& AddParameters(Aws::String&& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; }
/**
* <p>Default parameter substitution placeholders to set in the job definition.
* Parameters are specified as a key-value pair mapping. Parameters in a
* <code>SubmitJob</code> request override any corresponding parameter defaults
* from the job definition.</p>
*/
inline RegisterJobDefinitionRequest& AddParameters(const char* key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
/**
* <p>Default parameter substitution placeholders to set in the job definition.
* Parameters are specified as a key-value pair mapping. Parameters in a
* <code>SubmitJob</code> request override any corresponding parameter defaults
* from the job definition.</p>
*/
inline RegisterJobDefinitionRequest& AddParameters(Aws::String&& key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
/**
* <p>Default parameter substitution placeholders to set in the job definition.
* Parameters are specified as a key-value pair mapping. Parameters in a
* <code>SubmitJob</code> request override any corresponding parameter defaults
* from the job definition.</p>
*/
inline RegisterJobDefinitionRequest& AddParameters(const char* key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
/**
* <p>An object with various properties specific to single-node container-based
* jobs. If the job definition's <code>type</code> parameter is
* <code>container</code>, then you must specify either
* <code>containerProperties</code> or <code>nodeProperties</code>.</p>
*/
inline const ContainerProperties& GetContainerProperties() const{ return m_containerProperties; }
/**
* <p>An object with various properties specific to single-node container-based
* jobs. If the job definition's <code>type</code> parameter is
* <code>container</code>, then you must specify either
* <code>containerProperties</code> or <code>nodeProperties</code>.</p>
*/
inline bool ContainerPropertiesHasBeenSet() const { return m_containerPropertiesHasBeenSet; }
/**
* <p>An object with various properties specific to single-node container-based
* jobs. If the job definition's <code>type</code> parameter is
* <code>container</code>, then you must specify either
* <code>containerProperties</code> or <code>nodeProperties</code>.</p>
*/
inline void SetContainerProperties(const ContainerProperties& value) { m_containerPropertiesHasBeenSet = true; m_containerProperties = value; }
/**
* <p>An object with various properties specific to single-node container-based
* jobs. If the job definition's <code>type</code> parameter is
* <code>container</code>, then you must specify either
* <code>containerProperties</code> or <code>nodeProperties</code>.</p>
*/
inline void SetContainerProperties(ContainerProperties&& value) { m_containerPropertiesHasBeenSet = true; m_containerProperties = std::move(value); }
/**
* <p>An object with various properties specific to single-node container-based
* jobs. If the job definition's <code>type</code> parameter is
* <code>container</code>, then you must specify either
* <code>containerProperties</code> or <code>nodeProperties</code>.</p>
*/
inline RegisterJobDefinitionRequest& WithContainerProperties(const ContainerProperties& value) { SetContainerProperties(value); return *this;}
/**
* <p>An object with various properties specific to single-node container-based
* jobs. If the job definition's <code>type</code> parameter is
* <code>container</code>, then you must specify either
* <code>containerProperties</code> or <code>nodeProperties</code>.</p>
*/
inline RegisterJobDefinitionRequest& WithContainerProperties(ContainerProperties&& value) { SetContainerProperties(std::move(value)); return *this;}
/**
* <p>An object with various properties specific to multi-node parallel jobs. If
* you specify node properties for a job, it becomes a multi-node parallel job. For
* more information, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/multi-node-parallel-jobs.html">Multi-node
* Parallel Jobs</a> in the <i>AWS Batch User Guide</i>. If the job definition's
* <code>type</code> parameter is <code>container</code>, then you must specify
* either <code>containerProperties</code> or <code>nodeProperties</code>.</p>
*/
inline const NodeProperties& GetNodeProperties() const{ return m_nodeProperties; }
/**
* <p>An object with various properties specific to multi-node parallel jobs. If
* you specify node properties for a job, it becomes a multi-node parallel job. For
* more information, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/multi-node-parallel-jobs.html">Multi-node
* Parallel Jobs</a> in the <i>AWS Batch User Guide</i>. If the job definition's
* <code>type</code> parameter is <code>container</code>, then you must specify
* either <code>containerProperties</code> or <code>nodeProperties</code>.</p>
*/
inline bool NodePropertiesHasBeenSet() const { return m_nodePropertiesHasBeenSet; }
/**
* <p>An object with various properties specific to multi-node parallel jobs. If
* you specify node properties for a job, it becomes a multi-node parallel job. For
* more information, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/multi-node-parallel-jobs.html">Multi-node
* Parallel Jobs</a> in the <i>AWS Batch User Guide</i>. If the job definition's
* <code>type</code> parameter is <code>container</code>, then you must specify
* either <code>containerProperties</code> or <code>nodeProperties</code>.</p>
*/
inline void SetNodeProperties(const NodeProperties& value) { m_nodePropertiesHasBeenSet = true; m_nodeProperties = value; }
/**
* <p>An object with various properties specific to multi-node parallel jobs. If
* you specify node properties for a job, it becomes a multi-node parallel job. For
* more information, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/multi-node-parallel-jobs.html">Multi-node
* Parallel Jobs</a> in the <i>AWS Batch User Guide</i>. If the job definition's
* <code>type</code> parameter is <code>container</code>, then you must specify
* either <code>containerProperties</code> or <code>nodeProperties</code>.</p>
*/
inline void SetNodeProperties(NodeProperties&& value) { m_nodePropertiesHasBeenSet = true; m_nodeProperties = std::move(value); }
/**
* <p>An object with various properties specific to multi-node parallel jobs. If
* you specify node properties for a job, it becomes a multi-node parallel job. For
* more information, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/multi-node-parallel-jobs.html">Multi-node
* Parallel Jobs</a> in the <i>AWS Batch User Guide</i>. If the job definition's
* <code>type</code> parameter is <code>container</code>, then you must specify
* either <code>containerProperties</code> or <code>nodeProperties</code>.</p>
*/
inline RegisterJobDefinitionRequest& WithNodeProperties(const NodeProperties& value) { SetNodeProperties(value); return *this;}
/**
* <p>An object with various properties specific to multi-node parallel jobs. If
* you specify node properties for a job, it becomes a multi-node parallel job. For
* more information, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/multi-node-parallel-jobs.html">Multi-node
* Parallel Jobs</a> in the <i>AWS Batch User Guide</i>. If the job definition's
* <code>type</code> parameter is <code>container</code>, then you must specify
* either <code>containerProperties</code> or <code>nodeProperties</code>.</p>
*/
inline RegisterJobDefinitionRequest& WithNodeProperties(NodeProperties&& value) { SetNodeProperties(std::move(value)); return *this;}
/**
* <p>The retry strategy to use for failed jobs that are submitted with this job
* definition. Any retry strategy that is specified during a <a>SubmitJob</a>
* operation overrides the retry strategy defined here. If a job is terminated due
* to a timeout, it is not retried.</p>
*/
inline const RetryStrategy& GetRetryStrategy() const{ return m_retryStrategy; }
/**
* <p>The retry strategy to use for failed jobs that are submitted with this job
* definition. Any retry strategy that is specified during a <a>SubmitJob</a>
* operation overrides the retry strategy defined here. If a job is terminated due
* to a timeout, it is not retried.</p>
*/
inline bool RetryStrategyHasBeenSet() const { return m_retryStrategyHasBeenSet; }
/**
* <p>The retry strategy to use for failed jobs that are submitted with this job
* definition. Any retry strategy that is specified during a <a>SubmitJob</a>
* operation overrides the retry strategy defined here. If a job is terminated due
* to a timeout, it is not retried.</p>
*/
inline void SetRetryStrategy(const RetryStrategy& value) { m_retryStrategyHasBeenSet = true; m_retryStrategy = value; }
/**
* <p>The retry strategy to use for failed jobs that are submitted with this job
* definition. Any retry strategy that is specified during a <a>SubmitJob</a>
* operation overrides the retry strategy defined here. If a job is terminated due
* to a timeout, it is not retried.</p>
*/
inline void SetRetryStrategy(RetryStrategy&& value) { m_retryStrategyHasBeenSet = true; m_retryStrategy = std::move(value); }
/**
* <p>The retry strategy to use for failed jobs that are submitted with this job
* definition. Any retry strategy that is specified during a <a>SubmitJob</a>
* operation overrides the retry strategy defined here. If a job is terminated due
* to a timeout, it is not retried.</p>
*/
inline RegisterJobDefinitionRequest& WithRetryStrategy(const RetryStrategy& value) { SetRetryStrategy(value); return *this;}
/**
* <p>The retry strategy to use for failed jobs that are submitted with this job
* definition. Any retry strategy that is specified during a <a>SubmitJob</a>
* operation overrides the retry strategy defined here. If a job is terminated due
* to a timeout, it is not retried.</p>
*/
inline RegisterJobDefinitionRequest& WithRetryStrategy(RetryStrategy&& value) { SetRetryStrategy(std::move(value)); return *this;}
/**
* <p>The timeout configuration for jobs that are submitted with this job
* definition, after which AWS Batch terminates your jobs if they have not
* finished. If a job is terminated due to a timeout, it is not retried. The
* minimum value for the timeout is 60 seconds. Any timeout configuration that is
* specified during a <a>SubmitJob</a> operation overrides the timeout
* configuration defined here. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/job_timeouts.html">Job
* Timeouts</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
*/
inline const JobTimeout& GetTimeout() const{ return m_timeout; }
/**
* <p>The timeout configuration for jobs that are submitted with this job
* definition, after which AWS Batch terminates your jobs if they have not
* finished. If a job is terminated due to a timeout, it is not retried. The
* minimum value for the timeout is 60 seconds. Any timeout configuration that is
* specified during a <a>SubmitJob</a> operation overrides the timeout
* configuration defined here. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/job_timeouts.html">Job
* Timeouts</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
*/
inline bool TimeoutHasBeenSet() const { return m_timeoutHasBeenSet; }
/**
* <p>The timeout configuration for jobs that are submitted with this job
* definition, after which AWS Batch terminates your jobs if they have not
* finished. If a job is terminated due to a timeout, it is not retried. The
* minimum value for the timeout is 60 seconds. Any timeout configuration that is
* specified during a <a>SubmitJob</a> operation overrides the timeout
* configuration defined here. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/job_timeouts.html">Job
* Timeouts</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
*/
inline void SetTimeout(const JobTimeout& value) { m_timeoutHasBeenSet = true; m_timeout = value; }
/**
* <p>The timeout configuration for jobs that are submitted with this job
* definition, after which AWS Batch terminates your jobs if they have not
* finished. If a job is terminated due to a timeout, it is not retried. The
* minimum value for the timeout is 60 seconds. Any timeout configuration that is
* specified during a <a>SubmitJob</a> operation overrides the timeout
* configuration defined here. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/job_timeouts.html">Job
* Timeouts</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
*/
inline void SetTimeout(JobTimeout&& value) { m_timeoutHasBeenSet = true; m_timeout = std::move(value); }
/**
* <p>The timeout configuration for jobs that are submitted with this job
* definition, after which AWS Batch terminates your jobs if they have not
* finished. If a job is terminated due to a timeout, it is not retried. The
* minimum value for the timeout is 60 seconds. Any timeout configuration that is
* specified during a <a>SubmitJob</a> operation overrides the timeout
* configuration defined here. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/job_timeouts.html">Job
* Timeouts</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
*/
inline RegisterJobDefinitionRequest& WithTimeout(const JobTimeout& value) { SetTimeout(value); return *this;}
/**
* <p>The timeout configuration for jobs that are submitted with this job
* definition, after which AWS Batch terminates your jobs if they have not
* finished. If a job is terminated due to a timeout, it is not retried. The
* minimum value for the timeout is 60 seconds. Any timeout configuration that is
* specified during a <a>SubmitJob</a> operation overrides the timeout
* configuration defined here. For more information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/job_timeouts.html">Job
* Timeouts</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
*/
inline RegisterJobDefinitionRequest& WithTimeout(JobTimeout&& value) { SetTimeout(std::move(value)); return *this;}
private:
Aws::String m_jobDefinitionName;
bool m_jobDefinitionNameHasBeenSet;
JobDefinitionType m_type;
bool m_typeHasBeenSet;
Aws::Map<Aws::String, Aws::String> m_parameters;
bool m_parametersHasBeenSet;
ContainerProperties m_containerProperties;
bool m_containerPropertiesHasBeenSet;
NodeProperties m_nodeProperties;
bool m_nodePropertiesHasBeenSet;
RetryStrategy m_retryStrategy;
bool m_retryStrategyHasBeenSet;
JobTimeout m_timeout;
bool m_timeoutHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,133 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
class AWS_BATCH_API RegisterJobDefinitionResult
{
public:
RegisterJobDefinitionResult();
RegisterJobDefinitionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
RegisterJobDefinitionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The name of the job definition.</p>
*/
inline const Aws::String& GetJobDefinitionName() const{ return m_jobDefinitionName; }
/**
* <p>The name of the job definition.</p>
*/
inline void SetJobDefinitionName(const Aws::String& value) { m_jobDefinitionName = value; }
/**
* <p>The name of the job definition.</p>
*/
inline void SetJobDefinitionName(Aws::String&& value) { m_jobDefinitionName = std::move(value); }
/**
* <p>The name of the job definition.</p>
*/
inline void SetJobDefinitionName(const char* value) { m_jobDefinitionName.assign(value); }
/**
* <p>The name of the job definition.</p>
*/
inline RegisterJobDefinitionResult& WithJobDefinitionName(const Aws::String& value) { SetJobDefinitionName(value); return *this;}
/**
* <p>The name of the job definition.</p>
*/
inline RegisterJobDefinitionResult& WithJobDefinitionName(Aws::String&& value) { SetJobDefinitionName(std::move(value)); return *this;}
/**
* <p>The name of the job definition.</p>
*/
inline RegisterJobDefinitionResult& WithJobDefinitionName(const char* value) { SetJobDefinitionName(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the job definition.</p>
*/
inline const Aws::String& GetJobDefinitionArn() const{ return m_jobDefinitionArn; }
/**
* <p>The Amazon Resource Name (ARN) of the job definition.</p>
*/
inline void SetJobDefinitionArn(const Aws::String& value) { m_jobDefinitionArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the job definition.</p>
*/
inline void SetJobDefinitionArn(Aws::String&& value) { m_jobDefinitionArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the job definition.</p>
*/
inline void SetJobDefinitionArn(const char* value) { m_jobDefinitionArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the job definition.</p>
*/
inline RegisterJobDefinitionResult& WithJobDefinitionArn(const Aws::String& value) { SetJobDefinitionArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the job definition.</p>
*/
inline RegisterJobDefinitionResult& WithJobDefinitionArn(Aws::String&& value) { SetJobDefinitionArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the job definition.</p>
*/
inline RegisterJobDefinitionResult& WithJobDefinitionArn(const char* value) { SetJobDefinitionArn(value); return *this;}
/**
* <p>The revision of the job definition.</p>
*/
inline int GetRevision() const{ return m_revision; }
/**
* <p>The revision of the job definition.</p>
*/
inline void SetRevision(int value) { m_revision = value; }
/**
* <p>The revision of the job definition.</p>
*/
inline RegisterJobDefinitionResult& WithRevision(int value) { SetRevision(value); return *this;}
private:
Aws::String m_jobDefinitionName;
Aws::String m_jobDefinitionArn;
int m_revision;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,146 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/batch/model/ResourceType.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>The type and amount of a resource to assign to a container. Currently, the
* only supported resource type is <code>GPU</code>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ResourceRequirement">AWS
* API Reference</a></p>
*/
class AWS_BATCH_API ResourceRequirement
{
public:
ResourceRequirement();
ResourceRequirement(Aws::Utils::Json::JsonView jsonValue);
ResourceRequirement& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The number of physical GPUs to reserve for the container. The number of GPUs
* reserved for all containers in a job should not exceed the number of available
* GPUs on the compute resource that the job is launched on.</p>
*/
inline const Aws::String& GetValue() const{ return m_value; }
/**
* <p>The number of physical GPUs to reserve for the container. The number of GPUs
* reserved for all containers in a job should not exceed the number of available
* GPUs on the compute resource that the job is launched on.</p>
*/
inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; }
/**
* <p>The number of physical GPUs to reserve for the container. The number of GPUs
* reserved for all containers in a job should not exceed the number of available
* GPUs on the compute resource that the job is launched on.</p>
*/
inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; }
/**
* <p>The number of physical GPUs to reserve for the container. The number of GPUs
* reserved for all containers in a job should not exceed the number of available
* GPUs on the compute resource that the job is launched on.</p>
*/
inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); }
/**
* <p>The number of physical GPUs to reserve for the container. The number of GPUs
* reserved for all containers in a job should not exceed the number of available
* GPUs on the compute resource that the job is launched on.</p>
*/
inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); }
/**
* <p>The number of physical GPUs to reserve for the container. The number of GPUs
* reserved for all containers in a job should not exceed the number of available
* GPUs on the compute resource that the job is launched on.</p>
*/
inline ResourceRequirement& WithValue(const Aws::String& value) { SetValue(value); return *this;}
/**
* <p>The number of physical GPUs to reserve for the container. The number of GPUs
* reserved for all containers in a job should not exceed the number of available
* GPUs on the compute resource that the job is launched on.</p>
*/
inline ResourceRequirement& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;}
/**
* <p>The number of physical GPUs to reserve for the container. The number of GPUs
* reserved for all containers in a job should not exceed the number of available
* GPUs on the compute resource that the job is launched on.</p>
*/
inline ResourceRequirement& WithValue(const char* value) { SetValue(value); return *this;}
/**
* <p>The type of resource to assign to a container. Currently, the only supported
* resource type is <code>GPU</code>.</p>
*/
inline const ResourceType& GetType() const{ return m_type; }
/**
* <p>The type of resource to assign to a container. Currently, the only supported
* resource type is <code>GPU</code>.</p>
*/
inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
/**
* <p>The type of resource to assign to a container. Currently, the only supported
* resource type is <code>GPU</code>.</p>
*/
inline void SetType(const ResourceType& value) { m_typeHasBeenSet = true; m_type = value; }
/**
* <p>The type of resource to assign to a container. Currently, the only supported
* resource type is <code>GPU</code>.</p>
*/
inline void SetType(ResourceType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
/**
* <p>The type of resource to assign to a container. Currently, the only supported
* resource type is <code>GPU</code>.</p>
*/
inline ResourceRequirement& WithType(const ResourceType& value) { SetType(value); return *this;}
/**
* <p>The type of resource to assign to a container. Currently, the only supported
* resource type is <code>GPU</code>.</p>
*/
inline ResourceRequirement& WithType(ResourceType&& value) { SetType(std::move(value)); return *this;}
private:
Aws::String m_value;
bool m_valueHasBeenSet;
ResourceType m_type;
bool m_typeHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,30 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace Batch
{
namespace Model
{
enum class ResourceType
{
NOT_SET,
GPU
};
namespace ResourceTypeMapper
{
AWS_BATCH_API ResourceType GetResourceTypeForName(const Aws::String& name);
AWS_BATCH_API Aws::String GetNameForResourceType(ResourceType value);
} // namespace ResourceTypeMapper
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,78 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>The retry strategy associated with a job.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/RetryStrategy">AWS
* API Reference</a></p>
*/
class AWS_BATCH_API RetryStrategy
{
public:
RetryStrategy();
RetryStrategy(Aws::Utils::Json::JsonView jsonValue);
RetryStrategy& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The number of times to move a job to the <code>RUNNABLE</code> status. You
* may specify between 1 and 10 attempts. If the value of <code>attempts</code> is
* greater than one, the job is retried on failure the same number of attempts as
* the value.</p>
*/
inline int GetAttempts() const{ return m_attempts; }
/**
* <p>The number of times to move a job to the <code>RUNNABLE</code> status. You
* may specify between 1 and 10 attempts. If the value of <code>attempts</code> is
* greater than one, the job is retried on failure the same number of attempts as
* the value.</p>
*/
inline bool AttemptsHasBeenSet() const { return m_attemptsHasBeenSet; }
/**
* <p>The number of times to move a job to the <code>RUNNABLE</code> status. You
* may specify between 1 and 10 attempts. If the value of <code>attempts</code> is
* greater than one, the job is retried on failure the same number of attempts as
* the value.</p>
*/
inline void SetAttempts(int value) { m_attemptsHasBeenSet = true; m_attempts = value; }
/**
* <p>The number of times to move a job to the <code>RUNNABLE</code> status. You
* may specify between 1 and 10 attempts. If the value of <code>attempts</code> is
* greater than one, the job is retried on failure the same number of attempts as
* the value.</p>
*/
inline RetryStrategy& WithAttempts(int value) { SetAttempts(value); return *this;}
private:
int m_attempts;
bool m_attemptsHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,723 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/batch/BatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/batch/model/ArrayProperties.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/batch/model/ContainerOverrides.h>
#include <aws/batch/model/NodeOverrides.h>
#include <aws/batch/model/RetryStrategy.h>
#include <aws/batch/model/JobTimeout.h>
#include <aws/batch/model/JobDependency.h>
#include <utility>
namespace Aws
{
namespace Batch
{
namespace Model
{
/**
*/
class AWS_BATCH_API SubmitJobRequest : public BatchRequest
{
public:
SubmitJobRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "SubmitJob"; }
Aws::String SerializePayload() const override;
/**
* <p>The name of the job. The first character must be alphanumeric, and up to 128
* letters (uppercase and lowercase), numbers, hyphens, and underscores are
* allowed.</p>
*/
inline const Aws::String& GetJobName() const{ return m_jobName; }
/**
* <p>The name of the job. The first character must be alphanumeric, and up to 128
* letters (uppercase and lowercase), numbers, hyphens, and underscores are
* allowed.</p>
*/
inline bool JobNameHasBeenSet() const { return m_jobNameHasBeenSet; }
/**
* <p>The name of the job. The first character must be alphanumeric, and up to 128
* letters (uppercase and lowercase), numbers, hyphens, and underscores are
* allowed.</p>
*/
inline void SetJobName(const Aws::String& value) { m_jobNameHasBeenSet = true; m_jobName = value; }
/**
* <p>The name of the job. The first character must be alphanumeric, and up to 128
* letters (uppercase and lowercase), numbers, hyphens, and underscores are
* allowed.</p>
*/
inline void SetJobName(Aws::String&& value) { m_jobNameHasBeenSet = true; m_jobName = std::move(value); }
/**
* <p>The name of the job. The first character must be alphanumeric, and up to 128
* letters (uppercase and lowercase), numbers, hyphens, and underscores are
* allowed.</p>
*/
inline void SetJobName(const char* value) { m_jobNameHasBeenSet = true; m_jobName.assign(value); }
/**
* <p>The name of the job. The first character must be alphanumeric, and up to 128
* letters (uppercase and lowercase), numbers, hyphens, and underscores are
* allowed.</p>
*/
inline SubmitJobRequest& WithJobName(const Aws::String& value) { SetJobName(value); return *this;}
/**
* <p>The name of the job. The first character must be alphanumeric, and up to 128
* letters (uppercase and lowercase), numbers, hyphens, and underscores are
* allowed.</p>
*/
inline SubmitJobRequest& WithJobName(Aws::String&& value) { SetJobName(std::move(value)); return *this;}
/**
* <p>The name of the job. The first character must be alphanumeric, and up to 128
* letters (uppercase and lowercase), numbers, hyphens, and underscores are
* allowed.</p>
*/
inline SubmitJobRequest& WithJobName(const char* value) { SetJobName(value); return *this;}
/**
* <p>The job queue into which the job is submitted. You can specify either the
* name or the Amazon Resource Name (ARN) of the queue.</p>
*/
inline const Aws::String& GetJobQueue() const{ return m_jobQueue; }
/**
* <p>The job queue into which the job is submitted. You can specify either the
* name or the Amazon Resource Name (ARN) of the queue.</p>
*/
inline bool JobQueueHasBeenSet() const { return m_jobQueueHasBeenSet; }
/**
* <p>The job queue into which the job is submitted. You can specify either the
* name or the Amazon Resource Name (ARN) of the queue.</p>
*/
inline void SetJobQueue(const Aws::String& value) { m_jobQueueHasBeenSet = true; m_jobQueue = value; }
/**
* <p>The job queue into which the job is submitted. You can specify either the
* name or the Amazon Resource Name (ARN) of the queue.</p>
*/
inline void SetJobQueue(Aws::String&& value) { m_jobQueueHasBeenSet = true; m_jobQueue = std::move(value); }
/**
* <p>The job queue into which the job is submitted. You can specify either the
* name or the Amazon Resource Name (ARN) of the queue.</p>
*/
inline void SetJobQueue(const char* value) { m_jobQueueHasBeenSet = true; m_jobQueue.assign(value); }
/**
* <p>The job queue into which the job is submitted. You can specify either the
* name or the Amazon Resource Name (ARN) of the queue.</p>
*/
inline SubmitJobRequest& WithJobQueue(const Aws::String& value) { SetJobQueue(value); return *this;}
/**
* <p>The job queue into which the job is submitted. You can specify either the
* name or the Amazon Resource Name (ARN) of the queue.</p>
*/
inline SubmitJobRequest& WithJobQueue(Aws::String&& value) { SetJobQueue(std::move(value)); return *this;}
/**
* <p>The job queue into which the job is submitted. You can specify either the
* name or the Amazon Resource Name (ARN) of the queue.</p>
*/
inline SubmitJobRequest& WithJobQueue(const char* value) { SetJobQueue(value); return *this;}
/**
* <p>The array properties for the submitted job, such as the size of the array.
* The array size can be between 2 and 10,000. If you specify array properties for
* a job, it becomes an array job. For more information, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/array_jobs.html">Array
* Jobs</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline const ArrayProperties& GetArrayProperties() const{ return m_arrayProperties; }
/**
* <p>The array properties for the submitted job, such as the size of the array.
* The array size can be between 2 and 10,000. If you specify array properties for
* a job, it becomes an array job. For more information, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/array_jobs.html">Array
* Jobs</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline bool ArrayPropertiesHasBeenSet() const { return m_arrayPropertiesHasBeenSet; }
/**
* <p>The array properties for the submitted job, such as the size of the array.
* The array size can be between 2 and 10,000. If you specify array properties for
* a job, it becomes an array job. For more information, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/array_jobs.html">Array
* Jobs</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline void SetArrayProperties(const ArrayProperties& value) { m_arrayPropertiesHasBeenSet = true; m_arrayProperties = value; }
/**
* <p>The array properties for the submitted job, such as the size of the array.
* The array size can be between 2 and 10,000. If you specify array properties for
* a job, it becomes an array job. For more information, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/array_jobs.html">Array
* Jobs</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline void SetArrayProperties(ArrayProperties&& value) { m_arrayPropertiesHasBeenSet = true; m_arrayProperties = std::move(value); }
/**
* <p>The array properties for the submitted job, such as the size of the array.
* The array size can be between 2 and 10,000. If you specify array properties for
* a job, it becomes an array job. For more information, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/array_jobs.html">Array
* Jobs</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline SubmitJobRequest& WithArrayProperties(const ArrayProperties& value) { SetArrayProperties(value); return *this;}
/**
* <p>The array properties for the submitted job, such as the size of the array.
* The array size can be between 2 and 10,000. If you specify array properties for
* a job, it becomes an array job. For more information, see <a
* href="https://docs.aws.amazon.com/batch/latest/userguide/array_jobs.html">Array
* Jobs</a> in the <i>AWS Batch User Guide</i>.</p>
*/
inline SubmitJobRequest& WithArrayProperties(ArrayProperties&& value) { SetArrayProperties(std::move(value)); return *this;}
/**
* <p>A list of dependencies for the job. A job can depend upon a maximum of 20
* jobs. You can specify a <code>SEQUENTIAL</code> type dependency without
* specifying a job ID for array jobs so that each child array job completes
* sequentially, starting at index 0. You can also specify an <code>N_TO_N</code>
* type dependency with a job ID for array jobs. In that case, each index child of
* this job must wait for the corresponding index child of each dependency to
* complete before it can begin.</p>
*/
inline const Aws::Vector<JobDependency>& GetDependsOn() const{ return m_dependsOn; }
/**
* <p>A list of dependencies for the job. A job can depend upon a maximum of 20
* jobs. You can specify a <code>SEQUENTIAL</code> type dependency without
* specifying a job ID for array jobs so that each child array job completes
* sequentially, starting at index 0. You can also specify an <code>N_TO_N</code>
* type dependency with a job ID for array jobs. In that case, each index child of
* this job must wait for the corresponding index child of each dependency to
* complete before it can begin.</p>
*/
inline bool DependsOnHasBeenSet() const { return m_dependsOnHasBeenSet; }
/**
* <p>A list of dependencies for the job. A job can depend upon a maximum of 20
* jobs. You can specify a <code>SEQUENTIAL</code> type dependency without
* specifying a job ID for array jobs so that each child array job completes
* sequentially, starting at index 0. You can also specify an <code>N_TO_N</code>
* type dependency with a job ID for array jobs. In that case, each index child of
* this job must wait for the corresponding index child of each dependency to
* complete before it can begin.</p>
*/
inline void SetDependsOn(const Aws::Vector<JobDependency>& value) { m_dependsOnHasBeenSet = true; m_dependsOn = value; }
/**
* <p>A list of dependencies for the job. A job can depend upon a maximum of 20
* jobs. You can specify a <code>SEQUENTIAL</code> type dependency without
* specifying a job ID for array jobs so that each child array job completes
* sequentially, starting at index 0. You can also specify an <code>N_TO_N</code>
* type dependency with a job ID for array jobs. In that case, each index child of
* this job must wait for the corresponding index child of each dependency to
* complete before it can begin.</p>
*/
inline void SetDependsOn(Aws::Vector<JobDependency>&& value) { m_dependsOnHasBeenSet = true; m_dependsOn = std::move(value); }
/**
* <p>A list of dependencies for the job. A job can depend upon a maximum of 20
* jobs. You can specify a <code>SEQUENTIAL</code> type dependency without
* specifying a job ID for array jobs so that each child array job completes
* sequentially, starting at index 0. You can also specify an <code>N_TO_N</code>
* type dependency with a job ID for array jobs. In that case, each index child of
* this job must wait for the corresponding index child of each dependency to
* complete before it can begin.</p>
*/
inline SubmitJobRequest& WithDependsOn(const Aws::Vector<JobDependency>& value) { SetDependsOn(value); return *this;}
/**
* <p>A list of dependencies for the job. A job can depend upon a maximum of 20
* jobs. You can specify a <code>SEQUENTIAL</code> type dependency without
* specifying a job ID for array jobs so that each child array job completes
* sequentially, starting at index 0. You can also specify an <code>N_TO_N</code>
* type dependency with a job ID for array jobs. In that case, each index child of
* this job must wait for the corresponding index child of each dependency to
* complete before it can begin.</p>
*/
inline SubmitJobRequest& WithDependsOn(Aws::Vector<JobDependency>&& value) { SetDependsOn(std::move(value)); return *this;}
/**
* <p>A list of dependencies for the job. A job can depend upon a maximum of 20
* jobs. You can specify a <code>SEQUENTIAL</code> type dependency without
* specifying a job ID for array jobs so that each child array job completes
* sequentially, starting at index 0. You can also specify an <code>N_TO_N</code>
* type dependency with a job ID for array jobs. In that case, each index child of
* this job must wait for the corresponding index child of each dependency to
* complete before it can begin.</p>
*/
inline SubmitJobRequest& AddDependsOn(const JobDependency& value) { m_dependsOnHasBeenSet = true; m_dependsOn.push_back(value); return *this; }
/**
* <p>A list of dependencies for the job. A job can depend upon a maximum of 20
* jobs. You can specify a <code>SEQUENTIAL</code> type dependency without
* specifying a job ID for array jobs so that each child array job completes
* sequentially, starting at index 0. You can also specify an <code>N_TO_N</code>
* type dependency with a job ID for array jobs. In that case, each index child of
* this job must wait for the corresponding index child of each dependency to
* complete before it can begin.</p>
*/
inline SubmitJobRequest& AddDependsOn(JobDependency&& value) { m_dependsOnHasBeenSet = true; m_dependsOn.push_back(std::move(value)); return *this; }
/**
* <p>The job definition used by this job. This value can be one of
* <code>name</code>, <code>name:revision</code>, or the Amazon Resource Name (ARN)
* for the job definition. If <code>name</code> is specified without a revision
* then the latest active revision is used.</p>
*/
inline const Aws::String& GetJobDefinition() const{ return m_jobDefinition; }
/**
* <p>The job definition used by this job. This value can be one of
* <code>name</code>, <code>name:revision</code>, or the Amazon Resource Name (ARN)
* for the job definition. If <code>name</code> is specified without a revision
* then the latest active revision is used.</p>
*/
inline bool JobDefinitionHasBeenSet() const { return m_jobDefinitionHasBeenSet; }
/**
* <p>The job definition used by this job. This value can be one of
* <code>name</code>, <code>name:revision</code>, or the Amazon Resource Name (ARN)
* for the job definition. If <code>name</code> is specified without a revision
* then the latest active revision is used.</p>
*/
inline void SetJobDefinition(const Aws::String& value) { m_jobDefinitionHasBeenSet = true; m_jobDefinition = value; }
/**
* <p>The job definition used by this job. This value can be one of
* <code>name</code>, <code>name:revision</code>, or the Amazon Resource Name (ARN)
* for the job definition. If <code>name</code> is specified without a revision
* then the latest active revision is used.</p>
*/
inline void SetJobDefinition(Aws::String&& value) { m_jobDefinitionHasBeenSet = true; m_jobDefinition = std::move(value); }
/**
* <p>The job definition used by this job. This value can be one of
* <code>name</code>, <code>name:revision</code>, or the Amazon Resource Name (ARN)
* for the job definition. If <code>name</code> is specified without a revision
* then the latest active revision is used.</p>
*/
inline void SetJobDefinition(const char* value) { m_jobDefinitionHasBeenSet = true; m_jobDefinition.assign(value); }
/**
* <p>The job definition used by this job. This value can be one of
* <code>name</code>, <code>name:revision</code>, or the Amazon Resource Name (ARN)
* for the job definition. If <code>name</code> is specified without a revision
* then the latest active revision is used.</p>
*/
inline SubmitJobRequest& WithJobDefinition(const Aws::String& value) { SetJobDefinition(value); return *this;}
/**
* <p>The job definition used by this job. This value can be one of
* <code>name</code>, <code>name:revision</code>, or the Amazon Resource Name (ARN)
* for the job definition. If <code>name</code> is specified without a revision
* then the latest active revision is used.</p>
*/
inline SubmitJobRequest& WithJobDefinition(Aws::String&& value) { SetJobDefinition(std::move(value)); return *this;}
/**
* <p>The job definition used by this job. This value can be one of
* <code>name</code>, <code>name:revision</code>, or the Amazon Resource Name (ARN)
* for the job definition. If <code>name</code> is specified without a revision
* then the latest active revision is used.</p>
*/
inline SubmitJobRequest& WithJobDefinition(const char* value) { SetJobDefinition(value); return *this;}
/**
* <p>Additional parameters passed to the job that replace parameter substitution
* placeholders that are set in the job definition. Parameters are specified as a
* key and value pair mapping. Parameters in a <code>SubmitJob</code> request
* override any corresponding parameter defaults from the job definition.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetParameters() const{ return m_parameters; }
/**
* <p>Additional parameters passed to the job that replace parameter substitution
* placeholders that are set in the job definition. Parameters are specified as a
* key and value pair mapping. Parameters in a <code>SubmitJob</code> request
* override any corresponding parameter defaults from the job definition.</p>
*/
inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
/**
* <p>Additional parameters passed to the job that replace parameter substitution
* placeholders that are set in the job definition. Parameters are specified as a
* key and value pair mapping. Parameters in a <code>SubmitJob</code> request
* override any corresponding parameter defaults from the job definition.</p>
*/
inline void SetParameters(const Aws::Map<Aws::String, Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters = value; }
/**
* <p>Additional parameters passed to the job that replace parameter substitution
* placeholders that are set in the job definition. Parameters are specified as a
* key and value pair mapping. Parameters in a <code>SubmitJob</code> request
* override any corresponding parameter defaults from the job definition.</p>
*/
inline void SetParameters(Aws::Map<Aws::String, Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); }
/**
* <p>Additional parameters passed to the job that replace parameter substitution
* placeholders that are set in the job definition. Parameters are specified as a
* key and value pair mapping. Parameters in a <code>SubmitJob</code> request
* override any corresponding parameter defaults from the job definition.</p>
*/
inline SubmitJobRequest& WithParameters(const Aws::Map<Aws::String, Aws::String>& value) { SetParameters(value); return *this;}
/**
* <p>Additional parameters passed to the job that replace parameter substitution
* placeholders that are set in the job definition. Parameters are specified as a
* key and value pair mapping. Parameters in a <code>SubmitJob</code> request
* override any corresponding parameter defaults from the job definition.</p>
*/
inline SubmitJobRequest& WithParameters(Aws::Map<Aws::String, Aws::String>&& value) { SetParameters(std::move(value)); return *this;}
/**
* <p>Additional parameters passed to the job that replace parameter substitution
* placeholders that are set in the job definition. Parameters are specified as a
* key and value pair mapping. Parameters in a <code>SubmitJob</code> request
* override any corresponding parameter defaults from the job definition.</p>
*/
inline SubmitJobRequest& AddParameters(const Aws::String& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
/**
* <p>Additional parameters passed to the job that replace parameter substitution
* placeholders that are set in the job definition. Parameters are specified as a
* key and value pair mapping. Parameters in a <code>SubmitJob</code> request
* override any corresponding parameter defaults from the job definition.</p>
*/
inline SubmitJobRequest& AddParameters(Aws::String&& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
/**
* <p>Additional parameters passed to the job that replace parameter substitution
* placeholders that are set in the job definition. Parameters are specified as a
* key and value pair mapping. Parameters in a <code>SubmitJob</code> request
* override any corresponding parameter defaults from the job definition.</p>
*/
inline SubmitJobRequest& AddParameters(const Aws::String& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
/**
* <p>Additional parameters passed to the job that replace parameter substitution
* placeholders that are set in the job definition. Parameters are specified as a
* key and value pair mapping. Parameters in a <code>SubmitJob</code> request
* override any corresponding parameter defaults from the job definition.</p>
*/
inline SubmitJobRequest& AddParameters(Aws::String&& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; }
/**
* <p>Additional parameters passed to the job that replace parameter substitution
* placeholders that are set in the job definition. Parameters are specified as a
* key and value pair mapping. Parameters in a <code>SubmitJob</code> request
* override any corresponding parameter defaults from the job definition.</p>
*/
inline SubmitJobRequest& AddParameters(const char* key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
/**
* <p>Additional parameters passed to the job that replace parameter substitution
* placeholders that are set in the job definition. Parameters are specified as a
* key and value pair mapping. Parameters in a <code>SubmitJob</code> request
* override any corresponding parameter defaults from the job definition.</p>
*/
inline SubmitJobRequest& AddParameters(Aws::String&& key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
/**
* <p>Additional parameters passed to the job that replace parameter substitution
* placeholders that are set in the job definition. Parameters are specified as a
* key and value pair mapping. Parameters in a <code>SubmitJob</code> request
* override any corresponding parameter defaults from the job definition.</p>
*/
inline SubmitJobRequest& AddParameters(const char* key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
/**
* <p>A list of container overrides in JSON format that specify the name of a
* container in the specified job definition and the overrides it should receive.
* You can override the default command for a container (that is specified in the
* job definition or the Docker image) with a <code>command</code> override. You
* can also override existing environment variables (that are specified in the job
* definition or Docker image) on a container or add new environment variables to
* it with an <code>environment</code> override.</p>
*/
inline const ContainerOverrides& GetContainerOverrides() const{ return m_containerOverrides; }
/**
* <p>A list of container overrides in JSON format that specify the name of a
* container in the specified job definition and the overrides it should receive.
* You can override the default command for a container (that is specified in the
* job definition or the Docker image) with a <code>command</code> override. You
* can also override existing environment variables (that are specified in the job
* definition or Docker image) on a container or add new environment variables to
* it with an <code>environment</code> override.</p>
*/
inline bool ContainerOverridesHasBeenSet() const { return m_containerOverridesHasBeenSet; }
/**
* <p>A list of container overrides in JSON format that specify the name of a
* container in the specified job definition and the overrides it should receive.
* You can override the default command for a container (that is specified in the
* job definition or the Docker image) with a <code>command</code> override. You
* can also override existing environment variables (that are specified in the job
* definition or Docker image) on a container or add new environment variables to
* it with an <code>environment</code> override.</p>
*/
inline void SetContainerOverrides(const ContainerOverrides& value) { m_containerOverridesHasBeenSet = true; m_containerOverrides = value; }
/**
* <p>A list of container overrides in JSON format that specify the name of a
* container in the specified job definition and the overrides it should receive.
* You can override the default command for a container (that is specified in the
* job definition or the Docker image) with a <code>command</code> override. You
* can also override existing environment variables (that are specified in the job
* definition or Docker image) on a container or add new environment variables to
* it with an <code>environment</code> override.</p>
*/
inline void SetContainerOverrides(ContainerOverrides&& value) { m_containerOverridesHasBeenSet = true; m_containerOverrides = std::move(value); }
/**
* <p>A list of container overrides in JSON format that specify the name of a
* container in the specified job definition and the overrides it should receive.
* You can override the default command for a container (that is specified in the
* job definition or the Docker image) with a <code>command</code> override. You
* can also override existing environment variables (that are specified in the job
* definition or Docker image) on a container or add new environment variables to
* it with an <code>environment</code> override.</p>
*/
inline SubmitJobRequest& WithContainerOverrides(const ContainerOverrides& value) { SetContainerOverrides(value); return *this;}
/**
* <p>A list of container overrides in JSON format that specify the name of a
* container in the specified job definition and the overrides it should receive.
* You can override the default command for a container (that is specified in the
* job definition or the Docker image) with a <code>command</code> override. You
* can also override existing environment variables (that are specified in the job
* definition or Docker image) on a container or add new environment variables to
* it with an <code>environment</code> override.</p>
*/
inline SubmitJobRequest& WithContainerOverrides(ContainerOverrides&& value) { SetContainerOverrides(std::move(value)); return *this;}
/**
* <p>A list of node overrides in JSON format that specify the node range to target
* and the container overrides for that node range.</p>
*/
inline const NodeOverrides& GetNodeOverrides() const{ return m_nodeOverrides; }
/**
* <p>A list of node overrides in JSON format that specify the node range to target
* and the container overrides for that node range.</p>
*/
inline bool NodeOverridesHasBeenSet() const { return m_nodeOverridesHasBeenSet; }
/**
* <p>A list of node overrides in JSON format that specify the node range to target
* and the container overrides for that node range.</p>
*/
inline void SetNodeOverrides(const NodeOverrides& value) { m_nodeOverridesHasBeenSet = true; m_nodeOverrides = value; }
/**
* <p>A list of node overrides in JSON format that specify the node range to target
* and the container overrides for that node range.</p>
*/
inline void SetNodeOverrides(NodeOverrides&& value) { m_nodeOverridesHasBeenSet = true; m_nodeOverrides = std::move(value); }
/**
* <p>A list of node overrides in JSON format that specify the node range to target
* and the container overrides for that node range.</p>
*/
inline SubmitJobRequest& WithNodeOverrides(const NodeOverrides& value) { SetNodeOverrides(value); return *this;}
/**
* <p>A list of node overrides in JSON format that specify the node range to target
* and the container overrides for that node range.</p>
*/
inline SubmitJobRequest& WithNodeOverrides(NodeOverrides&& value) { SetNodeOverrides(std::move(value)); return *this;}
/**
* <p>The retry strategy to use for failed jobs from this <a>SubmitJob</a>
* operation. When a retry strategy is specified here, it overrides the retry
* strategy defined in the job definition.</p>
*/
inline const RetryStrategy& GetRetryStrategy() const{ return m_retryStrategy; }
/**
* <p>The retry strategy to use for failed jobs from this <a>SubmitJob</a>
* operation. When a retry strategy is specified here, it overrides the retry
* strategy defined in the job definition.</p>
*/
inline bool RetryStrategyHasBeenSet() const { return m_retryStrategyHasBeenSet; }
/**
* <p>The retry strategy to use for failed jobs from this <a>SubmitJob</a>
* operation. When a retry strategy is specified here, it overrides the retry
* strategy defined in the job definition.</p>
*/
inline void SetRetryStrategy(const RetryStrategy& value) { m_retryStrategyHasBeenSet = true; m_retryStrategy = value; }
/**
* <p>The retry strategy to use for failed jobs from this <a>SubmitJob</a>
* operation. When a retry strategy is specified here, it overrides the retry
* strategy defined in the job definition.</p>
*/
inline void SetRetryStrategy(RetryStrategy&& value) { m_retryStrategyHasBeenSet = true; m_retryStrategy = std::move(value); }
/**
* <p>The retry strategy to use for failed jobs from this <a>SubmitJob</a>
* operation. When a retry strategy is specified here, it overrides the retry
* strategy defined in the job definition.</p>
*/
inline SubmitJobRequest& WithRetryStrategy(const RetryStrategy& value) { SetRetryStrategy(value); return *this;}
/**
* <p>The retry strategy to use for failed jobs from this <a>SubmitJob</a>
* operation. When a retry strategy is specified here, it overrides the retry
* strategy defined in the job definition.</p>
*/
inline SubmitJobRequest& WithRetryStrategy(RetryStrategy&& value) { SetRetryStrategy(std::move(value)); return *this;}
/**
* <p>The timeout configuration for this <a>SubmitJob</a> operation. You can
* specify a timeout duration after which AWS Batch terminates your jobs if they
* have not finished. If a job is terminated due to a timeout, it is not retried.
* The minimum value for the timeout is 60 seconds. This configuration overrides
* any timeout configuration specified in the job definition. For array jobs, child
* jobs have the same timeout configuration as the parent job. For more
* information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/job_timeouts.html">Job
* Timeouts</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
*/
inline const JobTimeout& GetTimeout() const{ return m_timeout; }
/**
* <p>The timeout configuration for this <a>SubmitJob</a> operation. You can
* specify a timeout duration after which AWS Batch terminates your jobs if they
* have not finished. If a job is terminated due to a timeout, it is not retried.
* The minimum value for the timeout is 60 seconds. This configuration overrides
* any timeout configuration specified in the job definition. For array jobs, child
* jobs have the same timeout configuration as the parent job. For more
* information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/job_timeouts.html">Job
* Timeouts</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
*/
inline bool TimeoutHasBeenSet() const { return m_timeoutHasBeenSet; }
/**
* <p>The timeout configuration for this <a>SubmitJob</a> operation. You can
* specify a timeout duration after which AWS Batch terminates your jobs if they
* have not finished. If a job is terminated due to a timeout, it is not retried.
* The minimum value for the timeout is 60 seconds. This configuration overrides
* any timeout configuration specified in the job definition. For array jobs, child
* jobs have the same timeout configuration as the parent job. For more
* information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/job_timeouts.html">Job
* Timeouts</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
*/
inline void SetTimeout(const JobTimeout& value) { m_timeoutHasBeenSet = true; m_timeout = value; }
/**
* <p>The timeout configuration for this <a>SubmitJob</a> operation. You can
* specify a timeout duration after which AWS Batch terminates your jobs if they
* have not finished. If a job is terminated due to a timeout, it is not retried.
* The minimum value for the timeout is 60 seconds. This configuration overrides
* any timeout configuration specified in the job definition. For array jobs, child
* jobs have the same timeout configuration as the parent job. For more
* information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/job_timeouts.html">Job
* Timeouts</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
*/
inline void SetTimeout(JobTimeout&& value) { m_timeoutHasBeenSet = true; m_timeout = std::move(value); }
/**
* <p>The timeout configuration for this <a>SubmitJob</a> operation. You can
* specify a timeout duration after which AWS Batch terminates your jobs if they
* have not finished. If a job is terminated due to a timeout, it is not retried.
* The minimum value for the timeout is 60 seconds. This configuration overrides
* any timeout configuration specified in the job definition. For array jobs, child
* jobs have the same timeout configuration as the parent job. For more
* information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/job_timeouts.html">Job
* Timeouts</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
*/
inline SubmitJobRequest& WithTimeout(const JobTimeout& value) { SetTimeout(value); return *this;}
/**
* <p>The timeout configuration for this <a>SubmitJob</a> operation. You can
* specify a timeout duration after which AWS Batch terminates your jobs if they
* have not finished. If a job is terminated due to a timeout, it is not retried.
* The minimum value for the timeout is 60 seconds. This configuration overrides
* any timeout configuration specified in the job definition. For array jobs, child
* jobs have the same timeout configuration as the parent job. For more
* information, see <a
* href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/job_timeouts.html">Job
* Timeouts</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
*/
inline SubmitJobRequest& WithTimeout(JobTimeout&& value) { SetTimeout(std::move(value)); return *this;}
private:
Aws::String m_jobName;
bool m_jobNameHasBeenSet;
Aws::String m_jobQueue;
bool m_jobQueueHasBeenSet;
ArrayProperties m_arrayProperties;
bool m_arrayPropertiesHasBeenSet;
Aws::Vector<JobDependency> m_dependsOn;
bool m_dependsOnHasBeenSet;
Aws::String m_jobDefinition;
bool m_jobDefinitionHasBeenSet;
Aws::Map<Aws::String, Aws::String> m_parameters;
bool m_parametersHasBeenSet;
ContainerOverrides m_containerOverrides;
bool m_containerOverridesHasBeenSet;
NodeOverrides m_nodeOverrides;
bool m_nodeOverridesHasBeenSet;
RetryStrategy m_retryStrategy;
bool m_retryStrategyHasBeenSet;
JobTimeout m_timeout;
bool m_timeoutHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,115 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
class AWS_BATCH_API SubmitJobResult
{
public:
SubmitJobResult();
SubmitJobResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
SubmitJobResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The name of the job.</p>
*/
inline const Aws::String& GetJobName() const{ return m_jobName; }
/**
* <p>The name of the job.</p>
*/
inline void SetJobName(const Aws::String& value) { m_jobName = value; }
/**
* <p>The name of the job.</p>
*/
inline void SetJobName(Aws::String&& value) { m_jobName = std::move(value); }
/**
* <p>The name of the job.</p>
*/
inline void SetJobName(const char* value) { m_jobName.assign(value); }
/**
* <p>The name of the job.</p>
*/
inline SubmitJobResult& WithJobName(const Aws::String& value) { SetJobName(value); return *this;}
/**
* <p>The name of the job.</p>
*/
inline SubmitJobResult& WithJobName(Aws::String&& value) { SetJobName(std::move(value)); return *this;}
/**
* <p>The name of the job.</p>
*/
inline SubmitJobResult& WithJobName(const char* value) { SetJobName(value); return *this;}
/**
* <p>The unique identifier for the job.</p>
*/
inline const Aws::String& GetJobId() const{ return m_jobId; }
/**
* <p>The unique identifier for the job.</p>
*/
inline void SetJobId(const Aws::String& value) { m_jobId = value; }
/**
* <p>The unique identifier for the job.</p>
*/
inline void SetJobId(Aws::String&& value) { m_jobId = std::move(value); }
/**
* <p>The unique identifier for the job.</p>
*/
inline void SetJobId(const char* value) { m_jobId.assign(value); }
/**
* <p>The unique identifier for the job.</p>
*/
inline SubmitJobResult& WithJobId(const Aws::String& value) { SetJobId(value); return *this;}
/**
* <p>The unique identifier for the job.</p>
*/
inline SubmitJobResult& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;}
/**
* <p>The unique identifier for the job.</p>
*/
inline SubmitJobResult& WithJobId(const char* value) { SetJobId(value); return *this;}
private:
Aws::String m_jobName;
Aws::String m_jobId;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,143 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/batch/BatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Batch
{
namespace Model
{
/**
*/
class AWS_BATCH_API TerminateJobRequest : public BatchRequest
{
public:
TerminateJobRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "TerminateJob"; }
Aws::String SerializePayload() const override;
/**
* <p>The AWS Batch job ID of the job to terminate.</p>
*/
inline const Aws::String& GetJobId() const{ return m_jobId; }
/**
* <p>The AWS Batch job ID of the job to terminate.</p>
*/
inline bool JobIdHasBeenSet() const { return m_jobIdHasBeenSet; }
/**
* <p>The AWS Batch job ID of the job to terminate.</p>
*/
inline void SetJobId(const Aws::String& value) { m_jobIdHasBeenSet = true; m_jobId = value; }
/**
* <p>The AWS Batch job ID of the job to terminate.</p>
*/
inline void SetJobId(Aws::String&& value) { m_jobIdHasBeenSet = true; m_jobId = std::move(value); }
/**
* <p>The AWS Batch job ID of the job to terminate.</p>
*/
inline void SetJobId(const char* value) { m_jobIdHasBeenSet = true; m_jobId.assign(value); }
/**
* <p>The AWS Batch job ID of the job to terminate.</p>
*/
inline TerminateJobRequest& WithJobId(const Aws::String& value) { SetJobId(value); return *this;}
/**
* <p>The AWS Batch job ID of the job to terminate.</p>
*/
inline TerminateJobRequest& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;}
/**
* <p>The AWS Batch job ID of the job to terminate.</p>
*/
inline TerminateJobRequest& WithJobId(const char* value) { SetJobId(value); return *this;}
/**
* <p>A message to attach to the job that explains the reason for canceling it.
* This message is returned by future <a>DescribeJobs</a> operations on the job.
* This message is also recorded in the AWS Batch activity logs.</p>
*/
inline const Aws::String& GetReason() const{ return m_reason; }
/**
* <p>A message to attach to the job that explains the reason for canceling it.
* This message is returned by future <a>DescribeJobs</a> operations on the job.
* This message is also recorded in the AWS Batch activity logs.</p>
*/
inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; }
/**
* <p>A message to attach to the job that explains the reason for canceling it.
* This message is returned by future <a>DescribeJobs</a> operations on the job.
* This message is also recorded in the AWS Batch activity logs.</p>
*/
inline void SetReason(const Aws::String& value) { m_reasonHasBeenSet = true; m_reason = value; }
/**
* <p>A message to attach to the job that explains the reason for canceling it.
* This message is returned by future <a>DescribeJobs</a> operations on the job.
* This message is also recorded in the AWS Batch activity logs.</p>
*/
inline void SetReason(Aws::String&& value) { m_reasonHasBeenSet = true; m_reason = std::move(value); }
/**
* <p>A message to attach to the job that explains the reason for canceling it.
* This message is returned by future <a>DescribeJobs</a> operations on the job.
* This message is also recorded in the AWS Batch activity logs.</p>
*/
inline void SetReason(const char* value) { m_reasonHasBeenSet = true; m_reason.assign(value); }
/**
* <p>A message to attach to the job that explains the reason for canceling it.
* This message is returned by future <a>DescribeJobs</a> operations on the job.
* This message is also recorded in the AWS Batch activity logs.</p>
*/
inline TerminateJobRequest& WithReason(const Aws::String& value) { SetReason(value); return *this;}
/**
* <p>A message to attach to the job that explains the reason for canceling it.
* This message is returned by future <a>DescribeJobs</a> operations on the job.
* This message is also recorded in the AWS Batch activity logs.</p>
*/
inline TerminateJobRequest& WithReason(Aws::String&& value) { SetReason(std::move(value)); return *this;}
/**
* <p>A message to attach to the job that explains the reason for canceling it.
* This message is returned by future <a>DescribeJobs</a> operations on the job.
* This message is also recorded in the AWS Batch activity logs.</p>
*/
inline TerminateJobRequest& WithReason(const char* value) { SetReason(value); return *this;}
private:
Aws::String m_jobId;
bool m_jobIdHasBeenSet;
Aws::String m_reason;
bool m_reasonHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,36 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
class AWS_BATCH_API TerminateJobResult
{
public:
TerminateJobResult();
TerminateJobResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
TerminateJobResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,137 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>The <code>ulimit</code> settings to pass to the container.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/Ulimit">AWS API
* Reference</a></p>
*/
class AWS_BATCH_API Ulimit
{
public:
Ulimit();
Ulimit(Aws::Utils::Json::JsonView jsonValue);
Ulimit& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The hard limit for the <code>ulimit</code> type.</p>
*/
inline int GetHardLimit() const{ return m_hardLimit; }
/**
* <p>The hard limit for the <code>ulimit</code> type.</p>
*/
inline bool HardLimitHasBeenSet() const { return m_hardLimitHasBeenSet; }
/**
* <p>The hard limit for the <code>ulimit</code> type.</p>
*/
inline void SetHardLimit(int value) { m_hardLimitHasBeenSet = true; m_hardLimit = value; }
/**
* <p>The hard limit for the <code>ulimit</code> type.</p>
*/
inline Ulimit& WithHardLimit(int value) { SetHardLimit(value); return *this;}
/**
* <p>The <code>type</code> of the <code>ulimit</code>.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
/**
* <p>The <code>type</code> of the <code>ulimit</code>.</p>
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* <p>The <code>type</code> of the <code>ulimit</code>.</p>
*/
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* <p>The <code>type</code> of the <code>ulimit</code>.</p>
*/
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* <p>The <code>type</code> of the <code>ulimit</code>.</p>
*/
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
/**
* <p>The <code>type</code> of the <code>ulimit</code>.</p>
*/
inline Ulimit& WithName(const Aws::String& value) { SetName(value); return *this;}
/**
* <p>The <code>type</code> of the <code>ulimit</code>.</p>
*/
inline Ulimit& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
/**
* <p>The <code>type</code> of the <code>ulimit</code>.</p>
*/
inline Ulimit& WithName(const char* value) { SetName(value); return *this;}
/**
* <p>The soft limit for the <code>ulimit</code> type.</p>
*/
inline int GetSoftLimit() const{ return m_softLimit; }
/**
* <p>The soft limit for the <code>ulimit</code> type.</p>
*/
inline bool SoftLimitHasBeenSet() const { return m_softLimitHasBeenSet; }
/**
* <p>The soft limit for the <code>ulimit</code> type.</p>
*/
inline void SetSoftLimit(int value) { m_softLimitHasBeenSet = true; m_softLimit = value; }
/**
* <p>The soft limit for the <code>ulimit</code> type.</p>
*/
inline Ulimit& WithSoftLimit(int value) { SetSoftLimit(value); return *this;}
private:
int m_hardLimit;
bool m_hardLimitHasBeenSet;
Aws::String m_name;
bool m_nameHasBeenSet;
int m_softLimit;
bool m_softLimitHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,295 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/batch/BatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/batch/model/CEState.h>
#include <aws/batch/model/ComputeResourceUpdate.h>
#include <utility>
namespace Aws
{
namespace Batch
{
namespace Model
{
/**
*/
class AWS_BATCH_API UpdateComputeEnvironmentRequest : public BatchRequest
{
public:
UpdateComputeEnvironmentRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "UpdateComputeEnvironment"; }
Aws::String SerializePayload() const override;
/**
* <p>The name or full Amazon Resource Name (ARN) of the compute environment to
* update.</p>
*/
inline const Aws::String& GetComputeEnvironment() const{ return m_computeEnvironment; }
/**
* <p>The name or full Amazon Resource Name (ARN) of the compute environment to
* update.</p>
*/
inline bool ComputeEnvironmentHasBeenSet() const { return m_computeEnvironmentHasBeenSet; }
/**
* <p>The name or full Amazon Resource Name (ARN) of the compute environment to
* update.</p>
*/
inline void SetComputeEnvironment(const Aws::String& value) { m_computeEnvironmentHasBeenSet = true; m_computeEnvironment = value; }
/**
* <p>The name or full Amazon Resource Name (ARN) of the compute environment to
* update.</p>
*/
inline void SetComputeEnvironment(Aws::String&& value) { m_computeEnvironmentHasBeenSet = true; m_computeEnvironment = std::move(value); }
/**
* <p>The name or full Amazon Resource Name (ARN) of the compute environment to
* update.</p>
*/
inline void SetComputeEnvironment(const char* value) { m_computeEnvironmentHasBeenSet = true; m_computeEnvironment.assign(value); }
/**
* <p>The name or full Amazon Resource Name (ARN) of the compute environment to
* update.</p>
*/
inline UpdateComputeEnvironmentRequest& WithComputeEnvironment(const Aws::String& value) { SetComputeEnvironment(value); return *this;}
/**
* <p>The name or full Amazon Resource Name (ARN) of the compute environment to
* update.</p>
*/
inline UpdateComputeEnvironmentRequest& WithComputeEnvironment(Aws::String&& value) { SetComputeEnvironment(std::move(value)); return *this;}
/**
* <p>The name or full Amazon Resource Name (ARN) of the compute environment to
* update.</p>
*/
inline UpdateComputeEnvironmentRequest& WithComputeEnvironment(const char* value) { SetComputeEnvironment(value); return *this;}
/**
* <p>The state of the compute environment. Compute environments in the
* <code>ENABLED</code> state can accept jobs from a queue and scale in or out
* automatically based on the workload demand of its associated queues.</p>
*/
inline const CEState& GetState() const{ return m_state; }
/**
* <p>The state of the compute environment. Compute environments in the
* <code>ENABLED</code> state can accept jobs from a queue and scale in or out
* automatically based on the workload demand of its associated queues.</p>
*/
inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
/**
* <p>The state of the compute environment. Compute environments in the
* <code>ENABLED</code> state can accept jobs from a queue and scale in or out
* automatically based on the workload demand of its associated queues.</p>
*/
inline void SetState(const CEState& value) { m_stateHasBeenSet = true; m_state = value; }
/**
* <p>The state of the compute environment. Compute environments in the
* <code>ENABLED</code> state can accept jobs from a queue and scale in or out
* automatically based on the workload demand of its associated queues.</p>
*/
inline void SetState(CEState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); }
/**
* <p>The state of the compute environment. Compute environments in the
* <code>ENABLED</code> state can accept jobs from a queue and scale in or out
* automatically based on the workload demand of its associated queues.</p>
*/
inline UpdateComputeEnvironmentRequest& WithState(const CEState& value) { SetState(value); return *this;}
/**
* <p>The state of the compute environment. Compute environments in the
* <code>ENABLED</code> state can accept jobs from a queue and scale in or out
* automatically based on the workload demand of its associated queues.</p>
*/
inline UpdateComputeEnvironmentRequest& WithState(CEState&& value) { SetState(std::move(value)); return *this;}
/**
* <p>Details of the compute resources managed by the compute environment. Required
* for a managed compute environment.</p>
*/
inline const ComputeResourceUpdate& GetComputeResources() const{ return m_computeResources; }
/**
* <p>Details of the compute resources managed by the compute environment. Required
* for a managed compute environment.</p>
*/
inline bool ComputeResourcesHasBeenSet() const { return m_computeResourcesHasBeenSet; }
/**
* <p>Details of the compute resources managed by the compute environment. Required
* for a managed compute environment.</p>
*/
inline void SetComputeResources(const ComputeResourceUpdate& value) { m_computeResourcesHasBeenSet = true; m_computeResources = value; }
/**
* <p>Details of the compute resources managed by the compute environment. Required
* for a managed compute environment.</p>
*/
inline void SetComputeResources(ComputeResourceUpdate&& value) { m_computeResourcesHasBeenSet = true; m_computeResources = std::move(value); }
/**
* <p>Details of the compute resources managed by the compute environment. Required
* for a managed compute environment.</p>
*/
inline UpdateComputeEnvironmentRequest& WithComputeResources(const ComputeResourceUpdate& value) { SetComputeResources(value); return *this;}
/**
* <p>Details of the compute resources managed by the compute environment. Required
* for a managed compute environment.</p>
*/
inline UpdateComputeEnvironmentRequest& WithComputeResources(ComputeResourceUpdate&& value) { SetComputeResources(std::move(value)); return *this;}
/**
* <p>The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to
* make calls to other AWS services on your behalf.</p> <p>If your specified role
* has a path other than <code>/</code>, then you must either specify the full role
* ARN (this is recommended) or prefix the role name with the path.</p>
* <p>Depending on how you created your AWS Batch service role, its ARN may contain
* the <code>service-role</code> path prefix. When you only specify the name of the
* service role, AWS Batch assumes that your ARN does not use the
* <code>service-role</code> path prefix. Because of this, we recommend that you
* specify the full ARN of your service role when you create compute
* environments.</p>
*/
inline const Aws::String& GetServiceRole() const{ return m_serviceRole; }
/**
* <p>The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to
* make calls to other AWS services on your behalf.</p> <p>If your specified role
* has a path other than <code>/</code>, then you must either specify the full role
* ARN (this is recommended) or prefix the role name with the path.</p>
* <p>Depending on how you created your AWS Batch service role, its ARN may contain
* the <code>service-role</code> path prefix. When you only specify the name of the
* service role, AWS Batch assumes that your ARN does not use the
* <code>service-role</code> path prefix. Because of this, we recommend that you
* specify the full ARN of your service role when you create compute
* environments.</p>
*/
inline bool ServiceRoleHasBeenSet() const { return m_serviceRoleHasBeenSet; }
/**
* <p>The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to
* make calls to other AWS services on your behalf.</p> <p>If your specified role
* has a path other than <code>/</code>, then you must either specify the full role
* ARN (this is recommended) or prefix the role name with the path.</p>
* <p>Depending on how you created your AWS Batch service role, its ARN may contain
* the <code>service-role</code> path prefix. When you only specify the name of the
* service role, AWS Batch assumes that your ARN does not use the
* <code>service-role</code> path prefix. Because of this, we recommend that you
* specify the full ARN of your service role when you create compute
* environments.</p>
*/
inline void SetServiceRole(const Aws::String& value) { m_serviceRoleHasBeenSet = true; m_serviceRole = value; }
/**
* <p>The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to
* make calls to other AWS services on your behalf.</p> <p>If your specified role
* has a path other than <code>/</code>, then you must either specify the full role
* ARN (this is recommended) or prefix the role name with the path.</p>
* <p>Depending on how you created your AWS Batch service role, its ARN may contain
* the <code>service-role</code> path prefix. When you only specify the name of the
* service role, AWS Batch assumes that your ARN does not use the
* <code>service-role</code> path prefix. Because of this, we recommend that you
* specify the full ARN of your service role when you create compute
* environments.</p>
*/
inline void SetServiceRole(Aws::String&& value) { m_serviceRoleHasBeenSet = true; m_serviceRole = std::move(value); }
/**
* <p>The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to
* make calls to other AWS services on your behalf.</p> <p>If your specified role
* has a path other than <code>/</code>, then you must either specify the full role
* ARN (this is recommended) or prefix the role name with the path.</p>
* <p>Depending on how you created your AWS Batch service role, its ARN may contain
* the <code>service-role</code> path prefix. When you only specify the name of the
* service role, AWS Batch assumes that your ARN does not use the
* <code>service-role</code> path prefix. Because of this, we recommend that you
* specify the full ARN of your service role when you create compute
* environments.</p>
*/
inline void SetServiceRole(const char* value) { m_serviceRoleHasBeenSet = true; m_serviceRole.assign(value); }
/**
* <p>The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to
* make calls to other AWS services on your behalf.</p> <p>If your specified role
* has a path other than <code>/</code>, then you must either specify the full role
* ARN (this is recommended) or prefix the role name with the path.</p>
* <p>Depending on how you created your AWS Batch service role, its ARN may contain
* the <code>service-role</code> path prefix. When you only specify the name of the
* service role, AWS Batch assumes that your ARN does not use the
* <code>service-role</code> path prefix. Because of this, we recommend that you
* specify the full ARN of your service role when you create compute
* environments.</p>
*/
inline UpdateComputeEnvironmentRequest& WithServiceRole(const Aws::String& value) { SetServiceRole(value); return *this;}
/**
* <p>The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to
* make calls to other AWS services on your behalf.</p> <p>If your specified role
* has a path other than <code>/</code>, then you must either specify the full role
* ARN (this is recommended) or prefix the role name with the path.</p>
* <p>Depending on how you created your AWS Batch service role, its ARN may contain
* the <code>service-role</code> path prefix. When you only specify the name of the
* service role, AWS Batch assumes that your ARN does not use the
* <code>service-role</code> path prefix. Because of this, we recommend that you
* specify the full ARN of your service role when you create compute
* environments.</p>
*/
inline UpdateComputeEnvironmentRequest& WithServiceRole(Aws::String&& value) { SetServiceRole(std::move(value)); return *this;}
/**
* <p>The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to
* make calls to other AWS services on your behalf.</p> <p>If your specified role
* has a path other than <code>/</code>, then you must either specify the full role
* ARN (this is recommended) or prefix the role name with the path.</p>
* <p>Depending on how you created your AWS Batch service role, its ARN may contain
* the <code>service-role</code> path prefix. When you only specify the name of the
* service role, AWS Batch assumes that your ARN does not use the
* <code>service-role</code> path prefix. Because of this, we recommend that you
* specify the full ARN of your service role when you create compute
* environments.</p>
*/
inline UpdateComputeEnvironmentRequest& WithServiceRole(const char* value) { SetServiceRole(value); return *this;}
private:
Aws::String m_computeEnvironment;
bool m_computeEnvironmentHasBeenSet;
CEState m_state;
bool m_stateHasBeenSet;
ComputeResourceUpdate m_computeResources;
bool m_computeResourcesHasBeenSet;
Aws::String m_serviceRole;
bool m_serviceRoleHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,115 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
class AWS_BATCH_API UpdateComputeEnvironmentResult
{
public:
UpdateComputeEnvironmentResult();
UpdateComputeEnvironmentResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
UpdateComputeEnvironmentResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The name of the compute environment.</p>
*/
inline const Aws::String& GetComputeEnvironmentName() const{ return m_computeEnvironmentName; }
/**
* <p>The name of the compute environment.</p>
*/
inline void SetComputeEnvironmentName(const Aws::String& value) { m_computeEnvironmentName = value; }
/**
* <p>The name of the compute environment.</p>
*/
inline void SetComputeEnvironmentName(Aws::String&& value) { m_computeEnvironmentName = std::move(value); }
/**
* <p>The name of the compute environment.</p>
*/
inline void SetComputeEnvironmentName(const char* value) { m_computeEnvironmentName.assign(value); }
/**
* <p>The name of the compute environment.</p>
*/
inline UpdateComputeEnvironmentResult& WithComputeEnvironmentName(const Aws::String& value) { SetComputeEnvironmentName(value); return *this;}
/**
* <p>The name of the compute environment.</p>
*/
inline UpdateComputeEnvironmentResult& WithComputeEnvironmentName(Aws::String&& value) { SetComputeEnvironmentName(std::move(value)); return *this;}
/**
* <p>The name of the compute environment.</p>
*/
inline UpdateComputeEnvironmentResult& WithComputeEnvironmentName(const char* value) { SetComputeEnvironmentName(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the compute environment.</p>
*/
inline const Aws::String& GetComputeEnvironmentArn() const{ return m_computeEnvironmentArn; }
/**
* <p>The Amazon Resource Name (ARN) of the compute environment.</p>
*/
inline void SetComputeEnvironmentArn(const Aws::String& value) { m_computeEnvironmentArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the compute environment.</p>
*/
inline void SetComputeEnvironmentArn(Aws::String&& value) { m_computeEnvironmentArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the compute environment.</p>
*/
inline void SetComputeEnvironmentArn(const char* value) { m_computeEnvironmentArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the compute environment.</p>
*/
inline UpdateComputeEnvironmentResult& WithComputeEnvironmentArn(const Aws::String& value) { SetComputeEnvironmentArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the compute environment.</p>
*/
inline UpdateComputeEnvironmentResult& WithComputeEnvironmentArn(Aws::String&& value) { SetComputeEnvironmentArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the compute environment.</p>
*/
inline UpdateComputeEnvironmentResult& WithComputeEnvironmentArn(const char* value) { SetComputeEnvironmentArn(value); return *this;}
private:
Aws::String m_computeEnvironmentName;
Aws::String m_computeEnvironmentArn;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,224 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/batch/BatchRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/batch/model/JQState.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/batch/model/ComputeEnvironmentOrder.h>
#include <utility>
namespace Aws
{
namespace Batch
{
namespace Model
{
/**
*/
class AWS_BATCH_API UpdateJobQueueRequest : public BatchRequest
{
public:
UpdateJobQueueRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "UpdateJobQueue"; }
Aws::String SerializePayload() const override;
/**
* <p>The name or the Amazon Resource Name (ARN) of the job queue.</p>
*/
inline const Aws::String& GetJobQueue() const{ return m_jobQueue; }
/**
* <p>The name or the Amazon Resource Name (ARN) of the job queue.</p>
*/
inline bool JobQueueHasBeenSet() const { return m_jobQueueHasBeenSet; }
/**
* <p>The name or the Amazon Resource Name (ARN) of the job queue.</p>
*/
inline void SetJobQueue(const Aws::String& value) { m_jobQueueHasBeenSet = true; m_jobQueue = value; }
/**
* <p>The name or the Amazon Resource Name (ARN) of the job queue.</p>
*/
inline void SetJobQueue(Aws::String&& value) { m_jobQueueHasBeenSet = true; m_jobQueue = std::move(value); }
/**
* <p>The name or the Amazon Resource Name (ARN) of the job queue.</p>
*/
inline void SetJobQueue(const char* value) { m_jobQueueHasBeenSet = true; m_jobQueue.assign(value); }
/**
* <p>The name or the Amazon Resource Name (ARN) of the job queue.</p>
*/
inline UpdateJobQueueRequest& WithJobQueue(const Aws::String& value) { SetJobQueue(value); return *this;}
/**
* <p>The name or the Amazon Resource Name (ARN) of the job queue.</p>
*/
inline UpdateJobQueueRequest& WithJobQueue(Aws::String&& value) { SetJobQueue(std::move(value)); return *this;}
/**
* <p>The name or the Amazon Resource Name (ARN) of the job queue.</p>
*/
inline UpdateJobQueueRequest& WithJobQueue(const char* value) { SetJobQueue(value); return *this;}
/**
* <p>Describes the queue's ability to accept new jobs.</p>
*/
inline const JQState& GetState() const{ return m_state; }
/**
* <p>Describes the queue's ability to accept new jobs.</p>
*/
inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
/**
* <p>Describes the queue's ability to accept new jobs.</p>
*/
inline void SetState(const JQState& value) { m_stateHasBeenSet = true; m_state = value; }
/**
* <p>Describes the queue's ability to accept new jobs.</p>
*/
inline void SetState(JQState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); }
/**
* <p>Describes the queue's ability to accept new jobs.</p>
*/
inline UpdateJobQueueRequest& WithState(const JQState& value) { SetState(value); return *this;}
/**
* <p>Describes the queue's ability to accept new jobs.</p>
*/
inline UpdateJobQueueRequest& WithState(JQState&& value) { SetState(std::move(value)); return *this;}
/**
* <p>The priority of the job queue. Job queues with a higher priority (or a higher
* integer value for the <code>priority</code> parameter) are evaluated first when
* associated with the same compute environment. Priority is determined in
* descending order, for example, a job queue with a priority value of
* <code>10</code> is given scheduling preference over a job queue with a priority
* value of <code>1</code>.</p>
*/
inline int GetPriority() const{ return m_priority; }
/**
* <p>The priority of the job queue. Job queues with a higher priority (or a higher
* integer value for the <code>priority</code> parameter) are evaluated first when
* associated with the same compute environment. Priority is determined in
* descending order, for example, a job queue with a priority value of
* <code>10</code> is given scheduling preference over a job queue with a priority
* value of <code>1</code>.</p>
*/
inline bool PriorityHasBeenSet() const { return m_priorityHasBeenSet; }
/**
* <p>The priority of the job queue. Job queues with a higher priority (or a higher
* integer value for the <code>priority</code> parameter) are evaluated first when
* associated with the same compute environment. Priority is determined in
* descending order, for example, a job queue with a priority value of
* <code>10</code> is given scheduling preference over a job queue with a priority
* value of <code>1</code>.</p>
*/
inline void SetPriority(int value) { m_priorityHasBeenSet = true; m_priority = value; }
/**
* <p>The priority of the job queue. Job queues with a higher priority (or a higher
* integer value for the <code>priority</code> parameter) are evaluated first when
* associated with the same compute environment. Priority is determined in
* descending order, for example, a job queue with a priority value of
* <code>10</code> is given scheduling preference over a job queue with a priority
* value of <code>1</code>.</p>
*/
inline UpdateJobQueueRequest& WithPriority(int value) { SetPriority(value); return *this;}
/**
* <p>Details the set of compute environments mapped to a job queue and their order
* relative to each other. This is one of the parameters used by the job scheduler
* to determine which compute environment should execute a given job.</p>
*/
inline const Aws::Vector<ComputeEnvironmentOrder>& GetComputeEnvironmentOrder() const{ return m_computeEnvironmentOrder; }
/**
* <p>Details the set of compute environments mapped to a job queue and their order
* relative to each other. This is one of the parameters used by the job scheduler
* to determine which compute environment should execute a given job.</p>
*/
inline bool ComputeEnvironmentOrderHasBeenSet() const { return m_computeEnvironmentOrderHasBeenSet; }
/**
* <p>Details the set of compute environments mapped to a job queue and their order
* relative to each other. This is one of the parameters used by the job scheduler
* to determine which compute environment should execute a given job.</p>
*/
inline void SetComputeEnvironmentOrder(const Aws::Vector<ComputeEnvironmentOrder>& value) { m_computeEnvironmentOrderHasBeenSet = true; m_computeEnvironmentOrder = value; }
/**
* <p>Details the set of compute environments mapped to a job queue and their order
* relative to each other. This is one of the parameters used by the job scheduler
* to determine which compute environment should execute a given job.</p>
*/
inline void SetComputeEnvironmentOrder(Aws::Vector<ComputeEnvironmentOrder>&& value) { m_computeEnvironmentOrderHasBeenSet = true; m_computeEnvironmentOrder = std::move(value); }
/**
* <p>Details the set of compute environments mapped to a job queue and their order
* relative to each other. This is one of the parameters used by the job scheduler
* to determine which compute environment should execute a given job.</p>
*/
inline UpdateJobQueueRequest& WithComputeEnvironmentOrder(const Aws::Vector<ComputeEnvironmentOrder>& value) { SetComputeEnvironmentOrder(value); return *this;}
/**
* <p>Details the set of compute environments mapped to a job queue and their order
* relative to each other. This is one of the parameters used by the job scheduler
* to determine which compute environment should execute a given job.</p>
*/
inline UpdateJobQueueRequest& WithComputeEnvironmentOrder(Aws::Vector<ComputeEnvironmentOrder>&& value) { SetComputeEnvironmentOrder(std::move(value)); return *this;}
/**
* <p>Details the set of compute environments mapped to a job queue and their order
* relative to each other. This is one of the parameters used by the job scheduler
* to determine which compute environment should execute a given job.</p>
*/
inline UpdateJobQueueRequest& AddComputeEnvironmentOrder(const ComputeEnvironmentOrder& value) { m_computeEnvironmentOrderHasBeenSet = true; m_computeEnvironmentOrder.push_back(value); return *this; }
/**
* <p>Details the set of compute environments mapped to a job queue and their order
* relative to each other. This is one of the parameters used by the job scheduler
* to determine which compute environment should execute a given job.</p>
*/
inline UpdateJobQueueRequest& AddComputeEnvironmentOrder(ComputeEnvironmentOrder&& value) { m_computeEnvironmentOrderHasBeenSet = true; m_computeEnvironmentOrder.push_back(std::move(value)); return *this; }
private:
Aws::String m_jobQueue;
bool m_jobQueueHasBeenSet;
JQState m_state;
bool m_stateHasBeenSet;
int m_priority;
bool m_priorityHasBeenSet;
Aws::Vector<ComputeEnvironmentOrder> m_computeEnvironmentOrder;
bool m_computeEnvironmentOrderHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,115 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
class AWS_BATCH_API UpdateJobQueueResult
{
public:
UpdateJobQueueResult();
UpdateJobQueueResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
UpdateJobQueueResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The name of the job queue.</p>
*/
inline const Aws::String& GetJobQueueName() const{ return m_jobQueueName; }
/**
* <p>The name of the job queue.</p>
*/
inline void SetJobQueueName(const Aws::String& value) { m_jobQueueName = value; }
/**
* <p>The name of the job queue.</p>
*/
inline void SetJobQueueName(Aws::String&& value) { m_jobQueueName = std::move(value); }
/**
* <p>The name of the job queue.</p>
*/
inline void SetJobQueueName(const char* value) { m_jobQueueName.assign(value); }
/**
* <p>The name of the job queue.</p>
*/
inline UpdateJobQueueResult& WithJobQueueName(const Aws::String& value) { SetJobQueueName(value); return *this;}
/**
* <p>The name of the job queue.</p>
*/
inline UpdateJobQueueResult& WithJobQueueName(Aws::String&& value) { SetJobQueueName(std::move(value)); return *this;}
/**
* <p>The name of the job queue.</p>
*/
inline UpdateJobQueueResult& WithJobQueueName(const char* value) { SetJobQueueName(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the job queue.</p>
*/
inline const Aws::String& GetJobQueueArn() const{ return m_jobQueueArn; }
/**
* <p>The Amazon Resource Name (ARN) of the job queue.</p>
*/
inline void SetJobQueueArn(const Aws::String& value) { m_jobQueueArn = value; }
/**
* <p>The Amazon Resource Name (ARN) of the job queue.</p>
*/
inline void SetJobQueueArn(Aws::String&& value) { m_jobQueueArn = std::move(value); }
/**
* <p>The Amazon Resource Name (ARN) of the job queue.</p>
*/
inline void SetJobQueueArn(const char* value) { m_jobQueueArn.assign(value); }
/**
* <p>The Amazon Resource Name (ARN) of the job queue.</p>
*/
inline UpdateJobQueueResult& WithJobQueueArn(const Aws::String& value) { SetJobQueueArn(value); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the job queue.</p>
*/
inline UpdateJobQueueResult& WithJobQueueArn(Aws::String&& value) { SetJobQueueArn(std::move(value)); return *this;}
/**
* <p>The Amazon Resource Name (ARN) of the job queue.</p>
*/
inline UpdateJobQueueResult& WithJobQueueArn(const char* value) { SetJobQueueArn(value); return *this;}
private:
Aws::String m_jobQueueName;
Aws::String m_jobQueueArn;
};
} // namespace Model
} // namespace Batch
} // namespace Aws

View File

@@ -0,0 +1,171 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/batch/Batch_EXPORTS.h>
#include <aws/batch/model/Host.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Batch
{
namespace Model
{
/**
* <p>A data volume used in a job's container properties.</p><p><h3>See Also:</h3>
* <a href="http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/Volume">AWS API
* Reference</a></p>
*/
class AWS_BATCH_API Volume
{
public:
Volume();
Volume(Aws::Utils::Json::JsonView jsonValue);
Volume& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The contents of the <code>host</code> parameter determine whether your data
* volume persists on the host container instance and where it is stored. If the
* host parameter is empty, then the Docker daemon assigns a host path for your
* data volume. However, the data is not guaranteed to persist after the containers
* associated with it stop running.</p>
*/
inline const Host& GetHost() const{ return m_host; }
/**
* <p>The contents of the <code>host</code> parameter determine whether your data
* volume persists on the host container instance and where it is stored. If the
* host parameter is empty, then the Docker daemon assigns a host path for your
* data volume. However, the data is not guaranteed to persist after the containers
* associated with it stop running.</p>
*/
inline bool HostHasBeenSet() const { return m_hostHasBeenSet; }
/**
* <p>The contents of the <code>host</code> parameter determine whether your data
* volume persists on the host container instance and where it is stored. If the
* host parameter is empty, then the Docker daemon assigns a host path for your
* data volume. However, the data is not guaranteed to persist after the containers
* associated with it stop running.</p>
*/
inline void SetHost(const Host& value) { m_hostHasBeenSet = true; m_host = value; }
/**
* <p>The contents of the <code>host</code> parameter determine whether your data
* volume persists on the host container instance and where it is stored. If the
* host parameter is empty, then the Docker daemon assigns a host path for your
* data volume. However, the data is not guaranteed to persist after the containers
* associated with it stop running.</p>
*/
inline void SetHost(Host&& value) { m_hostHasBeenSet = true; m_host = std::move(value); }
/**
* <p>The contents of the <code>host</code> parameter determine whether your data
* volume persists on the host container instance and where it is stored. If the
* host parameter is empty, then the Docker daemon assigns a host path for your
* data volume. However, the data is not guaranteed to persist after the containers
* associated with it stop running.</p>
*/
inline Volume& WithHost(const Host& value) { SetHost(value); return *this;}
/**
* <p>The contents of the <code>host</code> parameter determine whether your data
* volume persists on the host container instance and where it is stored. If the
* host parameter is empty, then the Docker daemon assigns a host path for your
* data volume. However, the data is not guaranteed to persist after the containers
* associated with it stop running.</p>
*/
inline Volume& WithHost(Host&& value) { SetHost(std::move(value)); return *this;}
/**
* <p>The name of the volume. Up to 255 letters (uppercase and lowercase), numbers,
* hyphens, and underscores are allowed. This name is referenced in the
* <code>sourceVolume</code> parameter of container definition
* <code>mountPoints</code>.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
/**
* <p>The name of the volume. Up to 255 letters (uppercase and lowercase), numbers,
* hyphens, and underscores are allowed. This name is referenced in the
* <code>sourceVolume</code> parameter of container definition
* <code>mountPoints</code>.</p>
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* <p>The name of the volume. Up to 255 letters (uppercase and lowercase), numbers,
* hyphens, and underscores are allowed. This name is referenced in the
* <code>sourceVolume</code> parameter of container definition
* <code>mountPoints</code>.</p>
*/
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* <p>The name of the volume. Up to 255 letters (uppercase and lowercase), numbers,
* hyphens, and underscores are allowed. This name is referenced in the
* <code>sourceVolume</code> parameter of container definition
* <code>mountPoints</code>.</p>
*/
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* <p>The name of the volume. Up to 255 letters (uppercase and lowercase), numbers,
* hyphens, and underscores are allowed. This name is referenced in the
* <code>sourceVolume</code> parameter of container definition
* <code>mountPoints</code>.</p>
*/
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
/**
* <p>The name of the volume. Up to 255 letters (uppercase and lowercase), numbers,
* hyphens, and underscores are allowed. This name is referenced in the
* <code>sourceVolume</code> parameter of container definition
* <code>mountPoints</code>.</p>
*/
inline Volume& WithName(const Aws::String& value) { SetName(value); return *this;}
/**
* <p>The name of the volume. Up to 255 letters (uppercase and lowercase), numbers,
* hyphens, and underscores are allowed. This name is referenced in the
* <code>sourceVolume</code> parameter of container definition
* <code>mountPoints</code>.</p>
*/
inline Volume& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
/**
* <p>The name of the volume. Up to 255 letters (uppercase and lowercase), numbers,
* hyphens, and underscores are allowed. This name is referenced in the
* <code>sourceVolume</code> parameter of container definition
* <code>mountPoints</code>.</p>
*/
inline Volume& WithName(const char* value) { SetName(value); return *this;}
private:
Host m_host;
bool m_hostHasBeenSet;
Aws::String m_name;
bool m_nameHasBeenSet;
};
} // namespace Model
} // namespace Batch
} // namespace Aws