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/xray/XRay_EXPORTS.h>
8 
9 namespace Aws
10 {
11 namespace Utils
12 {
13 namespace Json
14 {
15   class JsonValue;
16   class JsonView;
17 } // namespace Json
18 } // namespace Utils
19 namespace XRay
20 {
21 namespace Model
22 {
23 
24   /**
25    * <p>The structure containing configurations related to insights.</p><p><h3>See
26    * Also:</h3>   <a
27    * href="http://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/InsightsConfiguration">AWS
28    * API Reference</a></p>
29    */
30   class AWS_XRAY_API InsightsConfiguration
31   {
32   public:
33     InsightsConfiguration();
34     InsightsConfiguration(Aws::Utils::Json::JsonView jsonValue);
35     InsightsConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
36     Aws::Utils::Json::JsonValue Jsonize() const;
37 
38 
39     /**
40      * <p>Set the InsightsEnabled value to true to enable insights or false to disable
41      * insights.</p>
42      */
GetInsightsEnabled()43     inline bool GetInsightsEnabled() const{ return m_insightsEnabled; }
44 
45     /**
46      * <p>Set the InsightsEnabled value to true to enable insights or false to disable
47      * insights.</p>
48      */
InsightsEnabledHasBeenSet()49     inline bool InsightsEnabledHasBeenSet() const { return m_insightsEnabledHasBeenSet; }
50 
51     /**
52      * <p>Set the InsightsEnabled value to true to enable insights or false to disable
53      * insights.</p>
54      */
SetInsightsEnabled(bool value)55     inline void SetInsightsEnabled(bool value) { m_insightsEnabledHasBeenSet = true; m_insightsEnabled = value; }
56 
57     /**
58      * <p>Set the InsightsEnabled value to true to enable insights or false to disable
59      * insights.</p>
60      */
WithInsightsEnabled(bool value)61     inline InsightsConfiguration& WithInsightsEnabled(bool value) { SetInsightsEnabled(value); return *this;}
62 
63 
64     /**
65      * <p>Set the NotificationsEnabled value to true to enable insights notifications.
66      * Notifications can only be enabled on a group with InsightsEnabled set to
67      * true.</p>
68      */
GetNotificationsEnabled()69     inline bool GetNotificationsEnabled() const{ return m_notificationsEnabled; }
70 
71     /**
72      * <p>Set the NotificationsEnabled value to true to enable insights notifications.
73      * Notifications can only be enabled on a group with InsightsEnabled set to
74      * true.</p>
75      */
NotificationsEnabledHasBeenSet()76     inline bool NotificationsEnabledHasBeenSet() const { return m_notificationsEnabledHasBeenSet; }
77 
78     /**
79      * <p>Set the NotificationsEnabled value to true to enable insights notifications.
80      * Notifications can only be enabled on a group with InsightsEnabled set to
81      * true.</p>
82      */
SetNotificationsEnabled(bool value)83     inline void SetNotificationsEnabled(bool value) { m_notificationsEnabledHasBeenSet = true; m_notificationsEnabled = value; }
84 
85     /**
86      * <p>Set the NotificationsEnabled value to true to enable insights notifications.
87      * Notifications can only be enabled on a group with InsightsEnabled set to
88      * true.</p>
89      */
WithNotificationsEnabled(bool value)90     inline InsightsConfiguration& WithNotificationsEnabled(bool value) { SetNotificationsEnabled(value); return *this;}
91 
92   private:
93 
94     bool m_insightsEnabled;
95     bool m_insightsEnabledHasBeenSet;
96 
97     bool m_notificationsEnabled;
98     bool m_notificationsEnabledHasBeenSet;
99   };
100 
101 } // namespace Model
102 } // namespace XRay
103 } // namespace Aws
104