/** * 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 #include #include #include #include namespace Aws { namespace SageMaker { namespace Model { /** */ class AWS_SAGEMAKER_API CreateProcessingJobRequest : public SageMakerRequest { public: CreateProcessingJobRequest(); // 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 "CreateProcessingJob"; } Aws::String SerializePayload() const override; Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

For each input, data is downloaded from S3 into the processing container * before the processing job begins running if "S3InputMode" is set to * File.

*/ inline const Aws::Vector& GetProcessingInputs() const{ return m_processingInputs; } /** *

For each input, data is downloaded from S3 into the processing container * before the processing job begins running if "S3InputMode" is set to * File.

*/ inline bool ProcessingInputsHasBeenSet() const { return m_processingInputsHasBeenSet; } /** *

For each input, data is downloaded from S3 into the processing container * before the processing job begins running if "S3InputMode" is set to * File.

*/ inline void SetProcessingInputs(const Aws::Vector& value) { m_processingInputsHasBeenSet = true; m_processingInputs = value; } /** *

For each input, data is downloaded from S3 into the processing container * before the processing job begins running if "S3InputMode" is set to * File.

*/ inline void SetProcessingInputs(Aws::Vector&& value) { m_processingInputsHasBeenSet = true; m_processingInputs = std::move(value); } /** *

For each input, data is downloaded from S3 into the processing container * before the processing job begins running if "S3InputMode" is set to * File.

*/ inline CreateProcessingJobRequest& WithProcessingInputs(const Aws::Vector& value) { SetProcessingInputs(value); return *this;} /** *

For each input, data is downloaded from S3 into the processing container * before the processing job begins running if "S3InputMode" is set to * File.

*/ inline CreateProcessingJobRequest& WithProcessingInputs(Aws::Vector&& value) { SetProcessingInputs(std::move(value)); return *this;} /** *

For each input, data is downloaded from S3 into the processing container * before the processing job begins running if "S3InputMode" is set to * File.

*/ inline CreateProcessingJobRequest& AddProcessingInputs(const ProcessingInput& value) { m_processingInputsHasBeenSet = true; m_processingInputs.push_back(value); return *this; } /** *

For each input, data is downloaded from S3 into the processing container * before the processing job begins running if "S3InputMode" is set to * File.

*/ inline CreateProcessingJobRequest& AddProcessingInputs(ProcessingInput&& value) { m_processingInputsHasBeenSet = true; m_processingInputs.push_back(std::move(value)); return *this; } /** *

Output configuration for the processing job.

*/ inline const ProcessingOutputConfig& GetProcessingOutputConfig() const{ return m_processingOutputConfig; } /** *

Output configuration for the processing job.

*/ inline bool ProcessingOutputConfigHasBeenSet() const { return m_processingOutputConfigHasBeenSet; } /** *

Output configuration for the processing job.

*/ inline void SetProcessingOutputConfig(const ProcessingOutputConfig& value) { m_processingOutputConfigHasBeenSet = true; m_processingOutputConfig = value; } /** *

Output configuration for the processing job.

*/ inline void SetProcessingOutputConfig(ProcessingOutputConfig&& value) { m_processingOutputConfigHasBeenSet = true; m_processingOutputConfig = std::move(value); } /** *

Output configuration for the processing job.

*/ inline CreateProcessingJobRequest& WithProcessingOutputConfig(const ProcessingOutputConfig& value) { SetProcessingOutputConfig(value); return *this;} /** *

Output configuration for the processing job.

*/ inline CreateProcessingJobRequest& WithProcessingOutputConfig(ProcessingOutputConfig&& value) { SetProcessingOutputConfig(std::move(value)); return *this;} /** *

The name of the processing job. The name must be unique within an AWS Region * in the AWS account.

*/ inline const Aws::String& GetProcessingJobName() const{ return m_processingJobName; } /** *

The name of the processing job. The name must be unique within an AWS Region * in the AWS account.

*/ inline bool ProcessingJobNameHasBeenSet() const { return m_processingJobNameHasBeenSet; } /** *

The name of the processing job. The name must be unique within an AWS Region * in the AWS account.

*/ inline void SetProcessingJobName(const Aws::String& value) { m_processingJobNameHasBeenSet = true; m_processingJobName = value; } /** *

The name of the processing job. The name must be unique within an AWS Region * in the AWS account.

*/ inline void SetProcessingJobName(Aws::String&& value) { m_processingJobNameHasBeenSet = true; m_processingJobName = std::move(value); } /** *

The name of the processing job. The name must be unique within an AWS Region * in the AWS account.

*/ inline void SetProcessingJobName(const char* value) { m_processingJobNameHasBeenSet = true; m_processingJobName.assign(value); } /** *

The name of the processing job. The name must be unique within an AWS Region * in the AWS account.

*/ inline CreateProcessingJobRequest& WithProcessingJobName(const Aws::String& value) { SetProcessingJobName(value); return *this;} /** *

The name of the processing job. The name must be unique within an AWS Region * in the AWS account.

*/ inline CreateProcessingJobRequest& WithProcessingJobName(Aws::String&& value) { SetProcessingJobName(std::move(value)); return *this;} /** *

The name of the processing job. The name must be unique within an AWS Region * in the AWS account.

*/ inline CreateProcessingJobRequest& WithProcessingJobName(const char* value) { SetProcessingJobName(value); return *this;} /** *

Identifies the resources, ML compute instances, and ML storage volumes to * deploy for a processing job. In distributed training, you specify more than one * instance.

*/ inline const ProcessingResources& GetProcessingResources() const{ return m_processingResources; } /** *

Identifies the resources, ML compute instances, and ML storage volumes to * deploy for a processing job. In distributed training, you specify more than one * instance.

*/ inline bool ProcessingResourcesHasBeenSet() const { return m_processingResourcesHasBeenSet; } /** *

Identifies the resources, ML compute instances, and ML storage volumes to * deploy for a processing job. In distributed training, you specify more than one * instance.

*/ inline void SetProcessingResources(const ProcessingResources& value) { m_processingResourcesHasBeenSet = true; m_processingResources = value; } /** *

Identifies the resources, ML compute instances, and ML storage volumes to * deploy for a processing job. In distributed training, you specify more than one * instance.

*/ inline void SetProcessingResources(ProcessingResources&& value) { m_processingResourcesHasBeenSet = true; m_processingResources = std::move(value); } /** *

Identifies the resources, ML compute instances, and ML storage volumes to * deploy for a processing job. In distributed training, you specify more than one * instance.

*/ inline CreateProcessingJobRequest& WithProcessingResources(const ProcessingResources& value) { SetProcessingResources(value); return *this;} /** *

Identifies the resources, ML compute instances, and ML storage volumes to * deploy for a processing job. In distributed training, you specify more than one * instance.

*/ inline CreateProcessingJobRequest& WithProcessingResources(ProcessingResources&& value) { SetProcessingResources(std::move(value)); return *this;} /** *

The time limit for how long the processing job is allowed to run.

*/ inline const ProcessingStoppingCondition& GetStoppingCondition() const{ return m_stoppingCondition; } /** *

The time limit for how long the processing job is allowed to run.

*/ inline bool StoppingConditionHasBeenSet() const { return m_stoppingConditionHasBeenSet; } /** *

The time limit for how long the processing job is allowed to run.

*/ inline void SetStoppingCondition(const ProcessingStoppingCondition& value) { m_stoppingConditionHasBeenSet = true; m_stoppingCondition = value; } /** *

The time limit for how long the processing job is allowed to run.

*/ inline void SetStoppingCondition(ProcessingStoppingCondition&& value) { m_stoppingConditionHasBeenSet = true; m_stoppingCondition = std::move(value); } /** *

The time limit for how long the processing job is allowed to run.

*/ inline CreateProcessingJobRequest& WithStoppingCondition(const ProcessingStoppingCondition& value) { SetStoppingCondition(value); return *this;} /** *

The time limit for how long the processing job is allowed to run.

*/ inline CreateProcessingJobRequest& WithStoppingCondition(ProcessingStoppingCondition&& value) { SetStoppingCondition(std::move(value)); return *this;} /** *

Configures the processing job to run a specified Docker container image.

*/ inline const AppSpecification& GetAppSpecification() const{ return m_appSpecification; } /** *

Configures the processing job to run a specified Docker container image.

*/ inline bool AppSpecificationHasBeenSet() const { return m_appSpecificationHasBeenSet; } /** *

Configures the processing job to run a specified Docker container image.

*/ inline void SetAppSpecification(const AppSpecification& value) { m_appSpecificationHasBeenSet = true; m_appSpecification = value; } /** *

Configures the processing job to run a specified Docker container image.

*/ inline void SetAppSpecification(AppSpecification&& value) { m_appSpecificationHasBeenSet = true; m_appSpecification = std::move(value); } /** *

Configures the processing job to run a specified Docker container image.

*/ inline CreateProcessingJobRequest& WithAppSpecification(const AppSpecification& value) { SetAppSpecification(value); return *this;} /** *

Configures the processing job to run a specified Docker container image.

*/ inline CreateProcessingJobRequest& WithAppSpecification(AppSpecification&& value) { SetAppSpecification(std::move(value)); return *this;} /** *

Sets the environment variables in the Docker container.

*/ inline const Aws::Map& GetEnvironment() const{ return m_environment; } /** *

Sets the environment variables in the Docker container.

*/ inline bool EnvironmentHasBeenSet() const { return m_environmentHasBeenSet; } /** *

Sets the environment variables in the Docker container.

*/ inline void SetEnvironment(const Aws::Map& value) { m_environmentHasBeenSet = true; m_environment = value; } /** *

Sets the environment variables in the Docker container.

*/ inline void SetEnvironment(Aws::Map&& value) { m_environmentHasBeenSet = true; m_environment = std::move(value); } /** *

Sets the environment variables in the Docker container.

*/ inline CreateProcessingJobRequest& WithEnvironment(const Aws::Map& value) { SetEnvironment(value); return *this;} /** *

Sets the environment variables in the Docker container.

*/ inline CreateProcessingJobRequest& WithEnvironment(Aws::Map&& value) { SetEnvironment(std::move(value)); return *this;} /** *

Sets the environment variables in the Docker container.

*/ inline CreateProcessingJobRequest& AddEnvironment(const Aws::String& key, const Aws::String& value) { m_environmentHasBeenSet = true; m_environment.emplace(key, value); return *this; } /** *

Sets the environment variables in the Docker container.

*/ inline CreateProcessingJobRequest& AddEnvironment(Aws::String&& key, const Aws::String& value) { m_environmentHasBeenSet = true; m_environment.emplace(std::move(key), value); return *this; } /** *

Sets the environment variables in the Docker container.

*/ inline CreateProcessingJobRequest& AddEnvironment(const Aws::String& key, Aws::String&& value) { m_environmentHasBeenSet = true; m_environment.emplace(key, std::move(value)); return *this; } /** *

Sets the environment variables in the Docker container.

*/ inline CreateProcessingJobRequest& AddEnvironment(Aws::String&& key, Aws::String&& value) { m_environmentHasBeenSet = true; m_environment.emplace(std::move(key), std::move(value)); return *this; } /** *

Sets the environment variables in the Docker container.

*/ inline CreateProcessingJobRequest& AddEnvironment(const char* key, Aws::String&& value) { m_environmentHasBeenSet = true; m_environment.emplace(key, std::move(value)); return *this; } /** *

Sets the environment variables in the Docker container.

*/ inline CreateProcessingJobRequest& AddEnvironment(Aws::String&& key, const char* value) { m_environmentHasBeenSet = true; m_environment.emplace(std::move(key), value); return *this; } /** *

Sets the environment variables in the Docker container.

*/ inline CreateProcessingJobRequest& AddEnvironment(const char* key, const char* value) { m_environmentHasBeenSet = true; m_environment.emplace(key, value); return *this; } /** *

Networking options for a processing job.

*/ inline const NetworkConfig& GetNetworkConfig() const{ return m_networkConfig; } /** *

Networking options for a processing job.

*/ inline bool NetworkConfigHasBeenSet() const { return m_networkConfigHasBeenSet; } /** *

Networking options for a processing job.

*/ inline void SetNetworkConfig(const NetworkConfig& value) { m_networkConfigHasBeenSet = true; m_networkConfig = value; } /** *

Networking options for a processing job.

*/ inline void SetNetworkConfig(NetworkConfig&& value) { m_networkConfigHasBeenSet = true; m_networkConfig = std::move(value); } /** *

Networking options for a processing job.

*/ inline CreateProcessingJobRequest& WithNetworkConfig(const NetworkConfig& value) { SetNetworkConfig(value); return *this;} /** *

Networking options for a processing job.

*/ inline CreateProcessingJobRequest& WithNetworkConfig(NetworkConfig&& value) { SetNetworkConfig(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can * assume to perform tasks on your behalf.

*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } /** *

The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can * assume to perform tasks on your behalf.

*/ inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can * assume to perform tasks on your behalf.

*/ inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } /** *

The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can * assume to perform tasks on your behalf.

*/ inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can * assume to perform tasks on your behalf.

*/ inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } /** *

The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can * assume to perform tasks on your behalf.

*/ inline CreateProcessingJobRequest& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can * assume to perform tasks on your behalf.

