/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Glue { namespace Model { /** *

Defines an action to be initiated by a trigger.

See Also:

AWS API * Reference

*/ class Action { public: AWS_GLUE_API Action(); AWS_GLUE_API Action(Aws::Utils::Json::JsonView jsonValue); AWS_GLUE_API Action& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_GLUE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The name of a job to be run.

*/ inline const Aws::String& GetJobName() const{ return m_jobName; } /** *

The name of a job to be run.

*/ inline bool JobNameHasBeenSet() const { return m_jobNameHasBeenSet; } /** *

The name of a job to be run.

*/ inline void SetJobName(const Aws::String& value) { m_jobNameHasBeenSet = true; m_jobName = value; } /** *

The name of a job to be run.

*/ inline void SetJobName(Aws::String&& value) { m_jobNameHasBeenSet = true; m_jobName = std::move(value); } /** *

The name of a job to be run.

*/ inline void SetJobName(const char* value) { m_jobNameHasBeenSet = true; m_jobName.assign(value); } /** *

The name of a job to be run.

*/ inline Action& WithJobName(const Aws::String& value) { SetJobName(value); return *this;} /** *

The name of a job to be run.

*/ inline Action& WithJobName(Aws::String&& value) { SetJobName(std::move(value)); return *this;} /** *

The name of a job to be run.

*/ inline Action& WithJobName(const char* value) { SetJobName(value); return *this;} /** *

The job arguments used when this trigger fires. For this job run, they * replace the default arguments set in the job definition itself.

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

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

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

*/ inline const Aws::Map& GetArguments() const{ return m_arguments; } /** *

The job arguments used when this trigger fires. For this job run, they * replace the default arguments set in the job definition itself.

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

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

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

*/ inline bool ArgumentsHasBeenSet() const { return m_argumentsHasBeenSet; } /** *

The job arguments used when this trigger fires. For this job run, they * replace the default arguments set in the job definition itself.

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

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

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

*/ inline void SetArguments(const Aws::Map& value) { m_argumentsHasBeenSet = true; m_arguments = value; } /** *

The job arguments used when this trigger fires. For this job run, they * replace the default arguments set in the job definition itself.

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

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

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

*/ inline void SetArguments(Aws::Map&& value) { m_argumentsHasBeenSet = true; m_arguments = std::move(value); } /** *

The job arguments used when this trigger fires. For this job run, they * replace the default arguments set in the job definition itself.

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

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

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

*/ inline Action& WithArguments(const Aws::Map& value) { SetArguments(value); return *this;} /** *

The job arguments used when this trigger fires. For this job run, they * replace the default arguments set in the job definition itself.

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

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

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

*/ inline Action& WithArguments(Aws::Map&& value) { SetArguments(std::move(value)); return *this;} /** *

The job arguments used when this trigger fires. For this job run, they * replace the default arguments set in the job definition itself.

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

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

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

*/ inline Action& AddArguments(const Aws::String& key, const Aws::String& value) { m_argumentsHasBeenSet = true; m_arguments.emplace(key, value); return *this; } /** *

The job arguments used when this trigger fires. For this job run, they * replace the default arguments set in the job definition itself.

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

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

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

*/ inline Action& AddArguments(Aws::String&& key, const Aws::String& value) { m_argumentsHasBeenSet = true; m_arguments.emplace(std::move(key), value); return *this; } /** *

The job arguments used when this trigger fires. For this job run, they * replace the default arguments set in the job definition itself.

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

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

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

*/ inline Action& AddArguments(const Aws::String& key, Aws::String&& value) { m_argumentsHasBeenSet = true; m_arguments.emplace(key, std::move(value)); return *this; } /** *

The job arguments used when this trigger fires. For this job run, they * replace the default arguments set in the job definition itself.

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

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

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

*/ inline Action& AddArguments(Aws::String&& key, Aws::String&& value) { m_argumentsHasBeenSet = true; m_arguments.emplace(std::move(key), std::move(value)); return *this; } /** *

The job arguments used when this trigger fires. For this job run, they * replace the default arguments set in the job definition itself.

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

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

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

*/ inline Action& AddArguments(const char* key, Aws::String&& value) { m_argumentsHasBeenSet = true; m_arguments.emplace(key, std::move(value)); return *this; } /** *

The job arguments used when this trigger fires. For this job run, they * replace the default arguments set in the job definition itself.

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

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

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

*/ inline Action& AddArguments(Aws::String&& key, const char* value) { m_argumentsHasBeenSet = true; m_arguments.emplace(std::move(key), value); return *this; } /** *

The job arguments used when this trigger fires. For this job run, they * replace the default arguments set in the job definition itself.

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

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

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

*/ inline Action& AddArguments(const char* key, const char* value) { m_argumentsHasBeenSet = true; m_arguments.emplace(key, value); return *this; } /** *

The JobRun 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). This * overrides the timeout value set in the parent job.

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

The JobRun 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). This * overrides the timeout value set in the parent job.

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

The JobRun 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). This * overrides the timeout value set in the parent job.

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

The JobRun 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). This * overrides the timeout value set in the parent job.

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

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

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

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

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

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

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

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

*/ 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 action.

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

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

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

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

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

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

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

Specifies configuration properties of a job run notification.

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

Specifies configuration properties of a job run notification.

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

Specifies configuration properties of a job run notification.

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

Specifies configuration properties of a job run notification.

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

Specifies configuration properties of a job run notification.

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

Specifies configuration properties of a job run notification.

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

The name of the crawler to be used with this action.

*/ inline const Aws::String& GetCrawlerName() const{ return m_crawlerName; } /** *

The name of the crawler to be used with this action.

*/ inline bool CrawlerNameHasBeenSet() const { return m_crawlerNameHasBeenSet; } /** *

The name of the crawler to be used with this action.

*/ inline void SetCrawlerName(const Aws::String& value) { m_crawlerNameHasBeenSet = true; m_crawlerName = value; } /** *

The name of the crawler to be used with this action.

*/ inline void SetCrawlerName(Aws::String&& value) { m_crawlerNameHasBeenSet = true; m_crawlerName = std::move(value); } /** *

The name of the crawler to be used with this action.

*/ inline void SetCrawlerName(const char* value) { m_crawlerNameHasBeenSet = true; m_crawlerName.assign(value); } /** *

The name of the crawler to be used with this action.

*/ inline Action& WithCrawlerName(const Aws::String& value) { SetCrawlerName(value); return *this;} /** *

The name of the crawler to be used with this action.

*/ inline Action& WithCrawlerName(Aws::String&& value) { SetCrawlerName(std::move(value)); return *this;} /** *

The name of the crawler to be used with this action.

*/ inline Action& WithCrawlerName(const char* value) { SetCrawlerName(value); return *this;} private: Aws::String m_jobName; bool m_jobNameHasBeenSet = false; Aws::Map m_arguments; bool m_argumentsHasBeenSet = false; int m_timeout; bool m_timeoutHasBeenSet = false; Aws::String m_securityConfiguration; bool m_securityConfigurationHasBeenSet = false; NotificationProperty m_notificationProperty; bool m_notificationPropertyHasBeenSet = false; Aws::String m_crawlerName; bool m_crawlerNameHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws