1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #include <aws/iot/model/CreateScheduledAuditRequest.h>
7 #include <aws/core/utils/json/JsonSerializer.h>
8 
9 #include <utility>
10 
11 using namespace Aws::IoT::Model;
12 using namespace Aws::Utils::Json;
13 using namespace Aws::Utils;
14 
CreateScheduledAuditRequest()15 CreateScheduledAuditRequest::CreateScheduledAuditRequest() :
16     m_frequency(AuditFrequency::NOT_SET),
17     m_frequencyHasBeenSet(false),
18     m_dayOfMonthHasBeenSet(false),
19     m_dayOfWeek(DayOfWeek::NOT_SET),
20     m_dayOfWeekHasBeenSet(false),
21     m_targetCheckNamesHasBeenSet(false),
22     m_scheduledAuditNameHasBeenSet(false),
23     m_tagsHasBeenSet(false)
24 {
25 }
26 
SerializePayload() const27 Aws::String CreateScheduledAuditRequest::SerializePayload() const
28 {
29   JsonValue payload;
30 
31   if(m_frequencyHasBeenSet)
32   {
33    payload.WithString("frequency", AuditFrequencyMapper::GetNameForAuditFrequency(m_frequency));
34   }
35 
36   if(m_dayOfMonthHasBeenSet)
37   {
38    payload.WithString("dayOfMonth", m_dayOfMonth);
39 
40   }
41 
42   if(m_dayOfWeekHasBeenSet)
43   {
44    payload.WithString("dayOfWeek", DayOfWeekMapper::GetNameForDayOfWeek(m_dayOfWeek));
45   }
46 
47   if(m_targetCheckNamesHasBeenSet)
48   {
49    Array<JsonValue> targetCheckNamesJsonList(m_targetCheckNames.size());
50    for(unsigned targetCheckNamesIndex = 0; targetCheckNamesIndex < targetCheckNamesJsonList.GetLength(); ++targetCheckNamesIndex)
51    {
52      targetCheckNamesJsonList[targetCheckNamesIndex].AsString(m_targetCheckNames[targetCheckNamesIndex]);
53    }
54    payload.WithArray("targetCheckNames", std::move(targetCheckNamesJsonList));
55 
56   }
57 
58   if(m_tagsHasBeenSet)
59   {
60    Array<JsonValue> tagsJsonList(m_tags.size());
61    for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex)
62    {
63      tagsJsonList[tagsIndex].AsObject(m_tags[tagsIndex].Jsonize());
64    }
65    payload.WithArray("tags", std::move(tagsJsonList));
66 
67   }
68 
69   return payload.View().WriteReadable();
70 }
71 
72 
73 
74 
75