/** * 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 CreateProcessingJobRequest : public SageMakerRequest { public: AWS_SAGEMAKER_API 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_SAGEMAKER_API Aws::String SerializePayload() const override; AWS_SAGEMAKER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

An array of inputs configuring the data to download into the processing * container.

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

An array of inputs configuring the data to download into the processing * container.

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

An array of inputs configuring the data to download into the processing * container.

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

An array of inputs configuring the data to download into the processing * container.

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

An array of inputs configuring the data to download into the processing * container.

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

An array of inputs configuring the data to download into the processing * container.

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

An array of inputs configuring the data to download into the processing * container.

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

An array of inputs configuring the data to download into the processing * container.

*/ 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 Amazon Web * Services Region in the Amazon Web Services account.

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

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

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

The name of the processing job. The name must be unique within an Amazon Web * Services Region in the Amazon Web Services 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 Amazon Web * Services Region in the Amazon Web Services 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 Amazon Web * Services Region in the Amazon Web Services 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 Amazon Web * Services Region in the Amazon Web Services 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 Amazon Web * Services Region in the Amazon Web Services 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 Amazon Web * Services Region in the Amazon Web Services 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;} /** *

The environment variables to set in the Docker container. Up to 100 key and * values entries in the map are supported.

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

The environment variables to set in the Docker container. Up to 100 key and * values entries in the map are supported.

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

The environment variables to set in the Docker container. Up to 100 key and * values entries in the map are supported.

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

The environment variables to set in the Docker container. Up to 100 key and * values entries in the map are supported.

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

The environment variables to set in the Docker container. Up to 100 key and * values entries in the map are supported.

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

The environment variables to set in the Docker container. Up to 100 key and * values entries in the map are supported.

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

The environment variables to set in the Docker container. Up to 100 key and * values entries in the map are supported.

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

The environment variables to set in the Docker container. Up to 100 key and * values entries in the map are supported.

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

The environment variables to set in the Docker container. Up to 100 key and * values entries in the map are supported.

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

The environment variables to set in the Docker container. Up to 100 key and * values entries in the map are supported.

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

The environment variables to set in the Docker container. Up to 100 key and * values entries in the map are supported.

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

The environment variables to set in the Docker container. Up to 100 key and * values entries in the map are supported.

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

The environment variables to set in the Docker container. Up to 100 key and * values entries in the map are supported.

*/ 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, such as whether to allow inbound and * outbound network calls to and from processing containers, and the VPC subnets * and security groups to use for VPC-enabled processing jobs.

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

Networking options for a processing job, such as whether to allow inbound and * outbound network calls to and from processing containers, and the VPC subnets * and security groups to use for VPC-enabled processing jobs.

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

Networking options for a processing job, such as whether to allow inbound and * outbound network calls to and from processing containers, and the VPC subnets * and security groups to use for VPC-enabled processing jobs.

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

Networking options for a processing job, such as whether to allow inbound and * outbound network calls to and from processing containers, and the VPC subnets * and security groups to use for VPC-enabled processing jobs.

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

Networking options for a processing job, such as whether to allow inbound and * outbound network calls to and from processing containers, and the VPC subnets * and security groups to use for VPC-enabled processing jobs.

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

Networking options for a processing job, such as whether to allow inbound and * outbound network calls to and from processing containers, and the VPC subnets * and security groups to use for VPC-enabled processing jobs.

*/ 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 = false; ProcessingOutputConfig m_processingOutputConfig; bool m_processingOutputConfigHasBeenSet = false; Aws::String m_processingJobName; bool m_processingJobNameHasBeenSet = false; ProcessingResources m_processingResources; bool m_processingResourcesHasBeenSet = false; ProcessingStoppingCondition m_stoppingCondition; bool m_stoppingConditionHasBeenSet = false; AppSpecification m_appSpecification; bool m_appSpecificationHasBeenSet = false; Aws::Map m_environment; bool m_environmentHasBeenSet = false; NetworkConfig m_networkConfig; bool m_networkConfigHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; ExperimentConfig m_experimentConfig; bool m_experimentConfigHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws