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/rds/RDS_EXPORTS.h>
8 #include <aws/rds/RDSRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/core/utils/memory/stl/AWSVector.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace RDS
16 {
17 namespace Model
18 {
19 
20   /**
21    */
22   class AWS_RDS_API ModifyDBClusterEndpointRequest : public RDSRequest
23   {
24   public:
25     ModifyDBClusterEndpointRequest();
26 
27     // Service request name is the Operation name which will send this request out,
28     // each operation should has unique request name, so that we can get operation's name from this request.
29     // Note: this is not true for response, multiple operations may have the same response name,
30     // so we can not get operation's name from response.
GetServiceRequestName()31     inline virtual const char* GetServiceRequestName() const override { return "ModifyDBClusterEndpoint"; }
32 
33     Aws::String SerializePayload() const override;
34 
35   protected:
36     void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
37 
38   public:
39 
40     /**
41      * <p>The identifier of the endpoint to modify. This parameter is stored as a
42      * lowercase string.</p>
43      */
GetDBClusterEndpointIdentifier()44     inline const Aws::String& GetDBClusterEndpointIdentifier() const{ return m_dBClusterEndpointIdentifier; }
45 
46     /**
47      * <p>The identifier of the endpoint to modify. This parameter is stored as a
48      * lowercase string.</p>
49      */
DBClusterEndpointIdentifierHasBeenSet()50     inline bool DBClusterEndpointIdentifierHasBeenSet() const { return m_dBClusterEndpointIdentifierHasBeenSet; }
51 
52     /**
53      * <p>The identifier of the endpoint to modify. This parameter is stored as a
54      * lowercase string.</p>
55      */
SetDBClusterEndpointIdentifier(const Aws::String & value)56     inline void SetDBClusterEndpointIdentifier(const Aws::String& value) { m_dBClusterEndpointIdentifierHasBeenSet = true; m_dBClusterEndpointIdentifier = value; }
57 
58     /**
59      * <p>The identifier of the endpoint to modify. This parameter is stored as a
60      * lowercase string.</p>
61      */
SetDBClusterEndpointIdentifier(Aws::String && value)62     inline void SetDBClusterEndpointIdentifier(Aws::String&& value) { m_dBClusterEndpointIdentifierHasBeenSet = true; m_dBClusterEndpointIdentifier = std::move(value); }
63 
64     /**
65      * <p>The identifier of the endpoint to modify. This parameter is stored as a
66      * lowercase string.</p>
67      */
SetDBClusterEndpointIdentifier(const char * value)68     inline void SetDBClusterEndpointIdentifier(const char* value) { m_dBClusterEndpointIdentifierHasBeenSet = true; m_dBClusterEndpointIdentifier.assign(value); }
69 
70     /**
71      * <p>The identifier of the endpoint to modify. This parameter is stored as a
72      * lowercase string.</p>
73      */
WithDBClusterEndpointIdentifier(const Aws::String & value)74     inline ModifyDBClusterEndpointRequest& WithDBClusterEndpointIdentifier(const Aws::String& value) { SetDBClusterEndpointIdentifier(value); return *this;}
75 
76     /**
77      * <p>The identifier of the endpoint to modify. This parameter is stored as a
78      * lowercase string.</p>
79      */
WithDBClusterEndpointIdentifier(Aws::String && value)80     inline ModifyDBClusterEndpointRequest& WithDBClusterEndpointIdentifier(Aws::String&& value) { SetDBClusterEndpointIdentifier(std::move(value)); return *this;}
81 
82     /**
83      * <p>The identifier of the endpoint to modify. This parameter is stored as a
84      * lowercase string.</p>
85      */
WithDBClusterEndpointIdentifier(const char * value)86     inline ModifyDBClusterEndpointRequest& WithDBClusterEndpointIdentifier(const char* value) { SetDBClusterEndpointIdentifier(value); return *this;}
87 
88 
89     /**
90      * <p>The type of the endpoint. One of: <code>READER</code>, <code>WRITER</code>,
91      * <code>ANY</code>.</p>
92      */
GetEndpointType()93     inline const Aws::String& GetEndpointType() const{ return m_endpointType; }
94 
95     /**
96      * <p>The type of the endpoint. One of: <code>READER</code>, <code>WRITER</code>,
97      * <code>ANY</code>.</p>
98      */
EndpointTypeHasBeenSet()99     inline bool EndpointTypeHasBeenSet() const { return m_endpointTypeHasBeenSet; }
100 
101     /**
102      * <p>The type of the endpoint. One of: <code>READER</code>, <code>WRITER</code>,
103      * <code>ANY</code>.</p>
104      */
SetEndpointType(const Aws::String & value)105     inline void SetEndpointType(const Aws::String& value) { m_endpointTypeHasBeenSet = true; m_endpointType = value; }
106 
107     /**
108      * <p>The type of the endpoint. One of: <code>READER</code>, <code>WRITER</code>,
109      * <code>ANY</code>.</p>
110      */
SetEndpointType(Aws::String && value)111     inline void SetEndpointType(Aws::String&& value) { m_endpointTypeHasBeenSet = true; m_endpointType = std::move(value); }
112 
113     /**
114      * <p>The type of the endpoint. One of: <code>READER</code>, <code>WRITER</code>,
115      * <code>ANY</code>.</p>
116      */
SetEndpointType(const char * value)117     inline void SetEndpointType(const char* value) { m_endpointTypeHasBeenSet = true; m_endpointType.assign(value); }
118 
119     /**
120      * <p>The type of the endpoint. One of: <code>READER</code>, <code>WRITER</code>,
121      * <code>ANY</code>.</p>
122      */
WithEndpointType(const Aws::String & value)123     inline ModifyDBClusterEndpointRequest& WithEndpointType(const Aws::String& value) { SetEndpointType(value); return *this;}
124 
125     /**
126      * <p>The type of the endpoint. One of: <code>READER</code>, <code>WRITER</code>,
127      * <code>ANY</code>.</p>
128      */
WithEndpointType(Aws::String && value)129     inline ModifyDBClusterEndpointRequest& WithEndpointType(Aws::String&& value) { SetEndpointType(std::move(value)); return *this;}
130 
131     /**
132      * <p>The type of the endpoint. One of: <code>READER</code>, <code>WRITER</code>,
133      * <code>ANY</code>.</p>
134      */
WithEndpointType(const char * value)135     inline ModifyDBClusterEndpointRequest& WithEndpointType(const char* value) { SetEndpointType(value); return *this;}
136 
137 
138     /**
139      * <p>List of DB instance identifiers that are part of the custom endpoint
140      * group.</p>
141      */
GetStaticMembers()142     inline const Aws::Vector<Aws::String>& GetStaticMembers() const{ return m_staticMembers; }
143 
144     /**
145      * <p>List of DB instance identifiers that are part of the custom endpoint
146      * group.</p>
147      */
StaticMembersHasBeenSet()148     inline bool StaticMembersHasBeenSet() const { return m_staticMembersHasBeenSet; }
149 
150     /**
151      * <p>List of DB instance identifiers that are part of the custom endpoint
152      * group.</p>
153      */
SetStaticMembers(const Aws::Vector<Aws::String> & value)154     inline void SetStaticMembers(const Aws::Vector<Aws::String>& value) { m_staticMembersHasBeenSet = true; m_staticMembers = value; }
155 
156     /**
157      * <p>List of DB instance identifiers that are part of the custom endpoint
158      * group.</p>
159      */
SetStaticMembers(Aws::Vector<Aws::String> && value)160     inline void SetStaticMembers(Aws::Vector<Aws::String>&& value) { m_staticMembersHasBeenSet = true; m_staticMembers = std::move(value); }
161 
162     /**
163      * <p>List of DB instance identifiers that are part of the custom endpoint
164      * group.</p>
165      */
WithStaticMembers(const Aws::Vector<Aws::String> & value)166     inline ModifyDBClusterEndpointRequest& WithStaticMembers(const Aws::Vector<Aws::String>& value) { SetStaticMembers(value); return *this;}
167 
168     /**
169      * <p>List of DB instance identifiers that are part of the custom endpoint
170      * group.</p>
171      */
WithStaticMembers(Aws::Vector<Aws::String> && value)172     inline ModifyDBClusterEndpointRequest& WithStaticMembers(Aws::Vector<Aws::String>&& value) { SetStaticMembers(std::move(value)); return *this;}
173 
174     /**
175      * <p>List of DB instance identifiers that are part of the custom endpoint
176      * group.</p>
177      */
AddStaticMembers(const Aws::String & value)178     inline ModifyDBClusterEndpointRequest& AddStaticMembers(const Aws::String& value) { m_staticMembersHasBeenSet = true; m_staticMembers.push_back(value); return *this; }
179 
180     /**
181      * <p>List of DB instance identifiers that are part of the custom endpoint
182      * group.</p>
183      */
AddStaticMembers(Aws::String && value)184     inline ModifyDBClusterEndpointRequest& AddStaticMembers(Aws::String&& value) { m_staticMembersHasBeenSet = true; m_staticMembers.push_back(std::move(value)); return *this; }
185 
186     /**
187      * <p>List of DB instance identifiers that are part of the custom endpoint
188      * group.</p>
189      */
AddStaticMembers(const char * value)190     inline ModifyDBClusterEndpointRequest& AddStaticMembers(const char* value) { m_staticMembersHasBeenSet = true; m_staticMembers.push_back(value); return *this; }
191 
192 
193     /**
194      * <p>List of DB instance identifiers that aren't part of the custom endpoint
195      * group. All other eligible instances are reachable through the custom endpoint.
196      * Only relevant if the list of static members is empty.</p>
197      */
GetExcludedMembers()198     inline const Aws::Vector<Aws::String>& GetExcludedMembers() const{ return m_excludedMembers; }
199 
200     /**
201      * <p>List of DB instance identifiers that aren't part of the custom endpoint
202      * group. All other eligible instances are reachable through the custom endpoint.
203      * Only relevant if the list of static members is empty.</p>
204      */
ExcludedMembersHasBeenSet()205     inline bool ExcludedMembersHasBeenSet() const { return m_excludedMembersHasBeenSet; }
206 
207     /**
208      * <p>List of DB instance identifiers that aren't part of the custom endpoint
209      * group. All other eligible instances are reachable through the custom endpoint.
210      * Only relevant if the list of static members is empty.</p>
211      */
SetExcludedMembers(const Aws::Vector<Aws::String> & value)212     inline void SetExcludedMembers(const Aws::Vector<Aws::String>& value) { m_excludedMembersHasBeenSet = true; m_excludedMembers = value; }
213 
214     /**
215      * <p>List of DB instance identifiers that aren't part of the custom endpoint
216      * group. All other eligible instances are reachable through the custom endpoint.
217      * Only relevant if the list of static members is empty.</p>
218      */
SetExcludedMembers(Aws::Vector<Aws::String> && value)219     inline void SetExcludedMembers(Aws::Vector<Aws::String>&& value) { m_excludedMembersHasBeenSet = true; m_excludedMembers = std::move(value); }
220 
221     /**
222      * <p>List of DB instance identifiers that aren't part of the custom endpoint
223      * group. All other eligible instances are reachable through the custom endpoint.
224      * Only relevant if the list of static members is empty.</p>
225      */
WithExcludedMembers(const Aws::Vector<Aws::String> & value)226     inline ModifyDBClusterEndpointRequest& WithExcludedMembers(const Aws::Vector<Aws::String>& value) { SetExcludedMembers(value); return *this;}
227 
228     /**
229      * <p>List of DB instance identifiers that aren't part of the custom endpoint
230      * group. All other eligible instances are reachable through the custom endpoint.
231      * Only relevant if the list of static members is empty.</p>
232      */
WithExcludedMembers(Aws::Vector<Aws::String> && value)233     inline ModifyDBClusterEndpointRequest& WithExcludedMembers(Aws::Vector<Aws::String>&& value) { SetExcludedMembers(std::move(value)); return *this;}
234 
235     /**
236      * <p>List of DB instance identifiers that aren't part of the custom endpoint
237      * group. All other eligible instances are reachable through the custom endpoint.
238      * Only relevant if the list of static members is empty.</p>
239      */
AddExcludedMembers(const Aws::String & value)240     inline ModifyDBClusterEndpointRequest& AddExcludedMembers(const Aws::String& value) { m_excludedMembersHasBeenSet = true; m_excludedMembers.push_back(value); return *this; }
241 
242     /**
243      * <p>List of DB instance identifiers that aren't part of the custom endpoint
244      * group. All other eligible instances are reachable through the custom endpoint.
245      * Only relevant if the list of static members is empty.</p>
246      */
AddExcludedMembers(Aws::String && value)247     inline ModifyDBClusterEndpointRequest& AddExcludedMembers(Aws::String&& value) { m_excludedMembersHasBeenSet = true; m_excludedMembers.push_back(std::move(value)); return *this; }
248 
249     /**
250      * <p>List of DB instance identifiers that aren't part of the custom endpoint
251      * group. All other eligible instances are reachable through the custom endpoint.
252      * Only relevant if the list of static members is empty.</p>
253      */
AddExcludedMembers(const char * value)254     inline ModifyDBClusterEndpointRequest& AddExcludedMembers(const char* value) { m_excludedMembersHasBeenSet = true; m_excludedMembers.push_back(value); return *this; }
255 
256   private:
257 
258     Aws::String m_dBClusterEndpointIdentifier;
259     bool m_dBClusterEndpointIdentifierHasBeenSet;
260 
261     Aws::String m_endpointType;
262     bool m_endpointTypeHasBeenSet;
263 
264     Aws::Vector<Aws::String> m_staticMembers;
265     bool m_staticMembersHasBeenSet;
266 
267     Aws::Vector<Aws::String> m_excludedMembers;
268     bool m_excludedMembersHasBeenSet;
269   };
270 
271 } // namespace Model
272 } // namespace RDS
273 } // namespace Aws
274