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

A structure used to provide information used to update a trigger. This object * updates the previous trigger definition by overwriting it * completely.

See Also:

AWS * API Reference

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

Reserved for future use.

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

Reserved for future use.

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

Reserved for future use.

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

Reserved for future use.

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

Reserved for future use.

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

Reserved for future use.

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

Reserved for future use.

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

Reserved for future use.

*/ inline TriggerUpdate& WithName(const char* value) { SetName(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 TriggerUpdate& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

A description of this trigger.

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

A description of this trigger.

*/ inline TriggerUpdate& 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 TriggerUpdate& 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 TriggerUpdate& 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 TriggerUpdate& 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 TriggerUpdate& WithActions(const Aws::Vector& value) { SetActions(value); return *this;} /** *

The actions initiated by this trigger.

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

The actions initiated by this trigger.

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

The actions initiated by this trigger.

*/ inline TriggerUpdate& 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 TriggerUpdate& WithPredicate(const Predicate& value) { SetPredicate(value); return *this;} /** *

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

*/ inline TriggerUpdate& 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 TriggerUpdate& 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 TriggerUpdate& WithEventBatchingCondition(EventBatchingCondition&& value) { SetEventBatchingCondition(std::move(value)); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = 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