1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #include <aws/waf-regional/model/CreateRuleRequest.h>
7 #include <aws/core/utils/json/JsonSerializer.h>
8 
9 #include <utility>
10 
11 using namespace Aws::WAFRegional::Model;
12 using namespace Aws::Utils::Json;
13 using namespace Aws::Utils;
14 
CreateRuleRequest()15 CreateRuleRequest::CreateRuleRequest() :
16     m_nameHasBeenSet(false),
17     m_metricNameHasBeenSet(false),
18     m_changeTokenHasBeenSet(false),
19     m_tagsHasBeenSet(false)
20 {
21 }
22 
SerializePayload() const23 Aws::String CreateRuleRequest::SerializePayload() const
24 {
25   JsonValue payload;
26 
27   if(m_nameHasBeenSet)
28   {
29    payload.WithString("Name", m_name);
30 
31   }
32 
33   if(m_metricNameHasBeenSet)
34   {
35    payload.WithString("MetricName", m_metricName);
36 
37   }
38 
39   if(m_changeTokenHasBeenSet)
40   {
41    payload.WithString("ChangeToken", m_changeToken);
42 
43   }
44 
45   if(m_tagsHasBeenSet)
46   {
47    Array<JsonValue> tagsJsonList(m_tags.size());
48    for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex)
49    {
50      tagsJsonList[tagsIndex].AsObject(m_tags[tagsIndex].Jsonize());
51    }
52    payload.WithArray("Tags", std::move(tagsJsonList));
53 
54   }
55 
56   return payload.View().WriteReadable();
57 }
58 
GetRequestSpecificHeaders() const59 Aws::Http::HeaderValueCollection CreateRuleRequest::GetRequestSpecificHeaders() const
60 {
61   Aws::Http::HeaderValueCollection headers;
62   headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AWSWAF_Regional_20161128.CreateRule"));
63   return headers;
64 
65 }
66 
67 
68 
69 
70