*/ inline CreateProcessingJobRequest& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can * assume to perform tasks on your behalf.

*/ inline CreateProcessingJobRequest& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} /** *

(Optional) An array of key-value pairs. For more information, see Using * Cost Allocation Tags in the AWS Billing and Cost Management User * Guide.

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

(Optional) An array of key-value pairs. For more information, see Using * Cost Allocation Tags in the AWS Billing and Cost Management User * Guide.

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

(Optional) An array of key-value pairs. For more information, see Using * Cost Allocation Tags in the AWS Billing and Cost Management User * Guide.

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

(Optional) An array of key-value pairs. For more information, see Using * Cost Allocation Tags in the AWS Billing and Cost Management User * Guide.

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

(Optional) An array of key-value pairs. For more information, see Using * Cost Allocation Tags in the AWS Billing and Cost Management User * Guide.

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

(Optional) An array of key-value pairs. For more information, see Using * Cost Allocation Tags in the AWS Billing and Cost Management User * Guide.

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

(Optional) An array of key-value pairs. For more information, see Using * Cost Allocation Tags in the AWS Billing and Cost Management User * Guide.

*/ inline CreateProcessingJobRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

(Optional) An array of key-value pairs. For more information, see Using * Cost Allocation Tags in the AWS Billing and Cost Management User * Guide.

