/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Glue { namespace Model { /** */ class AWS_GLUE_API CreateJobRequest : public GlueRequest { public: CreateJobRequest(); // 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 "CreateJob"; } Aws::String SerializePayload() const override; Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name you assign to this job definition. It must be unique in your * account.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name you assign to this job definition. It must be unique in your * account.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name you assign to this job definition. It must be unique in your * account.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name you assign to this job definition. It must be unique in your * account.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name you assign to this job definition. It must be unique in your * account.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name you assign to this job definition. It must be unique in your * account.

*/ inline CreateJobRequest& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name you assign to this job definition. It must be unique in your * account.

*/ inline CreateJobRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name you assign to this job definition. It must be unique in your * account.

*/ inline CreateJobRequest& WithName(const char* value) { SetName(value); return *this;} /** *

Description of the job being defined.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

Description of the job being defined.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

Description of the job being defined.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

Description of the job being defined.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

Description of the job being defined.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

Description of the job being defined.

*/ inline CreateJobRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

Description of the job being defined.

*/ inline CreateJobRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

Description of the job being defined.

*/ inline CreateJobRequest& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

This field is reserved for future use.

*/ inline const Aws::String& GetLogUri() const{ return m_logUri; } /** *

This field is reserved for future use.

*/ inline bool LogUriHasBeenSet() const { return m_logUriHasBeenSet; } /** *

This field is reserved for future use.

*/ inline void SetLogUri(const Aws::String& value) { m_logUriHasBeenSet = true; m_logUri = value; } /** *

This field is reserved for future use.

*/ inline void SetLogUri(Aws::String&& value) { m_logUriHasBeenSet = true; m_logUri = std::move(value); } /** *

This field is reserved for future use.

*/ inline void SetLogUri(const char* value) { m_logUriHasBeenSet = true; m_logUri.assign(value); } /** *

This field is reserved for future use.

*/ inline CreateJobRequest& WithLogUri(const Aws::String& value) { SetLogUri(value); return *this;} /** *

This field is reserved for future use.

*/ inline CreateJobRequest& WithLogUri(Aws::String&& value) { SetLogUri(std::move(value)); return *this;} /** *

This field is reserved for future use.

*/ inline CreateJobRequest& WithLogUri(const char* value) { SetLogUri(value); return *this;} /** *

The name or Amazon Resource Name (ARN) of the IAM role associated with this * job.

*/ inline const Aws::String& GetRole() const{ return m_role; } /** *

The name or Amazon Resource Name (ARN) of the IAM role associated with this * job.

*/ inline bool RoleHasBeenSet() const { return m_roleHasBeenSet; } /** *

The name or Amazon Resource Name (ARN) of the IAM role associated with this * job.

*/ inline void SetRole(const Aws::String& value) { m_roleHasBeenSet = true; m_role = value; } /** *

The name or Amazon Resource Name (ARN) of the IAM role associated with this * job.

*/ inline void SetRole(Aws::String&& value) { m_roleHasBeenSet = true; m_role = std::move(value); } /** *

The name or Amazon Resource Name (ARN) of the IAM role associated with this * job.

*/ inline void SetRole(const char* value) { m_roleHasBeenSet = true; m_role.assign(value); } /** *

The name or Amazon Resource Name (ARN) of the IAM role associated with this * job.

*/ inline CreateJobRequest& WithRole(const Aws::String& value) { SetRole(value); return *this;} /** *

The name or Amazon Resource Name (ARN) of the IAM role associated with this * job.

*/ inline CreateJobRequest& WithRole(Aws::String&& value) { SetRole(std::move(value)); return *this;} /** *

The name or Amazon Resource Name (ARN) of the IAM role associated with this * job.

*/ inline CreateJobRequest& WithRole(const char* value) { SetRole(value); return *this;} /** *

An ExecutionProperty specifying the maximum number of concurrent * runs allowed for this job.

*/ inline const ExecutionProperty& GetExecutionProperty() const{ return m_executionProperty; } /** *

An ExecutionProperty specifying the maximum number of concurrent * runs allowed for this job.

*/ inline bool ExecutionPropertyHasBeenSet() const { return m_executionPropertyHasBeenSet; } /** *

An ExecutionProperty specifying the maximum number of concurrent * runs allowed for this job.

*/ inline void SetExecutionProperty(const ExecutionProperty& value) { m_executionPropertyHasBeenSet = true; m_executionProperty = value; } /** *

An ExecutionProperty specifying the maximum number of concurrent * runs allowed for this job.

*/ inline void SetExecutionProperty(ExecutionProperty&& value) { m_executionPropertyHasBeenSet = true; m_executionProperty = std::move(value); } /** *

An ExecutionProperty specifying the maximum number of concurrent * runs allowed for this job.

*/ inline CreateJobRequest& WithExecutionProperty(const ExecutionProperty& value) { SetExecutionProperty(value); return *this;} /** *

An ExecutionProperty specifying the maximum number of concurrent * runs allowed for this job.

*/ inline CreateJobRequest& WithExecutionProperty(ExecutionProperty&& value) { SetExecutionProperty(std::move(value)); return *this;} /** *

The JobCommand that executes this job.

*/ inline const JobCommand& GetCommand() const{ return m_command; } /** *

The JobCommand that executes this job.

*/ inline bool CommandHasBeenSet() const { return m_commandHasBeenSet; } /** *

The JobCommand that executes this job.

*/ inline void SetCommand(const JobCommand& value) { m_commandHasBeenSet = true; m_command = value; } /** *

The JobCommand that executes this job.

*/ inline void SetCommand(JobCommand&& value) { m_commandHasBeenSet = true; m_command = std::move(value); } /** *

The JobCommand that executes this job.

*/ inline CreateJobRequest& WithCommand(const JobCommand& value) { SetCommand(value); return *this;} /** *

The JobCommand that executes this job.

*/ inline CreateJobRequest& WithCommand(JobCommand&& value) { SetCommand(std::move(value)); return *this;} /** *

The default arguments for this job.

You can specify arguments here * that your own job-execution script consumes, as well as arguments that AWS Glue * itself consumes.

For information about how to specify and consume your * own Job arguments, see the Calling * AWS Glue APIs in Python topic in the developer guide.

For information * about the key-value pairs that AWS Glue consumes to set up your job, see the Special * Parameters Used by AWS Glue topic in the developer guide.

*/ inline const Aws::Map& GetDefaultArguments() const{ return m_defaultArguments; } /** *

The default arguments for this job.

You can specify arguments here * that your own job-execution script consumes, as well as arguments that AWS Glue * itself consumes.

For information about how to specify and consume your * own Job arguments, see the Calling * AWS Glue APIs in Python topic in the developer guide.

For information * about the key-value pairs that AWS Glue consumes to set up your job, see the Special * Parameters Used by AWS Glue topic in the developer guide.

*/ inline bool DefaultArgumentsHasBeenSet() const { return m_defaultArgumentsHasBeenSet; } /** *

The default arguments for this job.

You can specify arguments here * that your own job-execution script consumes, as well as arguments that AWS Glue * itself consumes.

For information about how to specify and consume your * own Job arguments, see the Calling * AWS Glue APIs in Python topic in the developer guide.

For information * about the key-value pairs that AWS Glue consumes to set up your job, see the Special * Parameters Used by AWS Glue topic in the developer guide.

*/ inline void SetDefaultArguments(const Aws::Map& value) { m_defaultArgumentsHasBeenSet = true; m_defaultArguments = value; } /** *

The default arguments for this job.

You can specify arguments here * that your own job-execution script consumes, as well as arguments that AWS Glue * itself consumes.

For information about how to specify and consume your * own Job arguments, see the Calling * AWS Glue APIs in Python topic in the developer guide.

For information * about the key-value pairs that AWS Glue consumes to set up your job, see the Special * Parameters Used by AWS Glue topic in the developer guide.

*/ inline void SetDefaultArguments(Aws::Map&& value) { m_defaultArgumentsHasBeenSet = true; m_defaultArguments = std::move(value); } /** *

The default arguments for this job.

You can specify arguments here * that your own job-execution script consumes, as well as arguments that AWS Glue * itself consumes.

For information about how to specify and consume your * own Job arguments, see the Calling * AWS Glue APIs in Python topic in the developer guide.

For information * about the key-value pairs that AWS Glue consumes to set up your job, see the Special * Parameters Used by AWS Glue topic in the developer guide.

*/ inline CreateJobRequest& WithDefaultArguments(const Aws::Map& value) { SetDefaultArguments(value); return *this;} /** *

The default arguments for this job.

You can specify arguments here * that your own job-execution script consumes, as well as arguments that AWS Glue * itself consumes.

For information about how to specify and consume your * own Job arguments, see the Calling * AWS Glue APIs in Python topic in the developer guide.

For information * about the key-value pairs that AWS Glue consumes to set up your job, see the Special * Parameters Used by AWS Glue topic in the developer guide.

*/ inline CreateJobRequest& WithDefaultArguments(Aws::Map&& value) { SetDefaultArguments(std::move(value)); return *this;} /** *

The default arguments for this job.

You can specify arguments here * that your own job-execution script consumes, as well as arguments that AWS Glue * itself consumes.

For information about how to specify and consume your * own Job arguments, see the Calling * AWS Glue APIs in Python topic in the developer guide.

For information * about the key-value pairs that AWS Glue consumes to set up your job, see the Special * Parameters Used by AWS Glue topic in the developer guide.

*/ inline CreateJobRequest& AddDefaultArguments(const Aws::String& key, const Aws::String& value) { m_defaultArgumentsHasBeenSet = true; m_defaultArguments.emplace(key, value); return *this; } /** *

The default arguments for this job.

You can specify arguments here * that your own job-execution script consumes, as well as arguments that AWS Glue * itself consumes.

For information about how to specify and consume your * own Job arguments, see the Calling * AWS Glue APIs in Python topic in the developer guide.

For information * about the key-value pairs that AWS Glue consumes to set up your job, see the Special * Parameters Used by AWS Glue topic in the developer guide.

*/ inline CreateJobRequest& AddDefaultArguments(Aws::String&& key, const Aws::String& value) { m_defaultArgumentsHasBeenSet = true; m_defaultArguments.emplace(std::move(key), value); return *this; } /** *

The default arguments for this job.

You can specify arguments here * that your own job-execution script consumes, as well as arguments that AWS Glue * itself consumes.

For information about how to specify and consume your * own Job arguments, see the Calling * AWS Glue APIs in Python topic in the developer guide.

For information * about the key-value pairs that AWS Glue consumes to set up your job, see the Special * Parameters Used by AWS Glue topic in the developer guide.

*/ inline CreateJobRequest& AddDefaultArguments(const Aws::String& key, Aws::String&& value) { m_defaultArgumentsHasBeenSet = true; m_defaultArguments.emplace(key, std::move(value)); return *this; } /** *

The default arguments for this job.

You can specify arguments here * that your own job-execution script consumes, as well as arguments that AWS Glue * itself consumes.

For information about how to specify and consume your * own Job arguments, see the Calling * AWS Glue APIs in Python topic in the developer guide.

For information * about the key-value pairs that AWS Glue consumes to set up your job, see the Special * Parameters Used by AWS Glue topic in the developer guide.

*/ inline CreateJobRequest& AddDefaultArguments(Aws::String&& key, Aws::String&& value) { m_defaultArgumentsHasBeenSet = true; m_defaultArguments.emplace(std::move(key), std::move(value)); return *this; } /** *

The default arguments for this job.

You can specify arguments here * that your own job-execution script consumes, as well as arguments that AWS Glue * itself consumes.

For information about how to specify and consume your * own Job arguments, see the Calling * AWS Glue APIs in Python topic in the developer guide.

For information * about the key-value pairs that AWS Glue consumes to set up your job, see the Special * Parameters Used by AWS Glue topic in the developer guide.

*/ inline CreateJobRequest& AddDefaultArguments(const char* key, Aws::String&& value) { m_defaultArgumentsHasBeenSet = true; m_defaultArguments.emplace(key, std::move(value)); return *this; } /** *

The default arguments for this job.

You can specify arguments here * that your own job-execution script consumes, as well as arguments that AWS Glue * itself consumes.

For information about how to specify and consume your * own Job arguments, see the Calling * AWS Glue APIs in Python topic in the developer guide.

For information * about the key-value pairs that AWS Glue consumes to set up your job, see the Special * Parameters Used by AWS Glue topic in the developer guide.

*/ inline CreateJobRequest& AddDefaultArguments(Aws::String&& key, const char* value) { m_defaultArgumentsHasBeenSet = true; m_defaultArguments.emplace(std::move(key), value); return *this; } /** *

The default arguments for this job.

You can specify arguments here * that your own job-execution script consumes, as well as arguments that AWS Glue * itself consumes.

For information about how to specify and consume your * own Job arguments, see the Calling * AWS Glue APIs in Python topic in the developer guide.

For information * about the key-value pairs that AWS Glue consumes to set up your job, see the Special * Parameters Used by AWS Glue topic in the developer guide.

*/ inline CreateJobRequest& AddDefaultArguments(const char* key, const char* value) { m_defaultArgumentsHasBeenSet = true; m_defaultArguments.emplace(key, value); return *this; } /** *

Non-overridable arguments for this job, specified as name-value pairs.

*/ inline const Aws::Map& GetNonOverridableArguments() const{ return m_nonOverridableArguments; } /** *

Non-overridable arguments for this job, specified as name-value pairs.

*/ inline bool NonOverridableArgumentsHasBeenSet() const { return m_nonOverridableArgumentsHasBeenSet; } /** *

Non-overridable arguments for this job, specified as name-value pairs.

*/ inline void SetNonOverridableArguments(const Aws::Map& value) { m_nonOverridableArgumentsHasBeenSet = true; m_nonOverridableArguments = value; } /** *

Non-overridable arguments for this job, specified as name-value pairs.

*/ inline void SetNonOverridableArguments(Aws::Map&& value) { m_nonOverridableArgumentsHasBeenSet = true; m_nonOverridableArguments = std::move(value); } /** *

Non-overridable arguments for this job, specified as name-value pairs.

*/ inline CreateJobRequest& WithNonOverridableArguments(const Aws::Map& value) { SetNonOverridableArguments(value); return *this;} /** *

Non-overridable arguments for this job, specified as name-value pairs.

*/ inline CreateJobRequest& WithNonOverridableArguments(Aws::Map&& value) { SetNonOverridableArguments(std::move(value)); return *this;} /** *

Non-overridable arguments for this job, specified as name-value pairs.

*/ inline CreateJobRequest& AddNonOverridableArguments(const Aws::String& key, const Aws::String& value) { m_nonOverridableArgumentsHasBeenSet = true; m_nonOverridableArguments.emplace(key, value); return *this; } /** *

Non-overridable arguments for this job, specified as name-value pairs.

*/ inline CreateJobRequest& AddNonOverridableArguments(Aws::String&& key, const Aws::String& value) { m_nonOverridableArgumentsHasBeenSet = true; m_nonOverridableArguments.emplace(std::move(key), value); return *this; } /** *

Non-overridable arguments for this job, specified as name-value pairs.

*/ inline CreateJobRequest& AddNonOverridableArguments(const Aws::String& key, Aws::String&& value) { m_nonOverridableArgumentsHasBeenSet = true; m_nonOverridableArguments.emplace(key, std::move(value)); return *this; } /** *

Non-overridable arguments for this job, specified as name-value pairs.

*/ inline CreateJobRequest& AddNonOverridableArguments(Aws::String&& key, Aws::String&& value) { m_nonOverridableArgumentsHasBeenSet = true; m_nonOverridableArguments.emplace(std::move(key), std::move(value)); return *this; } /** *

Non-overridable arguments for this job, specified as name-value pairs.

*/ inline CreateJobRequest& AddNonOverridableArguments(const char* key, Aws::String&& value) { m_nonOverridableArgumentsHasBeenSet = true; m_nonOverridableArguments.emplace(key, std::move(value)); return *this; } /** *

Non-overridable arguments for this job, specified as name-value pairs.

*/ inline CreateJobRequest& AddNonOverridableArguments(Aws::String&& key, const char* value) { m_nonOverridableArgumentsHasBeenSet = true; m_nonOverridableArguments.emplace(std::move(key), value); return *this; } /** *

Non-overridable arguments for this job, specified as name-value pairs.

*/ inline CreateJobRequest& AddNonOverridableArguments(const char* key, const char* value) { m_nonOverridableArgumentsHasBeenSet = true; m_nonOverridableArguments.emplace(key, value); return *this; } /** *

The connections used for this job.

*/ inline const ConnectionsList& GetConnections() const{ return m_connections; } /** *

The connections used for this job.

*/ inline bool ConnectionsHasBeenSet() const { return m_connectionsHasBeenSet; } /** *

The connections used for this job.

*/ inline void SetConnections(const ConnectionsList& value) { m_connectionsHasBeenSet = true; m_connections = value; } /** *

The connections used for this job.

*/ inline void SetConnections(ConnectionsList&& value) { m_connectionsHasBeenSet = true; m_connections = std::move(value); } /** *

The connections used for this job.

*/ inline CreateJobRequest& WithConnections(const ConnectionsList& value) { SetConnections(value); return *this;} /** *

The connections used for this job.

*/ inline CreateJobRequest& WithConnections(ConnectionsList&& value) { SetConnections(std::move(value)); return *this;} /** *

The maximum number of times to retry this job if it fails.

*/ inline int GetMaxRetries() const{ return m_maxRetries; } /** *

The maximum number of times to retry this job if it fails.

*/ inline bool MaxRetriesHasBeenSet() const { return m_maxRetriesHasBeenSet; } /** *

The maximum number of times to retry this job if it fails.

*/ inline void SetMaxRetries(int value) { m_maxRetriesHasBeenSet = true; m_maxRetries = value; } /** *

The maximum number of times to retry this job if it fails.

*/ inline CreateJobRequest& WithMaxRetries(int value) { SetMaxRetries(value); return *this;} /** *

The job timeout in minutes. This is the maximum time that a job run can * consume resources before it is terminated and enters TIMEOUT * status. The default is 2,880 minutes (48 hours).

*/ inline int GetTimeout() const{ return m_timeout; } /** *

The job timeout in minutes. This is the maximum time that a job run can * consume resources before it is terminated and enters TIMEOUT * status. The default is 2,880 minutes (48 hours).

*/ inline bool TimeoutHasBeenSet() const { return m_timeoutHasBeenSet; } /** *

The job timeout in minutes. This is the maximum time that a job run can * consume resources before it is terminated and enters TIMEOUT * status. The default is 2,880 minutes (48 hours).

*/ inline void SetTimeout(int value) { m_timeoutHasBeenSet = true; m_timeout = value; } /** *

The job timeout in minutes. This is the maximum time that a job run can * consume resources before it is terminated and enters TIMEOUT * status. The default is 2,880 minutes (48 hours).

*/ inline CreateJobRequest& WithTimeout(int value) { SetTimeout(value); return *this;} /** *

The number of AWS Glue data processing units (DPUs) that can be allocated * when this job runs. A DPU is a relative measure of processing power that * consists of 4 vCPUs of compute capacity and 16 GB of memory. For more * information, see the AWS Glue * pricing page.

Do not set Max Capacity if using * WorkerType and NumberOfWorkers.

The value that * can be allocated for MaxCapacity depends on whether you are running * a Python shell job or an Apache Spark ETL job:

  • When you specify * a Python shell job (JobCommand.Name="pythonshell"), you can * allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.

  • *

    When you specify an Apache Spark ETL job * (JobCommand.Name="glueetl") or Apache Spark streaming ETL job * (JobCommand.Name="gluestreaming"), you can allocate from 2 to 100 * DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU * allocation.

*/ inline double GetMaxCapacity() const{ return m_maxCapacity; } /** *

The number of AWS Glue data processing units (DPUs) that can be allocated * when this job runs. A DPU is a relative measure of processing power that * consists of 4 vCPUs of compute capacity and 16 GB of memory. For more * information, see the AWS Glue * pricing page.

Do not set Max Capacity if using * WorkerType and NumberOfWorkers.

The value that * can be allocated for MaxCapacity depends on whether you are running * a Python shell job or an Apache Spark ETL job:

  • When you specify * a Python shell job (JobCommand.Name="pythonshell"), you can * allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.

  • *

    When you specify an Apache Spark ETL job * (JobCommand.Name="glueetl") or Apache Spark streaming ETL job * (JobCommand.Name="gluestreaming"), you can allocate from 2 to 100 * DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU * allocation.

*/ inline bool MaxCapacityHasBeenSet() const { return m_maxCapacityHasBeenSet; } /** *

The number of AWS Glue data processing units (DPUs) that can be allocated * when this job runs. A DPU is a relative measure of processing power that * consists of 4 vCPUs of compute capacity and 16 GB of memory. For more * information, see the AWS Glue * pricing page.

Do not set Max Capacity if using * WorkerType and NumberOfWorkers.

The value that * can be allocated for MaxCapacity depends on whether you are running * a Python shell job or an Apache Spark ETL job:

  • When you specify * a Python shell job (JobCommand.Name="pythonshell"), you can * allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.

  • *

    When you specify an Apache Spark ETL job * (JobCommand.Name="glueetl") or Apache Spark streaming ETL job * (JobCommand.Name="gluestreaming"), you can allocate from 2 to 100 * DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU * allocation.

*/ inline void SetMaxCapacity(double value) { m_maxCapacityHasBeenSet = true; m_maxCapacity = value; } /** *

The number of AWS Glue data processing units (DPUs) that can be allocated * when this job runs. A DPU is a relative measure of processing power that * consists of 4 vCPUs of compute capacity and 16 GB of memory. For more * information, see the AWS Glue * pricing page.

Do not set Max Capacity if using * WorkerType and NumberOfWorkers.

The value that * can be allocated for MaxCapacity depends on whether you are running * a Python shell job or an Apache Spark ETL job:

  • When you specify * a Python shell job (JobCommand.Name="pythonshell"), you can * allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.

  • *

    When you specify an Apache Spark ETL job * (JobCommand.Name="glueetl") or Apache Spark streaming ETL job * (JobCommand.Name="gluestreaming"), you can allocate from 2 to 100 * DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU * allocation.

*/ inline CreateJobRequest& WithMaxCapacity(double value) { SetMaxCapacity(value); return *this;} /** *

The name of the SecurityConfiguration structure to be used with * this job.

*/ inline const Aws::String& GetSecurityConfiguration() const{ return m_securityConfiguration; } /** *

The name of the SecurityConfiguration structure to be used with * this job.

*/ inline bool SecurityConfigurationHasBeenSet() const { return m_securityConfigurationHasBeenSet; } /** *

The name of the SecurityConfiguration structure to be used with * this job.

*/ inline void SetSecurityConfiguration(const Aws::String& value) { m_securityConfigurationHasBeenSet = true; m_securityConfiguration = value; } /** *

The name of the SecurityConfiguration structure to be used with * this job.

*/ inline void SetSecurityConfiguration(Aws::String&& value) { m_securityConfigurationHasBeenSet = true; m_securityConfiguration = std::move(value); } /** *

The name of the SecurityConfiguration structure to be used with * this job.

*/ inline void SetSecurityConfiguration(const char* value) { m_securityConfigurationHasBeenSet = true; m_securityConfiguration.assign(value); } /** *

The name of the SecurityConfiguration structure to be used with * this job.

*/ inline CreateJobRequest& WithSecurityConfiguration(const Aws::String& value) { SetSecurityConfiguration(value); return *this;} /** *

The name of the SecurityConfiguration structure to be used with * this job.

*/ inline CreateJobRequest& WithSecurityConfiguration(Aws::String&& value) { SetSecurityConfiguration(std::move(value)); return *this;} /** *

The name of the SecurityConfiguration structure to be used with * this job.

*/ inline CreateJobRequest& WithSecurityConfiguration(const char* value) { SetSecurityConfiguration(value); return *this;} /** *

The tags to use with this job. You may use tags to limit access to the job. * For more information about tags in AWS Glue, see AWS Tags in * AWS Glue in the developer guide.

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** *

The tags to use with this job. You may use tags to limit access to the job. * For more information about tags in AWS Glue, see AWS Tags in * AWS Glue in the developer guide.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The tags to use with this job. You may use tags to limit access to the job. * For more information about tags in AWS Glue, see AWS Tags in * AWS Glue in the developer guide.

*/ inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

The tags to use with this job. You may use tags to limit access to the job. * For more information about tags in AWS Glue, see AWS Tags in * AWS Glue in the developer guide.

*/ inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

The tags to use with this job. You may use tags to limit access to the job. * For more information about tags in AWS Glue, see AWS Tags in * AWS Glue in the developer guide.

*/ inline CreateJobRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

The tags to use with this job. You may use tags to limit access to the job. * For more information about tags in AWS Glue, see AWS Tags in * AWS Glue in the developer guide.

*/ inline CreateJobRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

The tags to use with this job. You may use tags to limit access to the job. * For more information about tags in AWS Glue, see AWS Tags in * AWS Glue in the developer guide.

*/ inline CreateJobRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

The tags to use with this job. You may use tags to limit access to the job. * For more information about tags in AWS Glue, see AWS Tags in * AWS Glue in the developer guide.

*/ inline CreateJobRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

The tags to use with this job. You may use tags to limit access to the job. * For more information about tags in AWS Glue, see AWS Tags in * AWS Glue in the developer guide.

*/ inline CreateJobRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

The tags to use with this job. You may use tags to limit access to the job. * For more information about tags in AWS Glue, see AWS Tags in * AWS Glue in the developer guide.

*/ inline CreateJobRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

The tags to use with this job. You may use tags to limit access to the job. * For more information about tags in AWS Glue, see AWS Tags in * AWS Glue in the developer guide.

*/ inline CreateJobRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

The tags to use with this job. You may use tags to limit access to the job. * For more information about tags in AWS Glue, see AWS Tags in * AWS Glue in the developer guide.

*/ inline CreateJobRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

The tags to use with this job. You may use tags to limit access to the job. * For more information about tags in AWS Glue, see AWS Tags in * AWS Glue in the developer guide.

*/ inline CreateJobRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

Specifies configuration properties of a job notification.

*/ inline const NotificationProperty& GetNotificationProperty() const{ return m_notificationProperty; } /** *

Specifies configuration properties of a job notification.

*/ inline bool NotificationPropertyHasBeenSet() const { return m_notificationPropertyHasBeenSet; } /** *

Specifies configuration properties of a job notification.

*/ inline void SetNotificationProperty(const NotificationProperty& value) { m_notificationPropertyHasBeenSet = true; m_notificationProperty = value; } /** *

Specifies configuration properties of a job notification.

*/ inline void SetNotificationProperty(NotificationProperty&& value) { m_notificationPropertyHasBeenSet = true; m_notificationProperty = std::move(value); } /** *

Specifies configuration properties of a job notification.

*/ inline CreateJobRequest& WithNotificationProperty(const NotificationProperty& value) { SetNotificationProperty(value); return *this;} /** *

Specifies configuration properties of a job notification.

*/ inline CreateJobRequest& WithNotificationProperty(NotificationProperty&& value) { SetNotificationProperty(std::move(value)); return *this;} /** *

Glue version determines the versions of Apache Spark and Python that AWS Glue * supports. The Python version indicates the version supported for jobs of type * Spark.

For more information about the available AWS Glue versions and * corresponding Spark and Python versions, see Glue version * in the developer guide.

Jobs that are created without specifying a Glue * version default to Glue 0.9.

*/ inline const Aws::String& GetGlueVersion() const{ return m_glueVersion; } /** *

Glue version determines the versions of Apache Spark and Python that AWS Glue * supports. The Python version indicates the version supported for jobs of type * Spark.

For more information about the available AWS Glue versions and * corresponding Spark and Python versions, see Glue version * in the developer guide.

Jobs that are created without specifying a Glue * version default to Glue 0.9.

*/ inline bool GlueVersionHasBeenSet() const { return m_glueVersionHasBeenSet; } /** *

Glue version determines the versions of Apache Spark and Python that AWS Glue * supports. The Python version indicates the version supported for jobs of type * Spark.

For more information about the available AWS Glue versions and * corresponding Spark and Python versions, see Glue version * in the developer guide.

Jobs that are created without specifying a Glue * version default to Glue 0.9.

*/ inline void SetGlueVersion(const Aws::String& value) { m_glueVersionHasBeenSet = true; m_glueVersion = value; } /** *

Glue version determines the versions of Apache Spark and Python that AWS Glue * supports. The Python version indicates the version supported for jobs of type * Spark.

For more information about the available AWS Glue versions and * corresponding Spark and Python versions, see Glue version * in the developer guide.

Jobs that are created without specifying a Glue * version default to Glue 0.9.

*/ inline void SetGlueVersion(Aws::String&& value) { m_glueVersionHasBeenSet = true; m_glueVersion = std::move(value); } /** *

Glue version determines the versions of Apache Spark and Python that AWS Glue * supports. The Python version indicates the version supported for jobs of type * Spark.

For more information about the available AWS Glue versions and * corresponding Spark and Python versions, see Glue version * in the developer guide.

Jobs that are created without specifying a Glue * version default to Glue 0.9.

*/ inline void SetGlueVersion(const char* value) { m_glueVersionHasBeenSet = true; m_glueVersion.assign(value); } /** *

Glue version determines the versions of Apache Spark and Python that AWS Glue * supports. The Python version indicates the version supported for jobs of type * Spark.

For more information about the available AWS Glue versions and * corresponding Spark and Python versions, see Glue version * in the developer guide.

Jobs that are created without specifying a Glue * version default to Glue 0.9.

*/ inline CreateJobRequest& WithGlueVersion(const Aws::String& value) { SetGlueVersion(value); return *this;} /** *

Glue version determines the versions of Apache Spark and Python that AWS Glue * supports. The Python version indicates the version supported for jobs of type * Spark.

For more information about the available AWS Glue versions and * corresponding Spark and Python versions, see Glue version * in the developer guide.

Jobs that are created without specifying a Glue * version default to Glue 0.9.

*/ inline CreateJobRequest& WithGlueVersion(Aws::String&& value) { SetGlueVersion(std::move(value)); return *this;} /** *

Glue version determines the versions of Apache Spark and Python that AWS Glue * supports. The Python version indicates the version supported for jobs of type * Spark.

For more information about the available AWS Glue versions and * corresponding Spark and Python versions, see Glue version * in the developer guide.

Jobs that are created without specifying a Glue * version default to Glue 0.9.

*/ inline CreateJobRequest& WithGlueVersion(const char* value) { SetGlueVersion(value); return *this;} /** *

The number of workers of a defined workerType that are allocated * when a job runs.

The maximum number of workers you can define are 299 for * G.1X, and 149 for G.2X.

*/ inline int GetNumberOfWorkers() const{ return m_numberOfWorkers; } /** *

The number of workers of a defined workerType that are allocated * when a job runs.

The maximum number of workers you can define are 299 for * G.1X, and 149 for G.2X.

*/ inline bool NumberOfWorkersHasBeenSet() const { return m_numberOfWorkersHasBeenSet; } /** *

The number of workers of a defined workerType that are allocated * when a job runs.

The maximum number of workers you can define are 299 for * G.1X, and 149 for G.2X.

*/ inline void SetNumberOfWorkers(int value) { m_numberOfWorkersHasBeenSet = true; m_numberOfWorkers = value; } /** *

The number of workers of a defined workerType that are allocated * when a job runs.

The maximum number of workers you can define are 299 for * G.1X, and 149 for G.2X.

*/ inline CreateJobRequest& WithNumberOfWorkers(int value) { SetNumberOfWorkers(value); return *this;} /** *

The type of predefined worker that is allocated when a job runs. Accepts a * value of Standard, G.1X, or G.2X.

  • For the Standard * worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 * executors per worker.

  • For the G.1X worker type, * each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 * executor per worker. We recommend this worker type for memory-intensive * jobs.

  • For the G.2X worker type, each worker maps * to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per * worker. We recommend this worker type for memory-intensive jobs.

*/ inline const WorkerType& GetWorkerType() const{ return m_workerType; } /** *

The type of predefined worker that is allocated when a job runs. Accepts a * value of Standard, G.1X, or G.2X.

  • For the Standard * worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 * executors per worker.

  • For the G.1X worker type, * each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 * executor per worker. We recommend this worker type for memory-intensive * jobs.

  • For the G.2X worker type, each worker maps * to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per * worker. We recommend this worker type for memory-intensive jobs.

*/ inline bool WorkerTypeHasBeenSet() const { return m_workerTypeHasBeenSet; } /** *

The type of predefined worker that is allocated when a job runs. Accepts a * value of Standard, G.1X, or G.2X.

  • For the Standard * worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 * executors per worker.

  • For the G.1X worker type, * each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 * executor per worker. We recommend this worker type for memory-intensive * jobs.

  • For the G.2X worker type, each worker maps * to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per * worker. We recommend this worker type for memory-intensive jobs.

*/ inline void SetWorkerType(const WorkerType& value) { m_workerTypeHasBeenSet = true; m_workerType = value; } /** *

The type of predefined worker that is allocated when a job runs. Accepts a * value of Standard, G.1X, or G.2X.

  • For the Standard * worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 * executors per worker.

  • For the G.1X worker type, * each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 * executor per worker. We recommend this worker type for memory-intensive * jobs.

  • For the G.2X worker type, each worker maps * to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per * worker. We recommend this worker type for memory-intensive jobs.

*/ inline void SetWorkerType(WorkerType&& value) { m_workerTypeHasBeenSet = true; m_workerType = std::move(value); } /** *

The type of predefined worker that is allocated when a job runs. Accepts a * value of Standard, G.1X, or G.2X.

  • For the Standard * worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 * executors per worker.

  • For the G.1X worker type, * each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 * executor per worker. We recommend this worker type for memory-intensive * jobs.

  • For the G.2X worker type, each worker maps * to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per * worker. We recommend this worker type for memory-intensive jobs.

*/ inline CreateJobRequest& WithWorkerType(const WorkerType& value) { SetWorkerType(value); return *this;} /** *

The type of predefined worker that is allocated when a job runs. Accepts a * value of Standard, G.1X, or G.2X.

  • For the Standard * worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 * executors per worker.

  • For the G.1X worker type, * each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 * executor per worker. We recommend this worker type for memory-intensive * jobs.

  • For the G.2X worker type, each worker maps * to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per * worker. We recommend this worker type for memory-intensive jobs.

*/ inline CreateJobRequest& WithWorkerType(WorkerType&& value) { SetWorkerType(std::move(value)); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet; Aws::String m_description; bool m_descriptionHasBeenSet; Aws::String m_logUri; bool m_logUriHasBeenSet; Aws::String m_role; bool m_roleHasBeenSet; ExecutionProperty m_executionProperty; bool m_executionPropertyHasBeenSet; JobCommand m_command; bool m_commandHasBeenSet; Aws::Map m_defaultArguments; bool m_defaultArgumentsHasBeenSet; Aws::Map m_nonOverridableArguments; bool m_nonOverridableArgumentsHasBeenSet; ConnectionsList m_connections; bool m_connectionsHasBeenSet; int m_maxRetries; bool m_maxRetriesHasBeenSet; int m_timeout; bool m_timeoutHasBeenSet; double m_maxCapacity; bool m_maxCapacityHasBeenSet; Aws::String m_securityConfiguration; bool m_securityConfigurationHasBeenSet; Aws::Map m_tags; bool m_tagsHasBeenSet; NotificationProperty m_notificationProperty; bool m_notificationPropertyHasBeenSet; Aws::String m_glueVersion; bool m_glueVersionHasBeenSet; int m_numberOfWorkers; bool m_numberOfWorkersHasBeenSet; WorkerType m_workerType; bool m_workerTypeHasBeenSet; }; } // namespace Model } // namespace Glue } // namespace Aws