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/events/CloudWatchEvents_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSVector.h>
9 #include <aws/events/model/ConnectionHeaderParameter.h>
10 #include <aws/events/model/ConnectionQueryStringParameter.h>
11 #include <aws/events/model/ConnectionBodyParameter.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace Utils
17 {
18 namespace Json
19 {
20   class JsonValue;
21   class JsonView;
22 } // namespace Json
23 } // namespace Utils
24 namespace CloudWatchEvents
25 {
26 namespace Model
27 {
28 
29   /**
30    * <p>Contains additional parameters for the connection.</p><p><h3>See Also:</h3>
31    * <a
32    * href="http://docs.aws.amazon.com/goto/WebAPI/events-2015-10-07/ConnectionHttpParameters">AWS
33    * API Reference</a></p>
34    */
35   class AWS_CLOUDWATCHEVENTS_API ConnectionHttpParameters
36   {
37   public:
38     ConnectionHttpParameters();
39     ConnectionHttpParameters(Aws::Utils::Json::JsonView jsonValue);
40     ConnectionHttpParameters& operator=(Aws::Utils::Json::JsonView jsonValue);
41     Aws::Utils::Json::JsonValue Jsonize() const;
42 
43 
44     /**
45      * <p>Contains additional header parameters for the connection.</p>
46      */
GetHeaderParameters()47     inline const Aws::Vector<ConnectionHeaderParameter>& GetHeaderParameters() const{ return m_headerParameters; }
48 
49     /**
50      * <p>Contains additional header parameters for the connection.</p>
51      */
HeaderParametersHasBeenSet()52     inline bool HeaderParametersHasBeenSet() const { return m_headerParametersHasBeenSet; }
53 
54     /**
55      * <p>Contains additional header parameters for the connection.</p>
56      */
SetHeaderParameters(const Aws::Vector<ConnectionHeaderParameter> & value)57     inline void SetHeaderParameters(const Aws::Vector<ConnectionHeaderParameter>& value) { m_headerParametersHasBeenSet = true; m_headerParameters = value; }
58 
59     /**
60      * <p>Contains additional header parameters for the connection.</p>
61      */
SetHeaderParameters(Aws::Vector<ConnectionHeaderParameter> && value)62     inline void SetHeaderParameters(Aws::Vector<ConnectionHeaderParameter>&& value) { m_headerParametersHasBeenSet = true; m_headerParameters = std::move(value); }
63 
64     /**
65      * <p>Contains additional header parameters for the connection.</p>
66      */
WithHeaderParameters(const Aws::Vector<ConnectionHeaderParameter> & value)67     inline ConnectionHttpParameters& WithHeaderParameters(const Aws::Vector<ConnectionHeaderParameter>& value) { SetHeaderParameters(value); return *this;}
68 
69     /**
70      * <p>Contains additional header parameters for the connection.</p>
71      */
WithHeaderParameters(Aws::Vector<ConnectionHeaderParameter> && value)72     inline ConnectionHttpParameters& WithHeaderParameters(Aws::Vector<ConnectionHeaderParameter>&& value) { SetHeaderParameters(std::move(value)); return *this;}
73 
74     /**
75      * <p>Contains additional header parameters for the connection.</p>
76      */
AddHeaderParameters(const ConnectionHeaderParameter & value)77     inline ConnectionHttpParameters& AddHeaderParameters(const ConnectionHeaderParameter& value) { m_headerParametersHasBeenSet = true; m_headerParameters.push_back(value); return *this; }
78 
79     /**
80      * <p>Contains additional header parameters for the connection.</p>
81      */
AddHeaderParameters(ConnectionHeaderParameter && value)82     inline ConnectionHttpParameters& AddHeaderParameters(ConnectionHeaderParameter&& value) { m_headerParametersHasBeenSet = true; m_headerParameters.push_back(std::move(value)); return *this; }
83 
84 
85     /**
86      * <p>Contains additional query string parameters for the connection.</p>
87      */
GetQueryStringParameters()88     inline const Aws::Vector<ConnectionQueryStringParameter>& GetQueryStringParameters() const{ return m_queryStringParameters; }
89 
90     /**
91      * <p>Contains additional query string parameters for the connection.</p>
92      */
QueryStringParametersHasBeenSet()93     inline bool QueryStringParametersHasBeenSet() const { return m_queryStringParametersHasBeenSet; }
94 
95     /**
96      * <p>Contains additional query string parameters for the connection.</p>
97      */
SetQueryStringParameters(const Aws::Vector<ConnectionQueryStringParameter> & value)98     inline void SetQueryStringParameters(const Aws::Vector<ConnectionQueryStringParameter>& value) { m_queryStringParametersHasBeenSet = true; m_queryStringParameters = value; }
99 
100     /**
101      * <p>Contains additional query string parameters for the connection.</p>
102      */
SetQueryStringParameters(Aws::Vector<ConnectionQueryStringParameter> && value)103     inline void SetQueryStringParameters(Aws::Vector<ConnectionQueryStringParameter>&& value) { m_queryStringParametersHasBeenSet = true; m_queryStringParameters = std::move(value); }
104 
105     /**
106      * <p>Contains additional query string parameters for the connection.</p>
107      */
WithQueryStringParameters(const Aws::Vector<ConnectionQueryStringParameter> & value)108     inline ConnectionHttpParameters& WithQueryStringParameters(const Aws::Vector<ConnectionQueryStringParameter>& value) { SetQueryStringParameters(value); return *this;}
109 
110     /**
111      * <p>Contains additional query string parameters for the connection.</p>
112      */
WithQueryStringParameters(Aws::Vector<ConnectionQueryStringParameter> && value)113     inline ConnectionHttpParameters& WithQueryStringParameters(Aws::Vector<ConnectionQueryStringParameter>&& value) { SetQueryStringParameters(std::move(value)); return *this;}
114 
115     /**
116      * <p>Contains additional query string parameters for the connection.</p>
117      */
AddQueryStringParameters(const ConnectionQueryStringParameter & value)118     inline ConnectionHttpParameters& AddQueryStringParameters(const ConnectionQueryStringParameter& value) { m_queryStringParametersHasBeenSet = true; m_queryStringParameters.push_back(value); return *this; }
119 
120     /**
121      * <p>Contains additional query string parameters for the connection.</p>
122      */
AddQueryStringParameters(ConnectionQueryStringParameter && value)123     inline ConnectionHttpParameters& AddQueryStringParameters(ConnectionQueryStringParameter&& value) { m_queryStringParametersHasBeenSet = true; m_queryStringParameters.push_back(std::move(value)); return *this; }
124 
125 
126     /**
127      * <p>Contains additional body string parameters for the connection.</p>
128      */
GetBodyParameters()129     inline const Aws::Vector<ConnectionBodyParameter>& GetBodyParameters() const{ return m_bodyParameters; }
130 
131     /**
132      * <p>Contains additional body string parameters for the connection.</p>
133      */
BodyParametersHasBeenSet()134     inline bool BodyParametersHasBeenSet() const { return m_bodyParametersHasBeenSet; }
135 
136     /**
137      * <p>Contains additional body string parameters for the connection.</p>
138      */
SetBodyParameters(const Aws::Vector<ConnectionBodyParameter> & value)139     inline void SetBodyParameters(const Aws::Vector<ConnectionBodyParameter>& value) { m_bodyParametersHasBeenSet = true; m_bodyParameters = value; }
140 
141     /**
142      * <p>Contains additional body string parameters for the connection.</p>
143      */
SetBodyParameters(Aws::Vector<ConnectionBodyParameter> && value)144     inline void SetBodyParameters(Aws::Vector<ConnectionBodyParameter>&& value) { m_bodyParametersHasBeenSet = true; m_bodyParameters = std::move(value); }
145 
146     /**
147      * <p>Contains additional body string parameters for the connection.</p>
148      */
WithBodyParameters(const Aws::Vector<ConnectionBodyParameter> & value)149     inline ConnectionHttpParameters& WithBodyParameters(const Aws::Vector<ConnectionBodyParameter>& value) { SetBodyParameters(value); return *this;}
150 
151     /**
152      * <p>Contains additional body string parameters for the connection.</p>
153      */
WithBodyParameters(Aws::Vector<ConnectionBodyParameter> && value)154     inline ConnectionHttpParameters& WithBodyParameters(Aws::Vector<ConnectionBodyParameter>&& value) { SetBodyParameters(std::move(value)); return *this;}
155 
156     /**
157      * <p>Contains additional body string parameters for the connection.</p>
158      */
AddBodyParameters(const ConnectionBodyParameter & value)159     inline ConnectionHttpParameters& AddBodyParameters(const ConnectionBodyParameter& value) { m_bodyParametersHasBeenSet = true; m_bodyParameters.push_back(value); return *this; }
160 
161     /**
162      * <p>Contains additional body string parameters for the connection.</p>
163      */
AddBodyParameters(ConnectionBodyParameter && value)164     inline ConnectionHttpParameters& AddBodyParameters(ConnectionBodyParameter&& value) { m_bodyParametersHasBeenSet = true; m_bodyParameters.push_back(std::move(value)); return *this; }
165 
166   private:
167 
168     Aws::Vector<ConnectionHeaderParameter> m_headerParameters;
169     bool m_headerParametersHasBeenSet;
170 
171     Aws::Vector<ConnectionQueryStringParameter> m_queryStringParameters;
172     bool m_queryStringParametersHasBeenSet;
173 
174     Aws::Vector<ConnectionBodyParameter> m_bodyParameters;
175     bool m_bodyParametersHasBeenSet;
176   };
177 
178 } // namespace Model
179 } // namespace CloudWatchEvents
180 } // namespace Aws
181