/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Glue { namespace Model { /** *

Information about a specific trigger.

See Also:

AWS API * Reference

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

The name of the trigger.

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

The name of the trigger.

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

The name of the trigger.

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

The name of the trigger.

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

The name of the trigger.

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

The name of the trigger.

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

The name of the trigger.

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

The name of the trigger.

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

The name of the workflow associated with the trigger.

*/ inline const Aws::String& GetWorkflowName() const{ return m_workflowName; } /** *

The name of the workflow associated with the trigger.

*/ inline bool WorkflowNameHasBeenSet() const { return m_workflowNameHasBeenSet; } /** *

The name of the workflow associated with the trigger.

*/ inline void SetWorkflowName(const Aws::String& value) { m_workflowNameHasBeenSet = true; m_workflowName = value; } /** *

The name of the workflow associated with the trigger.

*/ inline void SetWorkflowName(Aws::String&& value) { m_workflowNameHasBeenSet = true; m_workflowName = std::move(value); } /** *

The name of the workflow associated with the trigger.

*/ inline void SetWorkflowName(const char* value) { m_workflowNameHasBeenSet = true; m_workflowName.assign(value); } /** *

The name of the workflow associated with the trigger.

*/ inline Trigger& WithWorkflowName(const Aws::String& value) { SetWorkflowName(value); return *this;} /** *

The name of the workflow associated with the trigger.

*/ inline Trigger& WithWorkflowName(Aws::String&& value) { SetWorkflowName(std::move(value)); return *this;} /** *

The name of the workflow associated with the trigger.

*/ inline Trigger& WithWorkflowName(const char* value) { SetWorkflowName(value); return *this;} /** *

Reserved for future use.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

Reserved for future use.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

Reserved for future use.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

Reserved for future use.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

Reserved for future use.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

Reserved for future use.

*/ inline Trigger& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

Reserved for future use.

*/ inline Trigger& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

Reserved for future use.

*/ inline Trigger& WithId(const char* value) { SetId(value); return *this;} /** *

The type of trigger that this is.

*/ inline const TriggerType& GetType() const{ return m_type; } /** *

The type of trigger that this is.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of trigger that this is.

*/ inline void SetType(const TriggerType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of trigger that this is.

*/ inline void SetType(TriggerType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of trigger that this is.

*/ inline Trigger& WithType(const TriggerType& value) { SetType(value); return *this;} /** *

The type of trigger that this is.

*/ inline Trigger& WithType(TriggerType&& value) { SetType(std::move(value)); return *this;} /** *

The current state of the trigger.

*/ inline const TriggerState& GetState() const{ return m_state; } /** *

The current state of the trigger.

*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

The current state of the trigger.

*/ inline void SetState(const TriggerState& value) { m_stateHasBeenSet = true; m_state = value; } /** *

The current state of the trigger.

*/ inline void SetState(TriggerState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *

The current state of the trigger.

*/ inline Trigger& WithState(const TriggerState& value) { SetState(value); return *this;} /** *

The current state of the trigger.

*/ inline Trigger& WithState(TriggerState&& value) { SetState(std::move(value)); return *this;} /** *

A description of this trigger.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

A description of this trigger.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

A description of this trigger.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

A description of this trigger.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

A description of this trigger.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

A description of this trigger.

*/ inline Trigger& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

A description of this trigger.

*/ inline Trigger& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

A description of this trigger.

*/ inline Trigger& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

A cron expression used to specify the schedule (see Time-Based * Schedules for Jobs and Crawlers. For example, to run something every day at * 12:15 UTC, you would specify: cron(15 12 * * ? *).

*/ inline const Aws::String& GetSchedule() const{ return m_schedule; } /** *

A cron expression used to specify the schedule (see Time-Based * Schedules for Jobs and Crawlers. For example, to run something every day at * 12:15 UTC, you would specify: cron(15 12 * * ? *).

*/ inline bool ScheduleHasBeenSet() const { return m_scheduleHasBeenSet; } /** *

A cron expression used to specify the schedule (see Time-Based * Schedules for Jobs and Crawlers. For example, to run something every day at * 12:15 UTC, you would specify: cron(15 12 * * ? *).

*/ inline void SetSchedule(const Aws::String& value) { m_scheduleHasBeenSet = true; m_schedule = value; } /** *

A cron expression used to specify the schedule (see Time-Based * Schedules for Jobs and Crawlers. For example, to run something every day at * 12:15 UTC, you would specify: cron(15 12 * * ? *).

*/ inline void SetSchedule(Aws::String&& value) { m_scheduleHasBeenSet = true; m_schedule = std::move(value); } /** *

A cron expression used to specify the schedule (see Time-Based * Schedules for Jobs and Crawlers. For example, to run something every day at * 12:15 UTC, you would specify: cron(15 12 * * ? *).

*/ inline void SetSchedule(const char* value) { m_scheduleHasBeenSet = true; m_schedule.assign(value); } /** *

A cron expression used to specify the schedule (see Time-Based * Schedules for Jobs and Crawlers. For example, to run something every day at * 12:15 UTC, you would specify: cron(15 12 * * ? *).

*/ inline Trigger& WithSchedule(const Aws::String& value) { SetSchedule(value); return *this;} /** *

A cron expression used to specify the schedule (see Time-Based * Schedules for Jobs and Crawlers. For example, to run something every day at * 12:15 UTC, you would specify: cron(15 12 * * ? *).

*/ inline Trigger& WithSchedule(Aws::String&& value) { SetSchedule(std::move(value)); return *this;} /** *

A cron expression used to specify the schedule (see Time-Based * Schedules for Jobs and Crawlers. For example, to run something every day at * 12:15 UTC, you would specify: cron(15 12 * * ? *).

*/ inline Trigger& WithSchedule(const char* value) { SetSchedule(value); return *this;} /** *

The actions initiated by this trigger.

*/ inline const Aws::Vector& GetActions() const{ return m_actions; } /** *

The actions initiated by this trigger.

*/ inline bool ActionsHasBeenSet() const { return m_actionsHasBeenSet; } /** *

The actions initiated by this trigger.

*/ inline void SetActions(const Aws::Vector& value) { m_actionsHasBeenSet = true; m_actions = value; } /** *

The actions initiated by this trigger.

*/ inline void SetActions(Aws::Vector&& value) { m_actionsHasBeenSet = true; m_actions = std::move(value); } /** *

The actions initiated by this trigger.

*/ inline Trigger& WithActions(const Aws::Vector& value) { SetActions(value); return *this;} /** *

The actions initiated by this trigger.

*/ inline Trigger& WithActions(Aws::Vector&& value) { SetActions(std::move(value)); return *this;} /** *

The actions initiated by this trigger.

*/ inline Trigger& AddActions(const Action& value) { m_actionsHasBeenSet = true; m_actions.push_back(value); return *this; } /** *

The actions initiated by this trigger.

*/ inline Trigger& AddActions(Action&& value) { m_actionsHasBeenSet = true; m_actions.push_back(std::move(value)); return *this; } /** *

The predicate of this trigger, which defines when it will fire.

*/ inline const Predicate& GetPredicate() const{ return m_predicate; } /** *

The predicate of this trigger, which defines when it will fire.

*/ inline bool PredicateHasBeenSet() const { return m_predicateHasBeenSet; } /** *

The predicate of this trigger, which defines when it will fire.

*/ inline void SetPredicate(const Predicate& value) { m_predicateHasBeenSet = true; m_predicate = value; } /** *

The predicate of this trigger, which defines when it will fire.

*/ inline void SetPredicate(Predicate&& value) { m_predicateHasBeenSet = true; m_predicate = std::move(value); } /** *

The predicate of this trigger, which defines when it will fire.

*/ inline Trigger& WithPredicate(const Predicate& value) { SetPredicate(value); return *this;} /** *

The predicate of this trigger, which defines when it will fire.

*/ inline Trigger& WithPredicate(Predicate&& value) { SetPredicate(std::move(value)); return *this;} /** *

Batch condition that must be met (specified number of events received or * batch time window expired) before EventBridge event trigger fires.

*/ inline const EventBatchingCondition& GetEventBatchingCondition() const{ return m_eventBatchingCondition; } /** *

Batch condition that must be met (specified number of events received or * batch time window expired) before EventBridge event trigger fires.

*/ inline bool EventBatchingConditionHasBeenSet() const { return m_eventBatchingConditionHasBeenSet; } /** *

Batch condition that must be met (specified number of events received or * batch time window expired) before EventBridge event trigger fires.

*/ inline void SetEventBatchingCondition(const EventBatchingCondition& value) { m_eventBatchingConditionHasBeenSet = true; m_eventBatchingCondition = value; } /** *

Batch condition that must be met (specified number of events received or * batch time window expired) before EventBridge event trigger fires.

*/ inline void SetEventBatchingCondition(EventBatchingCondition&& value) { m_eventBatchingConditionHasBeenSet = true; m_eventBatchingCondition = std::move(value); } /** *

Batch condition that must be met (specified number of events received or * batch time window expired) before EventBridge event trigger fires.

*/ inline Trigger& WithEventBatchingCondition(const EventBatchingCondition& value) { SetEventBatchingCondition(value); return *this;} /** *

Batch condition that must be met (specified number of events received or * batch time window expired) before EventBridge event trigger fires.

*/ inline Trigger& WithEventBatchingCondition(EventBatchingCondition&& value) { SetEventBatchingCondition(std::move(value)); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_workflowName; bool m_workflowNameHasBeenSet = false; Aws::String m_id; bool m_idHasBeenSet = false; TriggerType m_type; bool m_typeHasBeenSet = false; TriggerState m_state; bool m_stateHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_schedule; bool m_scheduleHasBeenSet = false; Aws::Vector m_actions; bool m_actionsHasBeenSet = false; Predicate m_predicate; bool m_predicateHasBeenSet = false; EventBatchingCondition m_eventBatchingCondition; bool m_eventBatchingConditionHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws