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

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 UpdateRecipeJobRequest& 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 UpdateRecipeJobRequest& 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 UpdateRecipeJobRequest& WithEncryptionKeyArn(const char* value) { SetEncryptionKeyArn(value); return *this;} /** *

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

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

  • 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 - Server-side encryption with keys managed by * KMS.

  • 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 - Server-side encryption with keys managed by * KMS.

  • 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 - Server-side encryption with keys managed by * KMS.

  • 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 - Server-side encryption with keys managed by * KMS.

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

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

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

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

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

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

The name of the job to update.

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

The name of the job to update.

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

The name of the job to update.

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

The name of the job to update.

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

The name of the job to update.

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

The name of the job to update.

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

The name of the job to update.

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

The name of the job to update.

*/ inline UpdateRecipeJobRequest& 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 UpdateRecipeJobRequest& 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 UpdateRecipeJobRequest& WithLogSubscription(LogSubscription&& value) { SetLogSubscription(std::move(value)); return *this;} /** *

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

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

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

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

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

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

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

*/ inline UpdateRecipeJobRequest& 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 UpdateRecipeJobRequest& WithMaxRetries(int value) { SetMaxRetries(value); return *this;} /** *

One or more artifacts that represent the output from running the job.

*/ inline const Aws::Vector& GetOutputs() const{ return m_outputs; } /** *

One or more artifacts that represent the output from running the job.

*/ inline bool OutputsHasBeenSet() const { return m_outputsHasBeenSet; } /** *

One or more artifacts that represent the output from running the job.

*/ inline void SetOutputs(const Aws::Vector& value) { m_outputsHasBeenSet = true; m_outputs = value; } /** *

One or more artifacts that represent the output from running the job.

*/ inline void SetOutputs(Aws::Vector&& value) { m_outputsHasBeenSet = true; m_outputs = std::move(value); } /** *

One or more artifacts that represent the output from running the job.

*/ inline UpdateRecipeJobRequest& WithOutputs(const Aws::Vector& value) { SetOutputs(value); return *this;} /** *

One or more artifacts that represent the output from running the job.

*/ inline UpdateRecipeJobRequest& WithOutputs(Aws::Vector&& value) { SetOutputs(std::move(value)); return *this;} /** *

One or more artifacts that represent the output from running the job.

*/ inline UpdateRecipeJobRequest& AddOutputs(const Output& value) { m_outputsHasBeenSet = true; m_outputs.push_back(value); return *this; } /** *

One or more artifacts that represent the output from running the job.

*/ inline UpdateRecipeJobRequest& AddOutputs(Output&& value) { m_outputsHasBeenSet = true; m_outputs.push_back(std::move(value)); return *this; } /** *

One or more artifacts that represent the Glue Data Catalog output from * running the job.

*/ inline const Aws::Vector& GetDataCatalogOutputs() const{ return m_dataCatalogOutputs; } /** *

One or more artifacts that represent the Glue Data Catalog output from * running the job.

*/ inline bool DataCatalogOutputsHasBeenSet() const { return m_dataCatalogOutputsHasBeenSet; } /** *

One or more artifacts that represent the Glue Data Catalog output from * running the job.

*/ inline void SetDataCatalogOutputs(const Aws::Vector& value) { m_dataCatalogOutputsHasBeenSet = true; m_dataCatalogOutputs = value; } /** *

One or more artifacts that represent the Glue Data Catalog output from * running the job.

*/ inline void SetDataCatalogOutputs(Aws::Vector&& value) { m_dataCatalogOutputsHasBeenSet = true; m_dataCatalogOutputs = std::move(value); } /** *

One or more artifacts that represent the Glue Data Catalog output from * running the job.

*/ inline UpdateRecipeJobRequest& WithDataCatalogOutputs(const Aws::Vector& value) { SetDataCatalogOutputs(value); return *this;} /** *

One or more artifacts that represent the Glue Data Catalog output from * running the job.

*/ inline UpdateRecipeJobRequest& WithDataCatalogOutputs(Aws::Vector&& value) { SetDataCatalogOutputs(std::move(value)); return *this;} /** *

One or more artifacts that represent the Glue Data Catalog output from * running the job.

*/ inline UpdateRecipeJobRequest& AddDataCatalogOutputs(const DataCatalogOutput& value) { m_dataCatalogOutputsHasBeenSet = true; m_dataCatalogOutputs.push_back(value); return *this; } /** *

One or more artifacts that represent the Glue Data Catalog output from * running the job.

*/ inline UpdateRecipeJobRequest& AddDataCatalogOutputs(DataCatalogOutput&& value) { m_dataCatalogOutputsHasBeenSet = true; m_dataCatalogOutputs.push_back(std::move(value)); return *this; } /** *

Represents a list of JDBC database output objects which defines the output * destination for a DataBrew recipe job to write into.

*/ inline const Aws::Vector& GetDatabaseOutputs() const{ return m_databaseOutputs; } /** *

Represents a list of JDBC database output objects which defines the output * destination for a DataBrew recipe job to write into.

*/ inline bool DatabaseOutputsHasBeenSet() const { return m_databaseOutputsHasBeenSet; } /** *

Represents a list of JDBC database output objects which defines the output * destination for a DataBrew recipe job to write into.

*/ inline void SetDatabaseOutputs(const Aws::Vector& value) { m_databaseOutputsHasBeenSet = true; m_databaseOutputs = value; } /** *

Represents a list of JDBC database output objects which defines the output * destination for a DataBrew recipe job to write into.

*/ inline void SetDatabaseOutputs(Aws::Vector&& value) { m_databaseOutputsHasBeenSet = true; m_databaseOutputs = std::move(value); } /** *

Represents a list of JDBC database output objects which defines the output * destination for a DataBrew recipe job to write into.

*/ inline UpdateRecipeJobRequest& WithDatabaseOutputs(const Aws::Vector& value) { SetDatabaseOutputs(value); return *this;} /** *

Represents a list of JDBC database output objects which defines the output * destination for a DataBrew recipe job to write into.

*/ inline UpdateRecipeJobRequest& WithDatabaseOutputs(Aws::Vector&& value) { SetDatabaseOutputs(std::move(value)); return *this;} /** *

Represents a list of JDBC database output objects which defines the output * destination for a DataBrew recipe job to write into.

*/ inline UpdateRecipeJobRequest& AddDatabaseOutputs(const DatabaseOutput& value) { m_databaseOutputsHasBeenSet = true; m_databaseOutputs.push_back(value); return *this; } /** *

Represents a list of JDBC database output objects which defines the output * destination for a DataBrew recipe job to write into.

*/ inline UpdateRecipeJobRequest& AddDatabaseOutputs(DatabaseOutput&& value) { m_databaseOutputsHasBeenSet = true; m_databaseOutputs.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 UpdateRecipeJobRequest& 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 UpdateRecipeJobRequest& 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 UpdateRecipeJobRequest& WithRoleArn(const char* value) { SetRoleArn(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 UpdateRecipeJobRequest& WithTimeout(int value) { SetTimeout(value); return *this;} private: 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; Aws::Vector m_outputs; bool m_outputsHasBeenSet = false; Aws::Vector m_dataCatalogOutputs; bool m_dataCatalogOutputsHasBeenSet = false; Aws::Vector m_databaseOutputs; bool m_databaseOutputsHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; int m_timeout; bool m_timeoutHasBeenSet = false; }; } // namespace Model } // namespace GlueDataBrew } // namespace Aws