*/ inline CreateProcessingJobRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } inline const ExperimentConfig& GetExperimentConfig() const{ return m_experimentConfig; } inline bool ExperimentConfigHasBeenSet() const { return m_experimentConfigHasBeenSet; } inline void SetExperimentConfig(const ExperimentConfig& value) { m_experimentConfigHasBeenSet = true; m_experimentConfig = value; } inline void SetExperimentConfig(ExperimentConfig&& value) { m_experimentConfigHasBeenSet = true; m_experimentConfig = std::move(value); } inline CreateProcessingJobRequest& WithExperimentConfig(const ExperimentConfig& value) { SetExperimentConfig(value); return *this;} inline CreateProcessingJobRequest& WithExperimentConfig(ExperimentConfig&& value) { SetExperimentConfig(std::move(value)); return *this;} private: Aws::Vector m_processingInputs; bool m_processingInputsHasBeenSet; ProcessingOutputConfig m_processingOutputConfig; bool m_processingOutputConfigHasBeenSet; Aws::String m_processingJobName; bool m_processingJobNameHasBeenSet; ProcessingResources m_processingResources; bool m_processingResourcesHasBeenSet; ProcessingStoppingCondition m_stoppingCondition; bool m_stoppingConditionHasBeenSet; AppSpecification m_appSpecification; bool m_appSpecificationHasBeenSet; Aws::Map m_environment; bool m_environmentHasBeenSet; NetworkConfig m_networkConfig; bool m_networkConfigHasBeenSet; Aws::String m_roleArn; bool m_roleArnHasBeenSet; Aws::Vector m_tags; bool m_tagsHasBeenSet; ExperimentConfig m_experimentConfig; bool m_experimentConfigHasBeenSet; }; } // namespace Model } // namespace SageMaker } // namespace Aws