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/ec2/EC2_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSVector.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/ec2/model/ResponseMetadata.h>
11 #include <aws/ec2/model/NetworkInterface.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 template<typename RESULT_TYPE>
17 class AmazonWebServiceResult;
18 
19 namespace Utils
20 {
21 namespace Xml
22 {
23   class XmlDocument;
24 } // namespace Xml
25 } // namespace Utils
26 namespace EC2
27 {
28 namespace Model
29 {
30   /**
31    * <p>Contains the output of DescribeNetworkInterfaces.</p><p><h3>See Also:</h3>
32    * <a
33    * href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacesResult">AWS
34    * API Reference</a></p>
35    */
36   class AWS_EC2_API DescribeNetworkInterfacesResponse
37   {
38   public:
39     DescribeNetworkInterfacesResponse();
40     DescribeNetworkInterfacesResponse(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
41     DescribeNetworkInterfacesResponse& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
42 
43 
44     /**
45      * <p>Information about one or more network interfaces.</p>
46      */
GetNetworkInterfaces()47     inline const Aws::Vector<NetworkInterface>& GetNetworkInterfaces() const{ return m_networkInterfaces; }
48 
49     /**
50      * <p>Information about one or more network interfaces.</p>
51      */
SetNetworkInterfaces(const Aws::Vector<NetworkInterface> & value)52     inline void SetNetworkInterfaces(const Aws::Vector<NetworkInterface>& value) { m_networkInterfaces = value; }
53 
54     /**
55      * <p>Information about one or more network interfaces.</p>
56      */
SetNetworkInterfaces(Aws::Vector<NetworkInterface> && value)57     inline void SetNetworkInterfaces(Aws::Vector<NetworkInterface>&& value) { m_networkInterfaces = std::move(value); }
58 
59     /**
60      * <p>Information about one or more network interfaces.</p>
61      */
WithNetworkInterfaces(const Aws::Vector<NetworkInterface> & value)62     inline DescribeNetworkInterfacesResponse& WithNetworkInterfaces(const Aws::Vector<NetworkInterface>& value) { SetNetworkInterfaces(value); return *this;}
63 
64     /**
65      * <p>Information about one or more network interfaces.</p>
66      */
WithNetworkInterfaces(Aws::Vector<NetworkInterface> && value)67     inline DescribeNetworkInterfacesResponse& WithNetworkInterfaces(Aws::Vector<NetworkInterface>&& value) { SetNetworkInterfaces(std::move(value)); return *this;}
68 
69     /**
70      * <p>Information about one or more network interfaces.</p>
71      */
AddNetworkInterfaces(const NetworkInterface & value)72     inline DescribeNetworkInterfacesResponse& AddNetworkInterfaces(const NetworkInterface& value) { m_networkInterfaces.push_back(value); return *this; }
73 
74     /**
75      * <p>Information about one or more network interfaces.</p>
76      */
AddNetworkInterfaces(NetworkInterface && value)77     inline DescribeNetworkInterfacesResponse& AddNetworkInterfaces(NetworkInterface&& value) { m_networkInterfaces.push_back(std::move(value)); return *this; }
78 
79 
80     /**
81      * <p>The token to use to retrieve the next page of results. This value is
82      * <code>null</code> when there are no more results to return.</p>
83      */
GetNextToken()84     inline const Aws::String& GetNextToken() const{ return m_nextToken; }
85 
86     /**
87      * <p>The token to use to retrieve the next page of results. This value is
88      * <code>null</code> when there are no more results to return.</p>
89      */
SetNextToken(const Aws::String & value)90     inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
91 
92     /**
93      * <p>The token to use to retrieve the next page of results. This value is
94      * <code>null</code> when there are no more results to return.</p>
95      */
SetNextToken(Aws::String && value)96     inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
97 
98     /**
99      * <p>The token to use to retrieve the next page of results. This value is
100      * <code>null</code> when there are no more results to return.</p>
101      */
SetNextToken(const char * value)102     inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
103 
104     /**
105      * <p>The token to use to retrieve the next page of results. This value is
106      * <code>null</code> when there are no more results to return.</p>
107      */
WithNextToken(const Aws::String & value)108     inline DescribeNetworkInterfacesResponse& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
109 
110     /**
111      * <p>The token to use to retrieve the next page of results. This value is
112      * <code>null</code> when there are no more results to return.</p>
113      */
WithNextToken(Aws::String && value)114     inline DescribeNetworkInterfacesResponse& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
115 
116     /**
117      * <p>The token to use to retrieve the next page of results. This value is
118      * <code>null</code> when there are no more results to return.</p>
119      */
WithNextToken(const char * value)120     inline DescribeNetworkInterfacesResponse& WithNextToken(const char* value) { SetNextToken(value); return *this;}
121 
122 
123 
GetResponseMetadata()124     inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
125 
126 
SetResponseMetadata(const ResponseMetadata & value)127     inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
128 
129 
SetResponseMetadata(ResponseMetadata && value)130     inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
131 
132 
WithResponseMetadata(const ResponseMetadata & value)133     inline DescribeNetworkInterfacesResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
134 
135 
WithResponseMetadata(ResponseMetadata && value)136     inline DescribeNetworkInterfacesResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
137 
138   private:
139 
140     Aws::Vector<NetworkInterface> m_networkInterfaces;
141 
142     Aws::String m_nextToken;
143 
144     ResponseMetadata m_responseMetadata;
145   };
146 
147 } // namespace Model
148 } // namespace EC2
149 } // namespace Aws
150