1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/devops-guru/DevOpsGuru_EXPORTS.h> 8 #include <aws/devops-guru/DevOpsGuruRequest.h> 9 #include <aws/devops-guru/model/NotificationChannelConfig.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace DevOpsGuru 15 { 16 namespace Model 17 { 18 19 /** 20 */ 21 class AWS_DEVOPSGURU_API AddNotificationChannelRequest : public DevOpsGuruRequest 22 { 23 public: 24 AddNotificationChannelRequest(); 25 26 // Service request name is the Operation name which will send this request out, 27 // each operation should has unique request name, so that we can get operation's name from this request. 28 // Note: this is not true for response, multiple operations may have the same response name, 29 // so we can not get operation's name from response. GetServiceRequestName()30 inline virtual const char* GetServiceRequestName() const override { return "AddNotificationChannel"; } 31 32 Aws::String SerializePayload() const override; 33 34 35 /** 36 * <p> A <code>NotificationChannelConfig</code> object that specifies what type of 37 * notification channel to add. The one supported notification channel is Amazon 38 * Simple Notification Service (Amazon SNS). </p> 39 */ GetConfig()40 inline const NotificationChannelConfig& GetConfig() const{ return m_config; } 41 42 /** 43 * <p> A <code>NotificationChannelConfig</code> object that specifies what type of 44 * notification channel to add. The one supported notification channel is Amazon 45 * Simple Notification Service (Amazon SNS). </p> 46 */ ConfigHasBeenSet()47 inline bool ConfigHasBeenSet() const { return m_configHasBeenSet; } 48 49 /** 50 * <p> A <code>NotificationChannelConfig</code> object that specifies what type of 51 * notification channel to add. The one supported notification channel is Amazon 52 * Simple Notification Service (Amazon SNS). </p> 53 */ SetConfig(const NotificationChannelConfig & value)54 inline void SetConfig(const NotificationChannelConfig& value) { m_configHasBeenSet = true; m_config = value; } 55 56 /** 57 * <p> A <code>NotificationChannelConfig</code> object that specifies what type of 58 * notification channel to add. The one supported notification channel is Amazon 59 * Simple Notification Service (Amazon SNS). </p> 60 */ SetConfig(NotificationChannelConfig && value)61 inline void SetConfig(NotificationChannelConfig&& value) { m_configHasBeenSet = true; m_config = std::move(value); } 62 63 /** 64 * <p> A <code>NotificationChannelConfig</code> object that specifies what type of 65 * notification channel to add. The one supported notification channel is Amazon 66 * Simple Notification Service (Amazon SNS). </p> 67 */ WithConfig(const NotificationChannelConfig & value)68 inline AddNotificationChannelRequest& WithConfig(const NotificationChannelConfig& value) { SetConfig(value); return *this;} 69 70 /** 71 * <p> A <code>NotificationChannelConfig</code> object that specifies what type of 72 * notification channel to add. The one supported notification channel is Amazon 73 * Simple Notification Service (Amazon SNS). </p> 74 */ WithConfig(NotificationChannelConfig && value)75 inline AddNotificationChannelRequest& WithConfig(NotificationChannelConfig&& value) { SetConfig(std::move(value)); return *this;} 76 77 private: 78 79 NotificationChannelConfig m_config; 80 bool m_configHasBeenSet; 81 }; 82 83 } // namespace Model 84 } // namespace DevOpsGuru 85 } // namespace Aws 86