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/iotdeviceadvisor/IoTDeviceAdvisor_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <aws/iotdeviceadvisor/model/DeviceUnderTest.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace Utils
16 {
17 namespace Json
18 {
19   class JsonValue;
20   class JsonView;
21 } // namespace Json
22 } // namespace Utils
23 namespace IoTDeviceAdvisor
24 {
25 namespace Model
26 {
27 
28   /**
29    * <p>Gets Suite Definition Configuration.</p><p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/iotdeviceadvisor-2020-09-18/SuiteDefinitionConfiguration">AWS
31    * API Reference</a></p>
32    */
33   class AWS_IOTDEVICEADVISOR_API SuiteDefinitionConfiguration
34   {
35   public:
36     SuiteDefinitionConfiguration();
37     SuiteDefinitionConfiguration(Aws::Utils::Json::JsonView jsonValue);
38     SuiteDefinitionConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * <p>Gets Suite Definition Configuration name.</p>
44      */
GetSuiteDefinitionName()45     inline const Aws::String& GetSuiteDefinitionName() const{ return m_suiteDefinitionName; }
46 
47     /**
48      * <p>Gets Suite Definition Configuration name.</p>
49      */
SuiteDefinitionNameHasBeenSet()50     inline bool SuiteDefinitionNameHasBeenSet() const { return m_suiteDefinitionNameHasBeenSet; }
51 
52     /**
53      * <p>Gets Suite Definition Configuration name.</p>
54      */
SetSuiteDefinitionName(const Aws::String & value)55     inline void SetSuiteDefinitionName(const Aws::String& value) { m_suiteDefinitionNameHasBeenSet = true; m_suiteDefinitionName = value; }
56 
57     /**
58      * <p>Gets Suite Definition Configuration name.</p>
59      */
SetSuiteDefinitionName(Aws::String && value)60     inline void SetSuiteDefinitionName(Aws::String&& value) { m_suiteDefinitionNameHasBeenSet = true; m_suiteDefinitionName = std::move(value); }
61 
62     /**
63      * <p>Gets Suite Definition Configuration name.</p>
64      */
SetSuiteDefinitionName(const char * value)65     inline void SetSuiteDefinitionName(const char* value) { m_suiteDefinitionNameHasBeenSet = true; m_suiteDefinitionName.assign(value); }
66 
67     /**
68      * <p>Gets Suite Definition Configuration name.</p>
69      */
WithSuiteDefinitionName(const Aws::String & value)70     inline SuiteDefinitionConfiguration& WithSuiteDefinitionName(const Aws::String& value) { SetSuiteDefinitionName(value); return *this;}
71 
72     /**
73      * <p>Gets Suite Definition Configuration name.</p>
74      */
WithSuiteDefinitionName(Aws::String && value)75     inline SuiteDefinitionConfiguration& WithSuiteDefinitionName(Aws::String&& value) { SetSuiteDefinitionName(std::move(value)); return *this;}
76 
77     /**
78      * <p>Gets Suite Definition Configuration name.</p>
79      */
WithSuiteDefinitionName(const char * value)80     inline SuiteDefinitionConfiguration& WithSuiteDefinitionName(const char* value) { SetSuiteDefinitionName(value); return *this;}
81 
82 
83     /**
84      * <p>Gets the devices configured.</p>
85      */
GetDevices()86     inline const Aws::Vector<DeviceUnderTest>& GetDevices() const{ return m_devices; }
87 
88     /**
89      * <p>Gets the devices configured.</p>
90      */
DevicesHasBeenSet()91     inline bool DevicesHasBeenSet() const { return m_devicesHasBeenSet; }
92 
93     /**
94      * <p>Gets the devices configured.</p>
95      */
SetDevices(const Aws::Vector<DeviceUnderTest> & value)96     inline void SetDevices(const Aws::Vector<DeviceUnderTest>& value) { m_devicesHasBeenSet = true; m_devices = value; }
97 
98     /**
99      * <p>Gets the devices configured.</p>
100      */
SetDevices(Aws::Vector<DeviceUnderTest> && value)101     inline void SetDevices(Aws::Vector<DeviceUnderTest>&& value) { m_devicesHasBeenSet = true; m_devices = std::move(value); }
102 
103     /**
104      * <p>Gets the devices configured.</p>
105      */
WithDevices(const Aws::Vector<DeviceUnderTest> & value)106     inline SuiteDefinitionConfiguration& WithDevices(const Aws::Vector<DeviceUnderTest>& value) { SetDevices(value); return *this;}
107 
108     /**
109      * <p>Gets the devices configured.</p>
110      */
WithDevices(Aws::Vector<DeviceUnderTest> && value)111     inline SuiteDefinitionConfiguration& WithDevices(Aws::Vector<DeviceUnderTest>&& value) { SetDevices(std::move(value)); return *this;}
112 
113     /**
114      * <p>Gets the devices configured.</p>
115      */
AddDevices(const DeviceUnderTest & value)116     inline SuiteDefinitionConfiguration& AddDevices(const DeviceUnderTest& value) { m_devicesHasBeenSet = true; m_devices.push_back(value); return *this; }
117 
118     /**
119      * <p>Gets the devices configured.</p>
120      */
AddDevices(DeviceUnderTest && value)121     inline SuiteDefinitionConfiguration& AddDevices(DeviceUnderTest&& value) { m_devicesHasBeenSet = true; m_devices.push_back(std::move(value)); return *this; }
122 
123 
124     /**
125      * <p>Gets the tests intended for qualification in a suite.</p>
126      */
GetIntendedForQualification()127     inline bool GetIntendedForQualification() const{ return m_intendedForQualification; }
128 
129     /**
130      * <p>Gets the tests intended for qualification in a suite.</p>
131      */
IntendedForQualificationHasBeenSet()132     inline bool IntendedForQualificationHasBeenSet() const { return m_intendedForQualificationHasBeenSet; }
133 
134     /**
135      * <p>Gets the tests intended for qualification in a suite.</p>
136      */
SetIntendedForQualification(bool value)137     inline void SetIntendedForQualification(bool value) { m_intendedForQualificationHasBeenSet = true; m_intendedForQualification = value; }
138 
139     /**
140      * <p>Gets the tests intended for qualification in a suite.</p>
141      */
WithIntendedForQualification(bool value)142     inline SuiteDefinitionConfiguration& WithIntendedForQualification(bool value) { SetIntendedForQualification(value); return *this;}
143 
144 
145     /**
146      * <p>Gets test suite root group.</p>
147      */
GetRootGroup()148     inline const Aws::String& GetRootGroup() const{ return m_rootGroup; }
149 
150     /**
151      * <p>Gets test suite root group.</p>
152      */
RootGroupHasBeenSet()153     inline bool RootGroupHasBeenSet() const { return m_rootGroupHasBeenSet; }
154 
155     /**
156      * <p>Gets test suite root group.</p>
157      */
SetRootGroup(const Aws::String & value)158     inline void SetRootGroup(const Aws::String& value) { m_rootGroupHasBeenSet = true; m_rootGroup = value; }
159 
160     /**
161      * <p>Gets test suite root group.</p>
162      */
SetRootGroup(Aws::String && value)163     inline void SetRootGroup(Aws::String&& value) { m_rootGroupHasBeenSet = true; m_rootGroup = std::move(value); }
164 
165     /**
166      * <p>Gets test suite root group.</p>
167      */
SetRootGroup(const char * value)168     inline void SetRootGroup(const char* value) { m_rootGroupHasBeenSet = true; m_rootGroup.assign(value); }
169 
170     /**
171      * <p>Gets test suite root group.</p>
172      */
WithRootGroup(const Aws::String & value)173     inline SuiteDefinitionConfiguration& WithRootGroup(const Aws::String& value) { SetRootGroup(value); return *this;}
174 
175     /**
176      * <p>Gets test suite root group.</p>
177      */
WithRootGroup(Aws::String && value)178     inline SuiteDefinitionConfiguration& WithRootGroup(Aws::String&& value) { SetRootGroup(std::move(value)); return *this;}
179 
180     /**
181      * <p>Gets test suite root group.</p>
182      */
WithRootGroup(const char * value)183     inline SuiteDefinitionConfiguration& WithRootGroup(const char* value) { SetRootGroup(value); return *this;}
184 
185 
186     /**
187      * <p>Gets device permission arn.</p>
188      */
GetDevicePermissionRoleArn()189     inline const Aws::String& GetDevicePermissionRoleArn() const{ return m_devicePermissionRoleArn; }
190 
191     /**
192      * <p>Gets device permission arn.</p>
193      */
DevicePermissionRoleArnHasBeenSet()194     inline bool DevicePermissionRoleArnHasBeenSet() const { return m_devicePermissionRoleArnHasBeenSet; }
195 
196     /**
197      * <p>Gets device permission arn.</p>
198      */
SetDevicePermissionRoleArn(const Aws::String & value)199     inline void SetDevicePermissionRoleArn(const Aws::String& value) { m_devicePermissionRoleArnHasBeenSet = true; m_devicePermissionRoleArn = value; }
200 
201     /**
202      * <p>Gets device permission arn.</p>
203      */
SetDevicePermissionRoleArn(Aws::String && value)204     inline void SetDevicePermissionRoleArn(Aws::String&& value) { m_devicePermissionRoleArnHasBeenSet = true; m_devicePermissionRoleArn = std::move(value); }
205 
206     /**
207      * <p>Gets device permission arn.</p>
208      */
SetDevicePermissionRoleArn(const char * value)209     inline void SetDevicePermissionRoleArn(const char* value) { m_devicePermissionRoleArnHasBeenSet = true; m_devicePermissionRoleArn.assign(value); }
210 
211     /**
212      * <p>Gets device permission arn.</p>
213      */
WithDevicePermissionRoleArn(const Aws::String & value)214     inline SuiteDefinitionConfiguration& WithDevicePermissionRoleArn(const Aws::String& value) { SetDevicePermissionRoleArn(value); return *this;}
215 
216     /**
217      * <p>Gets device permission arn.</p>
218      */
WithDevicePermissionRoleArn(Aws::String && value)219     inline SuiteDefinitionConfiguration& WithDevicePermissionRoleArn(Aws::String&& value) { SetDevicePermissionRoleArn(std::move(value)); return *this;}
220 
221     /**
222      * <p>Gets device permission arn.</p>
223      */
WithDevicePermissionRoleArn(const char * value)224     inline SuiteDefinitionConfiguration& WithDevicePermissionRoleArn(const char* value) { SetDevicePermissionRoleArn(value); return *this;}
225 
226   private:
227 
228     Aws::String m_suiteDefinitionName;
229     bool m_suiteDefinitionNameHasBeenSet;
230 
231     Aws::Vector<DeviceUnderTest> m_devices;
232     bool m_devicesHasBeenSet;
233 
234     bool m_intendedForQualification;
235     bool m_intendedForQualificationHasBeenSet;
236 
237     Aws::String m_rootGroup;
238     bool m_rootGroupHasBeenSet;
239 
240     Aws::String m_devicePermissionRoleArn;
241     bool m_devicePermissionRoleArnHasBeenSet;
242   };
243 
244 } // namespace Model
245 } // namespace IoTDeviceAdvisor
246 } // namespace Aws
247