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/AWSStreamFwd.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Xml
17 {
18   class XmlNode;
19 } // namespace Xml
20 } // namespace Utils
21 namespace EC2
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p>Describes address usage for a customer-owned address pool.</p><p><h3>See
28    * Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CoipAddressUsage">AWS
30    * API Reference</a></p>
31    */
32   class AWS_EC2_API CoipAddressUsage
33   {
34   public:
35     CoipAddressUsage();
36     CoipAddressUsage(const Aws::Utils::Xml::XmlNode& xmlNode);
37     CoipAddressUsage& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
38 
39     void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
40     void OutputToStream(Aws::OStream& oStream, const char* location) const;
41 
42 
43     /**
44      * <p>The allocation ID of the address.</p>
45      */
GetAllocationId()46     inline const Aws::String& GetAllocationId() const{ return m_allocationId; }
47 
48     /**
49      * <p>The allocation ID of the address.</p>
50      */
AllocationIdHasBeenSet()51     inline bool AllocationIdHasBeenSet() const { return m_allocationIdHasBeenSet; }
52 
53     /**
54      * <p>The allocation ID of the address.</p>
55      */
SetAllocationId(const Aws::String & value)56     inline void SetAllocationId(const Aws::String& value) { m_allocationIdHasBeenSet = true; m_allocationId = value; }
57 
58     /**
59      * <p>The allocation ID of the address.</p>
60      */
SetAllocationId(Aws::String && value)61     inline void SetAllocationId(Aws::String&& value) { m_allocationIdHasBeenSet = true; m_allocationId = std::move(value); }
62 
63     /**
64      * <p>The allocation ID of the address.</p>
65      */
SetAllocationId(const char * value)66     inline void SetAllocationId(const char* value) { m_allocationIdHasBeenSet = true; m_allocationId.assign(value); }
67 
68     /**
69      * <p>The allocation ID of the address.</p>
70      */
WithAllocationId(const Aws::String & value)71     inline CoipAddressUsage& WithAllocationId(const Aws::String& value) { SetAllocationId(value); return *this;}
72 
73     /**
74      * <p>The allocation ID of the address.</p>
75      */
WithAllocationId(Aws::String && value)76     inline CoipAddressUsage& WithAllocationId(Aws::String&& value) { SetAllocationId(std::move(value)); return *this;}
77 
78     /**
79      * <p>The allocation ID of the address.</p>
80      */
WithAllocationId(const char * value)81     inline CoipAddressUsage& WithAllocationId(const char* value) { SetAllocationId(value); return *this;}
82 
83 
84     /**
85      * <p>The Amazon Web Services account ID.</p>
86      */
GetAwsAccountId()87     inline const Aws::String& GetAwsAccountId() const{ return m_awsAccountId; }
88 
89     /**
90      * <p>The Amazon Web Services account ID.</p>
91      */
AwsAccountIdHasBeenSet()92     inline bool AwsAccountIdHasBeenSet() const { return m_awsAccountIdHasBeenSet; }
93 
94     /**
95      * <p>The Amazon Web Services account ID.</p>
96      */
SetAwsAccountId(const Aws::String & value)97     inline void SetAwsAccountId(const Aws::String& value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId = value; }
98 
99     /**
100      * <p>The Amazon Web Services account ID.</p>
101      */
SetAwsAccountId(Aws::String && value)102     inline void SetAwsAccountId(Aws::String&& value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId = std::move(value); }
103 
104     /**
105      * <p>The Amazon Web Services account ID.</p>
106      */
SetAwsAccountId(const char * value)107     inline void SetAwsAccountId(const char* value) { m_awsAccountIdHasBeenSet = true; m_awsAccountId.assign(value); }
108 
109     /**
110      * <p>The Amazon Web Services account ID.</p>
111      */
WithAwsAccountId(const Aws::String & value)112     inline CoipAddressUsage& WithAwsAccountId(const Aws::String& value) { SetAwsAccountId(value); return *this;}
113 
114     /**
115      * <p>The Amazon Web Services account ID.</p>
116      */
WithAwsAccountId(Aws::String && value)117     inline CoipAddressUsage& WithAwsAccountId(Aws::String&& value) { SetAwsAccountId(std::move(value)); return *this;}
118 
119     /**
120      * <p>The Amazon Web Services account ID.</p>
121      */
WithAwsAccountId(const char * value)122     inline CoipAddressUsage& WithAwsAccountId(const char* value) { SetAwsAccountId(value); return *this;}
123 
124 
125     /**
126      * <p>The Amazon Web Services service.</p>
127      */
GetAwsService()128     inline const Aws::String& GetAwsService() const{ return m_awsService; }
129 
130     /**
131      * <p>The Amazon Web Services service.</p>
132      */
AwsServiceHasBeenSet()133     inline bool AwsServiceHasBeenSet() const { return m_awsServiceHasBeenSet; }
134 
135     /**
136      * <p>The Amazon Web Services service.</p>
137      */
SetAwsService(const Aws::String & value)138     inline void SetAwsService(const Aws::String& value) { m_awsServiceHasBeenSet = true; m_awsService = value; }
139 
140     /**
141      * <p>The Amazon Web Services service.</p>
142      */
SetAwsService(Aws::String && value)143     inline void SetAwsService(Aws::String&& value) { m_awsServiceHasBeenSet = true; m_awsService = std::move(value); }
144 
145     /**
146      * <p>The Amazon Web Services service.</p>
147      */
SetAwsService(const char * value)148     inline void SetAwsService(const char* value) { m_awsServiceHasBeenSet = true; m_awsService.assign(value); }
149 
150     /**
151      * <p>The Amazon Web Services service.</p>
152      */
WithAwsService(const Aws::String & value)153     inline CoipAddressUsage& WithAwsService(const Aws::String& value) { SetAwsService(value); return *this;}
154 
155     /**
156      * <p>The Amazon Web Services service.</p>
157      */
WithAwsService(Aws::String && value)158     inline CoipAddressUsage& WithAwsService(Aws::String&& value) { SetAwsService(std::move(value)); return *this;}
159 
160     /**
161      * <p>The Amazon Web Services service.</p>
162      */
WithAwsService(const char * value)163     inline CoipAddressUsage& WithAwsService(const char* value) { SetAwsService(value); return *this;}
164 
165 
166     /**
167      * <p>The customer-owned IP address.</p>
168      */
GetCoIp()169     inline const Aws::String& GetCoIp() const{ return m_coIp; }
170 
171     /**
172      * <p>The customer-owned IP address.</p>
173      */
CoIpHasBeenSet()174     inline bool CoIpHasBeenSet() const { return m_coIpHasBeenSet; }
175 
176     /**
177      * <p>The customer-owned IP address.</p>
178      */
SetCoIp(const Aws::String & value)179     inline void SetCoIp(const Aws::String& value) { m_coIpHasBeenSet = true; m_coIp = value; }
180 
181     /**
182      * <p>The customer-owned IP address.</p>
183      */
SetCoIp(Aws::String && value)184     inline void SetCoIp(Aws::String&& value) { m_coIpHasBeenSet = true; m_coIp = std::move(value); }
185 
186     /**
187      * <p>The customer-owned IP address.</p>
188      */
SetCoIp(const char * value)189     inline void SetCoIp(const char* value) { m_coIpHasBeenSet = true; m_coIp.assign(value); }
190 
191     /**
192      * <p>The customer-owned IP address.</p>
193      */
WithCoIp(const Aws::String & value)194     inline CoipAddressUsage& WithCoIp(const Aws::String& value) { SetCoIp(value); return *this;}
195 
196     /**
197      * <p>The customer-owned IP address.</p>
198      */
WithCoIp(Aws::String && value)199     inline CoipAddressUsage& WithCoIp(Aws::String&& value) { SetCoIp(std::move(value)); return *this;}
200 
201     /**
202      * <p>The customer-owned IP address.</p>
203      */
WithCoIp(const char * value)204     inline CoipAddressUsage& WithCoIp(const char* value) { SetCoIp(value); return *this;}
205 
206   private:
207 
208     Aws::String m_allocationId;
209     bool m_allocationIdHasBeenSet;
210 
211     Aws::String m_awsAccountId;
212     bool m_awsAccountIdHasBeenSet;
213 
214     Aws::String m_awsService;
215     bool m_awsServiceHasBeenSet;
216 
217     Aws::String m_coIp;
218     bool m_coIpHasBeenSet;
219   };
220 
221 } // namespace Model
222 } // namespace EC2
223 } // namespace Aws
224