/** * 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 CodeDeploy { namespace Model { /** *

Information about notification triggers for the deployment * group.

See Also:

AWS * API Reference

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

The name of the notification trigger.

*/ inline const Aws::String& GetTriggerName() const{ return m_triggerName; } /** *

The name of the notification trigger.

*/ inline bool TriggerNameHasBeenSet() const { return m_triggerNameHasBeenSet; } /** *

The name of the notification trigger.

*/ inline void SetTriggerName(const Aws::String& value) { m_triggerNameHasBeenSet = true; m_triggerName = value; } /** *

The name of the notification trigger.

*/ inline void SetTriggerName(Aws::String&& value) { m_triggerNameHasBeenSet = true; m_triggerName = std::move(value); } /** *

The name of the notification trigger.

*/ inline void SetTriggerName(const char* value) { m_triggerNameHasBeenSet = true; m_triggerName.assign(value); } /** *

The name of the notification trigger.

*/ inline TriggerConfig& WithTriggerName(const Aws::String& value) { SetTriggerName(value); return *this;} /** *

The name of the notification trigger.

*/ inline TriggerConfig& WithTriggerName(Aws::String&& value) { SetTriggerName(std::move(value)); return *this;} /** *

The name of the notification trigger.

*/ inline TriggerConfig& WithTriggerName(const char* value) { SetTriggerName(value); return *this;} /** *

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service * topic through which notifications about deployment or instance events are * sent.

*/ inline const Aws::String& GetTriggerTargetArn() const{ return m_triggerTargetArn; } /** *

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service * topic through which notifications about deployment or instance events are * sent.

*/ inline bool TriggerTargetArnHasBeenSet() const { return m_triggerTargetArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service * topic through which notifications about deployment or instance events are * sent.

*/ inline void SetTriggerTargetArn(const Aws::String& value) { m_triggerTargetArnHasBeenSet = true; m_triggerTargetArn = value; } /** *

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service * topic through which notifications about deployment or instance events are * sent.

*/ inline void SetTriggerTargetArn(Aws::String&& value) { m_triggerTargetArnHasBeenSet = true; m_triggerTargetArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service * topic through which notifications about deployment or instance events are * sent.

*/ inline void SetTriggerTargetArn(const char* value) { m_triggerTargetArnHasBeenSet = true; m_triggerTargetArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service * topic through which notifications about deployment or instance events are * sent.

*/ inline TriggerConfig& WithTriggerTargetArn(const Aws::String& value) { SetTriggerTargetArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service * topic through which notifications about deployment or instance events are * sent.

*/ inline TriggerConfig& WithTriggerTargetArn(Aws::String&& value) { SetTriggerTargetArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service * topic through which notifications about deployment or instance events are * sent.

*/ inline TriggerConfig& WithTriggerTargetArn(const char* value) { SetTriggerTargetArn(value); return *this;} /** *

The event type or types for which notifications are triggered.

*/ inline const Aws::Vector& GetTriggerEvents() const{ return m_triggerEvents; } /** *

The event type or types for which notifications are triggered.

*/ inline bool TriggerEventsHasBeenSet() const { return m_triggerEventsHasBeenSet; } /** *

The event type or types for which notifications are triggered.

*/ inline void SetTriggerEvents(const Aws::Vector& value) { m_triggerEventsHasBeenSet = true; m_triggerEvents = value; } /** *

The event type or types for which notifications are triggered.

*/ inline void SetTriggerEvents(Aws::Vector&& value) { m_triggerEventsHasBeenSet = true; m_triggerEvents = std::move(value); } /** *

The event type or types for which notifications are triggered.

*/ inline TriggerConfig& WithTriggerEvents(const Aws::Vector& value) { SetTriggerEvents(value); return *this;} /** *

The event type or types for which notifications are triggered.

*/ inline TriggerConfig& WithTriggerEvents(Aws::Vector&& value) { SetTriggerEvents(std::move(value)); return *this;} /** *

The event type or types for which notifications are triggered.

*/ inline TriggerConfig& AddTriggerEvents(const TriggerEventType& value) { m_triggerEventsHasBeenSet = true; m_triggerEvents.push_back(value); return *this; } /** *

The event type or types for which notifications are triggered.

*/ inline TriggerConfig& AddTriggerEvents(TriggerEventType&& value) { m_triggerEventsHasBeenSet = true; m_triggerEvents.push_back(std::move(value)); return *this; } private: Aws::String m_triggerName; bool m_triggerNameHasBeenSet = false; Aws::String m_triggerTargetArn; bool m_triggerTargetArnHasBeenSet = false; Aws::Vector m_triggerEvents; bool m_triggerEventsHasBeenSet = false; }; } // namespace Model } // namespace CodeDeploy } // namespace Aws