/** * 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 namespace Aws { namespace GlueDataBrew { namespace Model { /** */ class CreateProfileJobRequest : public GlueDataBrewRequest { public: AWS_GLUEDATABREW_API CreateProfileJobRequest(); // 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 "CreateProfileJob"; } AWS_GLUEDATABREW_API Aws::String SerializePayload() const override; /** *

The name of the dataset that this job is to act upon.

*/ inline const Aws::String& GetDatasetName() const{ return m_datasetName; } /** *

The name of the dataset that this job is to act upon.

*/ inline bool DatasetNameHasBeenSet() const { return m_datasetNameHasBeenSet; } /** *

The name of the dataset that this job is to act upon.

*/ inline void SetDatasetName(const Aws::String& value) { m_datasetNameHasBeenSet = true; m_datasetName = value; } /** *

The name of the dataset that this job is to act upon.

*/ inline void SetDatasetName(Aws::String&& value) { m_datasetNameHasBeenSet = true; m_datasetName = std::move(value); } /** *

The name of the dataset that this job is to act upon.

*/ inline void SetDatasetName(const char* value) { m_datasetNameHasBeenSet = true; m_datasetName.assign(value); } /** *

The name of the dataset that this job is to act upon.

*/ inline CreateProfileJobRequest& WithDatasetName(const Aws::String& value) { SetDatasetName(value); return *this;} /** *

The name of the dataset that this job is to act upon.

*/ inline CreateProfileJobRequest& WithDatasetName(Aws::String&& value) { SetDatasetName(std::move(value)); return *this;} /** *

The name of the dataset that this job is to act upon.

*/ inline CreateProfileJobRequest& WithDatasetName(const char* value) { SetDatasetName(value); return *this;} /** *

The Amazon Resource Name (ARN) of an encryption key that is used to protect * the job.

*/ inline const Aws::String& GetEncryptionKeyArn() const{ return m_encryptionKeyArn; } /** *

The Amazon Resource Name (ARN) of an encryption key that is used to protect * the job.

*/ inline bool EncryptionKeyArnHasBeenSet() const { return m_encryptionKeyArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of an encryption key that is used to protect * the job.

*/ inline void SetEncryptionKeyArn(const Aws::String& value) { m_encryptionKeyArnHasBeenSet = true; m_encryptionKeyArn = value; } /** *

The Amazon Resource Name (ARN) of an encryption key that is used to protect * the job.

*/ inline void SetEncryptionKeyArn(Aws::String&& value) { m_encryptionKeyArnHasBeenSet = true; m_encryptionKeyArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of an encryption key that is used to protect * the job.

*/ inline void SetEncryptionKeyArn(const char* value) { m_encryptionKeyArnHasBeenSet = true; m_encryptionKeyArn.assign(value); } /** *

The Amazon Resource Name (ARN) of an encryption key that is used to protect * the job.

*/ inline CreateProfileJobRequest& WithEncryptionKeyArn(const Aws::String& value) { SetEncryptionKeyArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of an encryption key that is used to protect * the job.

*/ inline CreateProfileJobRequest& WithEncryptionKeyArn(Aws::String&& value) { SetEncryptionKeyArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of an encryption key that is used to protect * the job.

*/ inline CreateProfileJobRequest& WithEncryptionKeyArn(const char* value) { SetEncryptionKeyArn(value); return *this;} /** *

The encryption mode for the job, which can be one of the following:

    *
  • SSE-KMS - SSE-KMS - Server-side encryption * with KMS-managed keys.

  • SSE-S3 - Server-side * encryption with keys managed by Amazon S3.

*/ inline const EncryptionMode& GetEncryptionMode() const{ return m_encryptionMode; } /** *

The encryption mode for the job, which can be one of the following:

    *
  • SSE-KMS - SSE-KMS - Server-side encryption * with KMS-managed keys.

  • SSE-S3 - Server-side * encryption with keys managed by Amazon S3.

*/ inline bool EncryptionModeHasBeenSet() const { return m_encryptionModeHasBeenSet; } /** *

The encryption mode for the job, which can be one of the following:

    *
  • SSE-KMS - SSE-KMS - Server-side encryption * with KMS-managed keys.

  • SSE-S3 - Server-side * encryption with keys managed by Amazon S3.

*/ inline void SetEncryptionMode(const EncryptionMode& value) { m_encryptionModeHasBeenSet = true; m_encryptionMode = value; } /** *

The encryption mode for the job, which can be one of the following:

    *
  • SSE-KMS - SSE-KMS - Server-side encryption * with KMS-managed keys.

  • SSE-S3 - Server-side * encryption with keys managed by Amazon S3.

*/ inline void SetEncryptionMode(EncryptionMode&& value) { m_encryptionModeHasBeenSet = true; m_encryptionMode = std::move(value); } /** *

The encryption mode for the job, which can be one of the following:

    *
  • SSE-KMS - SSE-KMS - Server-side encryption * with KMS-managed keys.

  • SSE-S3 - Server-side * encryption with keys managed by Amazon S3.

*/ inline CreateProfileJobRequest& WithEncryptionMode(const EncryptionMode& value) { SetEncryptionMode(value); return *this;} /** *

The encryption mode for the job, which can be one of the following:

    *
  • SSE-KMS - SSE-KMS - Server-side encryption * with KMS-managed keys.

  • SSE-S3 - Server-side * encryption with keys managed by Amazon S3.

*/ inline CreateProfileJobRequest& WithEncryptionMode(EncryptionMode&& value) { SetEncryptionMode(std::move(value)); return *this;} /** *

The name of the job to be created. Valid characters are alphanumeric (A-Z, * a-z, 0-9), hyphen (-), period (.), and space.

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

The name of the job to be created. Valid characters are alphanumeric (A-Z, * a-z, 0-9), hyphen (-), period (.), and space.

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

The name of the job to be created. Valid characters are alphanumeric (A-Z, * a-z, 0-9), hyphen (-), period (.), and space.

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

The name of the job to be created. Valid characters are alphanumeric (A-Z, * a-z, 0-9), hyphen (-), period (.), and space.

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

The name of the job to be created. Valid characters are alphanumeric (A-Z, * a-z, 0-9), hyphen (-), period (.), and space.

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

The name of the job to be created. Valid characters are alphanumeric (A-Z, * a-z, 0-9), hyphen (-), period (.), and space.

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

The name of the job to be created. Valid characters are alphanumeric (A-Z, * a-z, 0-9), hyphen (-), period (.), and space.

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

The name of the job to be created. Valid characters are alphanumeric (A-Z, * a-z, 0-9), hyphen (-), period (.), and space.

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

Enables or disables Amazon CloudWatch logging for the job. If logging is * enabled, CloudWatch writes one log stream for each job run.

*/ inline const LogSubscription& GetLogSubscription() const{ return m_logSubscription; } /** *

Enables or disables Amazon CloudWatch logging for the job. If logging is * enabled, CloudWatch writes one log stream for each job run.

*/ inline bool LogSubscriptionHasBeenSet() const { return m_logSubscriptionHasBeenSet; } /** *

Enables or disables Amazon CloudWatch logging for the job. If logging is * enabled, CloudWatch writes one log stream for each job run.

*/ inline void SetLogSubscription(const LogSubscription& value) { m_logSubscriptionHasBeenSet = true; m_logSubscription = value; } /** *

Enables or disables Amazon CloudWatch logging for the job. If logging is * enabled, CloudWatch writes one log stream for each job run.

*/ inline void SetLogSubscription(LogSubscription&& value) { m_logSubscriptionHasBeenSet = true; m_logSubscription = std::move(value); } /** *

Enables or disables Amazon CloudWatch logging for the job. If logging is * enabled, CloudWatch writes one log stream for each job run.

*/ inline CreateProfileJobRequest& WithLogSubscription(const LogSubscription& value) { SetLogSubscription(value); return *this;} /** *

Enables or disables Amazon CloudWatch logging for the job. If logging is * enabled, CloudWatch writes one log stream for each job run.

*/ inline CreateProfileJobRequest& WithLogSubscription(LogSubscription&& value) { SetLogSubscription(std::move(value)); return *this;} /** *

The maximum number of nodes that DataBrew can use when the job processes * data.

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

The maximum number of nodes that DataBrew can use when the job processes * data.

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

The maximum number of nodes that DataBrew can use when the job processes * data.

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

The maximum number of nodes that DataBrew can use when the job processes * data.

*/ inline CreateProfileJobRequest& WithMaxCapacity(int value) { SetMaxCapacity(value); return *this;} /** *

The maximum number of times to retry the job after a job run fails.

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

The maximum number of times to retry the job after a job run fails.

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

The maximum number of times to retry the job after a job run fails.

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

The maximum number of times to retry the job after a job run fails.

*/ inline CreateProfileJobRequest& WithMaxRetries(int value) { SetMaxRetries(value); return *this;} inline const S3Location& GetOutputLocation() const{ return m_outputLocation; } inline bool OutputLocationHasBeenSet() const { return m_outputLocationHasBeenSet; } inline void SetOutputLocation(const S3Location& value) { m_outputLocationHasBeenSet = true; m_outputLocation = value; } inline void SetOutputLocation(S3Location&& value) { m_outputLocationHasBeenSet = true; m_outputLocation = std::move(value); } inline CreateProfileJobRequest& WithOutputLocation(const S3Location& value) { SetOutputLocation(value); return *this;} inline CreateProfileJobRequest& WithOutputLocation(S3Location&& value) { SetOutputLocation(std::move(value)); return *this;} /** *

Configuration for profile jobs. Used to select columns, do evaluations, and * override default parameters of evaluations. When configuration is null, the * profile job will run with default settings.

*/ inline const ProfileConfiguration& GetConfiguration() const{ return m_configuration; } /** *

Configuration for profile jobs. Used to select columns, do evaluations, and * override default parameters of evaluations. When configuration is null, the * profile job will run with default settings.

*/ inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; } /** *

Configuration for profile jobs. Used to select columns, do evaluations, and * override default parameters of evaluations. When configuration is null, the * profile job will run with default settings.

*/ inline void SetConfiguration(const ProfileConfiguration& value) { m_configurationHasBeenSet = true; m_configuration = value; } /** *

Configuration for profile jobs. Used to select columns, do evaluations, and * override default parameters of evaluations. When configuration is null, the * profile job will run with default settings.

*/ inline void SetConfiguration(ProfileConfiguration&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); } /** *

Configuration for profile jobs. Used to select columns, do evaluations, and * override default parameters of evaluations. When configuration is null, the * profile job will run with default settings.

*/ inline CreateProfileJobRequest& WithConfiguration(const ProfileConfiguration& value) { SetConfiguration(value); return *this;} /** *

Configuration for profile jobs. Used to select columns, do evaluations, and * override default parameters of evaluations. When configuration is null, the * profile job will run with default settings.

*/ inline CreateProfileJobRequest& WithConfiguration(ProfileConfiguration&& value) { SetConfiguration(std::move(value)); return *this;} /** *

List of validation configurations that are applied to the profile job.

*/ inline const Aws::Vector& GetValidationConfigurations() const{ return m_validationConfigurations; } /** *

List of validation configurations that are applied to the profile job.

*/ inline bool ValidationConfigurationsHasBeenSet() const { return m_validationConfigurationsHasBeenSet; } /** *

List of validation configurations that are applied to the profile job.

*/ inline void SetValidationConfigurations(const Aws::Vector& value) { m_validationConfigurationsHasBeenSet = true; m_validationConfigurations = value; } /** *

List of validation configurations that are applied to the profile job.

*/ inline void SetValidationConfigurations(Aws::Vector&& value) { m_validationConfigurationsHasBeenSet = true; m_validationConfigurations = std::move(value); } /** *

List of validation configurations that are applied to the profile job.

*/ inline CreateProfileJobRequest& WithValidationConfigurations(const Aws::Vector& value) { SetValidationConfigurations(value); return *this;} /** *

List of validation configurations that are applied to the profile job.

*/ inline CreateProfileJobRequest& WithValidationConfigurations(Aws::Vector&& value) { SetValidationConfigurations(std::move(value)); return *this;} /** *

List of validation configurations that are applied to the profile job.

*/ inline CreateProfileJobRequest& AddValidationConfigurations(const ValidationConfiguration& value) { m_validationConfigurationsHasBeenSet = true; m_validationConfigurations.push_back(value); return *this; } /** *

List of validation configurations that are applied to the profile job.

*/ inline CreateProfileJobRequest& AddValidationConfigurations(ValidationConfiguration&& value) { m_validationConfigurationsHasBeenSet = true; m_validationConfigurations.push_back(std::move(value)); return *this; } /** *

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role to be assumed when DataBrew runs the job.

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

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role to be assumed when DataBrew runs the job.

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

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role to be assumed when DataBrew runs the job.

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

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role to be assumed when DataBrew runs the job.

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

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role to be assumed when DataBrew runs the job.

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

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role to be assumed when DataBrew runs the job.

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

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role to be assumed when DataBrew runs the job.

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

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role to be assumed when DataBrew runs the job.

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

Metadata tags to apply to this job.

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

Metadata tags to apply to this job.

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

Metadata tags to apply to this job.

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

Metadata tags to apply to this job.

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

Metadata tags to apply to this job.

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

Metadata tags to apply to this job.

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

Metadata tags to apply to this job.

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

Metadata tags to apply to this job.

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

Metadata tags to apply to this job.

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

Metadata tags to apply to this job.

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

Metadata tags to apply to this job.

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

Metadata tags to apply to this job.

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

Metadata tags to apply to this job.

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

The job's timeout in minutes. A job that attempts to run longer than this * timeout period ends with a status of TIMEOUT.

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

The job's timeout in minutes. A job that attempts to run longer than this * timeout period ends with a status of TIMEOUT.

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

The job's timeout in minutes. A job that attempts to run longer than this * timeout period ends with a status of TIMEOUT.

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

The job's timeout in minutes. A job that attempts to run longer than this * timeout period ends with a status of TIMEOUT.

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

Sample configuration for profile jobs only. Determines the number of rows on * which the profile job will be executed. If a JobSample value is not provided, * the default value will be used. The default value is CUSTOM_ROWS for the mode * parameter and 20000 for the size parameter.

*/ inline const JobSample& GetJobSample() const{ return m_jobSample; } /** *

Sample configuration for profile jobs only. Determines the number of rows on * which the profile job will be executed. If a JobSample value is not provided, * the default value will be used. The default value is CUSTOM_ROWS for the mode * parameter and 20000 for the size parameter.

*/ inline bool JobSampleHasBeenSet() const { return m_jobSampleHasBeenSet; } /** *

Sample configuration for profile jobs only. Determines the number of rows on * which the profile job will be executed. If a JobSample value is not provided, * the default value will be used. The default value is CUSTOM_ROWS for the mode * parameter and 20000 for the size parameter.

*/ inline void SetJobSample(const JobSample& value) { m_jobSampleHasBeenSet = true; m_jobSample = value; } /** *

Sample configuration for profile jobs only. Determines the number of rows on * which the profile job will be executed. If a JobSample value is not provided, * the default value will be used. The default value is CUSTOM_ROWS for the mode * parameter and 20000 for the size parameter.

*/ inline void SetJobSample(JobSample&& value) { m_jobSampleHasBeenSet = true; m_jobSample = std::move(value); } /** *

Sample configuration for profile jobs only. Determines the number of rows on * which the profile job will be executed. If a JobSample value is not provided, * the default value will be used. The default value is CUSTOM_ROWS for the mode * parameter and 20000 for the size parameter.

*/ inline CreateProfileJobRequest& WithJobSample(const JobSample& value) { SetJobSample(value); return *this;} /** *

Sample configuration for profile jobs only. Determines the number of rows on * which the profile job will be executed. If a JobSample value is not provided, * the default value will be used. The default value is CUSTOM_ROWS for the mode * parameter and 20000 for the size parameter.

*/ inline CreateProfileJobRequest& WithJobSample(JobSample&& value) { SetJobSample(std::move(value)); return *this;} private: Aws::String m_datasetName; bool m_datasetNameHasBeenSet = false; Aws::String m_encryptionKeyArn; bool m_encryptionKeyArnHasBeenSet = false; EncryptionMode m_encryptionMode; bool m_encryptionModeHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; LogSubscription m_logSubscription; bool m_logSubscriptionHasBeenSet = false; int m_maxCapacity; bool m_maxCapacityHasBeenSet = false; int m_maxRetries; bool m_maxRetriesHasBeenSet = false; S3Location m_outputLocation; bool m_outputLocationHasBeenSet = false; ProfileConfiguration m_configuration; bool m_configurationHasBeenSet = false; Aws::Vector m_validationConfigurations; bool m_validationConfigurationsHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; int m_timeout; bool m_timeoutHasBeenSet = false; JobSample m_jobSample; bool m_jobSampleHasBeenSet = false; }; } // namespace Model } // namespace GlueDataBrew } // namespace Aws