/** * 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 namespace Aws { namespace CodeStarNotifications { namespace Model { /** */ class UpdateNotificationRuleRequest : public CodeStarNotificationsRequest { public: AWS_CODESTARNOTIFICATIONS_API UpdateNotificationRuleRequest(); // 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 "UpdateNotificationRule"; } AWS_CODESTARNOTIFICATIONS_API Aws::String SerializePayload() const override; /** *

The Amazon Resource Name (ARN) of the notification rule.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The Amazon Resource Name (ARN) of the notification rule.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the notification rule.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The Amazon Resource Name (ARN) of the notification rule.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the notification rule.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The Amazon Resource Name (ARN) of the notification rule.

*/ inline UpdateNotificationRuleRequest& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the notification rule.

*/ inline UpdateNotificationRuleRequest& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the notification rule.

*/ inline UpdateNotificationRuleRequest& WithArn(const char* value) { SetArn(value); return *this;} /** *

The name of the notification rule.

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

The name of the notification rule.

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

The name of the notification rule.

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

The name of the notification rule.

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

The name of the notification rule.

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

The name of the notification rule.

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

The name of the notification rule.

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

The name of the notification rule.

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

The status of the notification rule. Valid statuses include enabled (sending * notifications) or disabled (not sending notifications).

*/ inline const NotificationRuleStatus& GetStatus() const{ return m_status; } /** *

The status of the notification rule. Valid statuses include enabled (sending * notifications) or disabled (not sending notifications).

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the notification rule. Valid statuses include enabled (sending * notifications) or disabled (not sending notifications).

*/ inline void SetStatus(const NotificationRuleStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the notification rule. Valid statuses include enabled (sending * notifications) or disabled (not sending notifications).

*/ inline void SetStatus(NotificationRuleStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the notification rule. Valid statuses include enabled (sending * notifications) or disabled (not sending notifications).

*/ inline UpdateNotificationRuleRequest& WithStatus(const NotificationRuleStatus& value) { SetStatus(value); return *this;} /** *

The status of the notification rule. Valid statuses include enabled (sending * notifications) or disabled (not sending notifications).

*/ inline UpdateNotificationRuleRequest& WithStatus(NotificationRuleStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

A list of event types associated with this notification rule. For a complete * list of event types and IDs, see Notification * concepts in the Developer Tools Console User Guide.

*/ inline const Aws::Vector& GetEventTypeIds() const{ return m_eventTypeIds; } /** *

A list of event types associated with this notification rule. For a complete * list of event types and IDs, see Notification * concepts in the Developer Tools Console User Guide.

*/ inline bool EventTypeIdsHasBeenSet() const { return m_eventTypeIdsHasBeenSet; } /** *

A list of event types associated with this notification rule. For a complete * list of event types and IDs, see Notification * concepts in the Developer Tools Console User Guide.

*/ inline void SetEventTypeIds(const Aws::Vector& value) { m_eventTypeIdsHasBeenSet = true; m_eventTypeIds = value; } /** *

A list of event types associated with this notification rule. For a complete * list of event types and IDs, see Notification * concepts in the Developer Tools Console User Guide.

*/ inline void SetEventTypeIds(Aws::Vector&& value) { m_eventTypeIdsHasBeenSet = true; m_eventTypeIds = std::move(value); } /** *

A list of event types associated with this notification rule. For a complete * list of event types and IDs, see Notification * concepts in the Developer Tools Console User Guide.

*/ inline UpdateNotificationRuleRequest& WithEventTypeIds(const Aws::Vector& value) { SetEventTypeIds(value); return *this;} /** *

A list of event types associated with this notification rule. For a complete * list of event types and IDs, see Notification * concepts in the Developer Tools Console User Guide.

*/ inline UpdateNotificationRuleRequest& WithEventTypeIds(Aws::Vector&& value) { SetEventTypeIds(std::move(value)); return *this;} /** *

A list of event types associated with this notification rule. For a complete * list of event types and IDs, see Notification * concepts in the Developer Tools Console User Guide.

*/ inline UpdateNotificationRuleRequest& AddEventTypeIds(const Aws::String& value) { m_eventTypeIdsHasBeenSet = true; m_eventTypeIds.push_back(value); return *this; } /** *

A list of event types associated with this notification rule. For a complete * list of event types and IDs, see Notification * concepts in the Developer Tools Console User Guide.

*/ inline UpdateNotificationRuleRequest& AddEventTypeIds(Aws::String&& value) { m_eventTypeIdsHasBeenSet = true; m_eventTypeIds.push_back(std::move(value)); return *this; } /** *

A list of event types associated with this notification rule. For a complete * list of event types and IDs, see Notification * concepts in the Developer Tools Console User Guide.

*/ inline UpdateNotificationRuleRequest& AddEventTypeIds(const char* value) { m_eventTypeIdsHasBeenSet = true; m_eventTypeIds.push_back(value); return *this; } /** *

The address and type of the targets to receive notifications from this * notification rule.

*/ inline const Aws::Vector& GetTargets() const{ return m_targets; } /** *

The address and type of the targets to receive notifications from this * notification rule.

*/ inline bool TargetsHasBeenSet() const { return m_targetsHasBeenSet; } /** *

The address and type of the targets to receive notifications from this * notification rule.

*/ inline void SetTargets(const Aws::Vector& value) { m_targetsHasBeenSet = true; m_targets = value; } /** *

The address and type of the targets to receive notifications from this * notification rule.

*/ inline void SetTargets(Aws::Vector&& value) { m_targetsHasBeenSet = true; m_targets = std::move(value); } /** *

The address and type of the targets to receive notifications from this * notification rule.

*/ inline UpdateNotificationRuleRequest& WithTargets(const Aws::Vector& value) { SetTargets(value); return *this;} /** *

The address and type of the targets to receive notifications from this * notification rule.

*/ inline UpdateNotificationRuleRequest& WithTargets(Aws::Vector&& value) { SetTargets(std::move(value)); return *this;} /** *

The address and type of the targets to receive notifications from this * notification rule.

*/ inline UpdateNotificationRuleRequest& AddTargets(const Target& value) { m_targetsHasBeenSet = true; m_targets.push_back(value); return *this; } /** *

The address and type of the targets to receive notifications from this * notification rule.

*/ inline UpdateNotificationRuleRequest& AddTargets(Target&& value) { m_targetsHasBeenSet = true; m_targets.push_back(std::move(value)); return *this; } /** *

The level of detail to include in the notifications for this resource. BASIC * will include only the contents of the event as it would appear in Amazon * CloudWatch. FULL will include any supplemental information provided by AWS * CodeStar Notifications and/or the service for the resource for which the * notification is created.

*/ inline const DetailType& GetDetailType() const{ return m_detailType; } /** *

The level of detail to include in the notifications for this resource. BASIC * will include only the contents of the event as it would appear in Amazon * CloudWatch. FULL will include any supplemental information provided by AWS * CodeStar Notifications and/or the service for the resource for which the * notification is created.

*/ inline bool DetailTypeHasBeenSet() const { return m_detailTypeHasBeenSet; } /** *

The level of detail to include in the notifications for this resource. BASIC * will include only the contents of the event as it would appear in Amazon * CloudWatch. FULL will include any supplemental information provided by AWS * CodeStar Notifications and/or the service for the resource for which the * notification is created.

*/ inline void SetDetailType(const DetailType& value) { m_detailTypeHasBeenSet = true; m_detailType = value; } /** *

The level of detail to include in the notifications for this resource. BASIC * will include only the contents of the event as it would appear in Amazon * CloudWatch. FULL will include any supplemental information provided by AWS * CodeStar Notifications and/or the service for the resource for which the * notification is created.

*/ inline void SetDetailType(DetailType&& value) { m_detailTypeHasBeenSet = true; m_detailType = std::move(value); } /** *

The level of detail to include in the notifications for this resource. BASIC * will include only the contents of the event as it would appear in Amazon * CloudWatch. FULL will include any supplemental information provided by AWS * CodeStar Notifications and/or the service for the resource for which the * notification is created.

*/ inline UpdateNotificationRuleRequest& WithDetailType(const DetailType& value) { SetDetailType(value); return *this;} /** *

The level of detail to include in the notifications for this resource. BASIC * will include only the contents of the event as it would appear in Amazon * CloudWatch. FULL will include any supplemental information provided by AWS * CodeStar Notifications and/or the service for the resource for which the * notification is created.

*/ inline UpdateNotificationRuleRequest& WithDetailType(DetailType&& value) { SetDetailType(std::move(value)); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; NotificationRuleStatus m_status; bool m_statusHasBeenSet = false; Aws::Vector m_eventTypeIds; bool m_eventTypeIdsHasBeenSet = false; Aws::Vector m_targets; bool m_targetsHasBeenSet = false; DetailType m_detailType; bool m_detailTypeHasBeenSet = false; }; } // namespace Model } // namespace CodeStarNotifications } // namespace Aws