AWS SDK for C++  0.14.3
AWS SDK for C++
NotificationConfiguration.h
Go to the documentation of this file.
1 /*
2 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License").
5 * You may not use this file except in compliance with the License.
6 * A copy of the License is located at
7 *
8 * http://aws.amazon.com/apache2.0
9 *
10 * or in the "license" file accompanying this file. This file is distributed
11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12 * express or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15 #pragma once
19 
20 namespace Aws
21 {
22 namespace Utils
23 {
24 namespace Xml
25 {
26  class XmlNode;
27 } // namespace Xml
28 } // namespace Utils
29 namespace AutoScaling
30 {
31 namespace Model
32 {
33 
38  {
39  public:
42  NotificationConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
43 
44  void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
45  void OutputToStream(Aws::OStream& oStream, const char* location) const;
46 
50  inline const Aws::String& GetAutoScalingGroupName() const{ return m_autoScalingGroupName; }
51 
55  inline void SetAutoScalingGroupName(const Aws::String& value) { m_autoScalingGroupNameHasBeenSet = true; m_autoScalingGroupName = value; }
56 
60  inline void SetAutoScalingGroupName(Aws::String&& value) { m_autoScalingGroupNameHasBeenSet = true; m_autoScalingGroupName = value; }
61 
65  inline void SetAutoScalingGroupName(const char* value) { m_autoScalingGroupNameHasBeenSet = true; m_autoScalingGroupName.assign(value); }
66 
70  inline NotificationConfiguration& WithAutoScalingGroupName(const Aws::String& value) { SetAutoScalingGroupName(value); return *this;}
71 
75  inline NotificationConfiguration& WithAutoScalingGroupName(Aws::String&& value) { SetAutoScalingGroupName(value); return *this;}
76 
80  inline NotificationConfiguration& WithAutoScalingGroupName(const char* value) { SetAutoScalingGroupName(value); return *this;}
81 
86  inline const Aws::String& GetTopicARN() const{ return m_topicARN; }
87 
92  inline void SetTopicARN(const Aws::String& value) { m_topicARNHasBeenSet = true; m_topicARN = value; }
93 
98  inline void SetTopicARN(Aws::String&& value) { m_topicARNHasBeenSet = true; m_topicARN = value; }
99 
104  inline void SetTopicARN(const char* value) { m_topicARNHasBeenSet = true; m_topicARN.assign(value); }
105 
110  inline NotificationConfiguration& WithTopicARN(const Aws::String& value) { SetTopicARN(value); return *this;}
111 
116  inline NotificationConfiguration& WithTopicARN(Aws::String&& value) { SetTopicARN(value); return *this;}
117 
122  inline NotificationConfiguration& WithTopicARN(const char* value) { SetTopicARN(value); return *this;}
123 
132  inline const Aws::String& GetNotificationType() const{ return m_notificationType; }
133 
142  inline void SetNotificationType(const Aws::String& value) { m_notificationTypeHasBeenSet = true; m_notificationType = value; }
143 
152  inline void SetNotificationType(Aws::String&& value) { m_notificationTypeHasBeenSet = true; m_notificationType = value; }
153 
162  inline void SetNotificationType(const char* value) { m_notificationTypeHasBeenSet = true; m_notificationType.assign(value); }
163 
172  inline NotificationConfiguration& WithNotificationType(const Aws::String& value) { SetNotificationType(value); return *this;}
173 
182  inline NotificationConfiguration& WithNotificationType(Aws::String&& value) { SetNotificationType(value); return *this;}
183 
192  inline NotificationConfiguration& WithNotificationType(const char* value) { SetNotificationType(value); return *this;}
193 
194  private:
195  Aws::String m_autoScalingGroupName;
196  bool m_autoScalingGroupNameHasBeenSet;
197  Aws::String m_topicARN;
198  bool m_topicARNHasBeenSet;
199  Aws::String m_notificationType;
200  bool m_notificationTypeHasBeenSet;
201  };
202 
203 } // namespace Model
204 } // namespace AutoScaling
205 } // namespace Aws
NotificationConfiguration & WithTopicARN(Aws::String &&value)
NotificationConfiguration & WithAutoScalingGroupName(Aws::String &&value)
NotificationConfiguration & WithAutoScalingGroupName(const char *value)
NotificationConfiguration & WithTopicARN(const char *value)
NotificationConfiguration & WithTopicARN(const Aws::String &value)
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:31
NotificationConfiguration & WithNotificationType(const Aws::String &value)
NotificationConfiguration & WithNotificationType(Aws::String &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
#define AWS_AUTOSCALING_API
NotificationConfiguration & WithNotificationType(const char *value)
JSON (JavaScript Object Notation).
NotificationConfiguration & WithAutoScalingGroupName(const Aws::String &value)