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/appmesh/AppMesh_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/appmesh/model/ResourceMetadata.h>
10 #include <aws/appmesh/model/VirtualRouterSpec.h>
11 #include <aws/appmesh/model/VirtualRouterStatus.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 AppMesh
25 {
26 namespace Model
27 {
28 
29   /**
30    * <p>An object that represents a virtual router returned by a describe
31    * operation.</p><p><h3>See Also:</h3>   <a
32    * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/VirtualRouterData">AWS
33    * API Reference</a></p>
34    */
35   class AWS_APPMESH_API VirtualRouterData
36   {
37   public:
38     VirtualRouterData();
39     VirtualRouterData(Aws::Utils::Json::JsonView jsonValue);
40     VirtualRouterData& operator=(Aws::Utils::Json::JsonView jsonValue);
41     Aws::Utils::Json::JsonValue Jsonize() const;
42 
43 
44     /**
45      * <p>The name of the service mesh that the virtual router resides in.</p>
46      */
GetMeshName()47     inline const Aws::String& GetMeshName() const{ return m_meshName; }
48 
49     /**
50      * <p>The name of the service mesh that the virtual router resides in.</p>
51      */
MeshNameHasBeenSet()52     inline bool MeshNameHasBeenSet() const { return m_meshNameHasBeenSet; }
53 
54     /**
55      * <p>The name of the service mesh that the virtual router resides in.</p>
56      */
SetMeshName(const Aws::String & value)57     inline void SetMeshName(const Aws::String& value) { m_meshNameHasBeenSet = true; m_meshName = value; }
58 
59     /**
60      * <p>The name of the service mesh that the virtual router resides in.</p>
61      */
SetMeshName(Aws::String && value)62     inline void SetMeshName(Aws::String&& value) { m_meshNameHasBeenSet = true; m_meshName = std::move(value); }
63 
64     /**
65      * <p>The name of the service mesh that the virtual router resides in.</p>
66      */
SetMeshName(const char * value)67     inline void SetMeshName(const char* value) { m_meshNameHasBeenSet = true; m_meshName.assign(value); }
68 
69     /**
70      * <p>The name of the service mesh that the virtual router resides in.</p>
71      */
WithMeshName(const Aws::String & value)72     inline VirtualRouterData& WithMeshName(const Aws::String& value) { SetMeshName(value); return *this;}
73 
74     /**
75      * <p>The name of the service mesh that the virtual router resides in.</p>
76      */
WithMeshName(Aws::String && value)77     inline VirtualRouterData& WithMeshName(Aws::String&& value) { SetMeshName(std::move(value)); return *this;}
78 
79     /**
80      * <p>The name of the service mesh that the virtual router resides in.</p>
81      */
WithMeshName(const char * value)82     inline VirtualRouterData& WithMeshName(const char* value) { SetMeshName(value); return *this;}
83 
84 
85     /**
86      * <p>The associated metadata for the virtual router.</p>
87      */
GetMetadata()88     inline const ResourceMetadata& GetMetadata() const{ return m_metadata; }
89 
90     /**
91      * <p>The associated metadata for the virtual router.</p>
92      */
MetadataHasBeenSet()93     inline bool MetadataHasBeenSet() const { return m_metadataHasBeenSet; }
94 
95     /**
96      * <p>The associated metadata for the virtual router.</p>
97      */
SetMetadata(const ResourceMetadata & value)98     inline void SetMetadata(const ResourceMetadata& value) { m_metadataHasBeenSet = true; m_metadata = value; }
99 
100     /**
101      * <p>The associated metadata for the virtual router.</p>
102      */
SetMetadata(ResourceMetadata && value)103     inline void SetMetadata(ResourceMetadata&& value) { m_metadataHasBeenSet = true; m_metadata = std::move(value); }
104 
105     /**
106      * <p>The associated metadata for the virtual router.</p>
107      */
WithMetadata(const ResourceMetadata & value)108     inline VirtualRouterData& WithMetadata(const ResourceMetadata& value) { SetMetadata(value); return *this;}
109 
110     /**
111      * <p>The associated metadata for the virtual router.</p>
112      */
WithMetadata(ResourceMetadata && value)113     inline VirtualRouterData& WithMetadata(ResourceMetadata&& value) { SetMetadata(std::move(value)); return *this;}
114 
115 
116     /**
117      * <p>The specifications of the virtual router.</p>
118      */
GetSpec()119     inline const VirtualRouterSpec& GetSpec() const{ return m_spec; }
120 
121     /**
122      * <p>The specifications of the virtual router.</p>
123      */
SpecHasBeenSet()124     inline bool SpecHasBeenSet() const { return m_specHasBeenSet; }
125 
126     /**
127      * <p>The specifications of the virtual router.</p>
128      */
SetSpec(const VirtualRouterSpec & value)129     inline void SetSpec(const VirtualRouterSpec& value) { m_specHasBeenSet = true; m_spec = value; }
130 
131     /**
132      * <p>The specifications of the virtual router.</p>
133      */
SetSpec(VirtualRouterSpec && value)134     inline void SetSpec(VirtualRouterSpec&& value) { m_specHasBeenSet = true; m_spec = std::move(value); }
135 
136     /**
137      * <p>The specifications of the virtual router.</p>
138      */
WithSpec(const VirtualRouterSpec & value)139     inline VirtualRouterData& WithSpec(const VirtualRouterSpec& value) { SetSpec(value); return *this;}
140 
141     /**
142      * <p>The specifications of the virtual router.</p>
143      */
WithSpec(VirtualRouterSpec && value)144     inline VirtualRouterData& WithSpec(VirtualRouterSpec&& value) { SetSpec(std::move(value)); return *this;}
145 
146 
147     /**
148      * <p>The current status of the virtual router.</p>
149      */
GetStatus()150     inline const VirtualRouterStatus& GetStatus() const{ return m_status; }
151 
152     /**
153      * <p>The current status of the virtual router.</p>
154      */
StatusHasBeenSet()155     inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
156 
157     /**
158      * <p>The current status of the virtual router.</p>
159      */
SetStatus(const VirtualRouterStatus & value)160     inline void SetStatus(const VirtualRouterStatus& value) { m_statusHasBeenSet = true; m_status = value; }
161 
162     /**
163      * <p>The current status of the virtual router.</p>
164      */
SetStatus(VirtualRouterStatus && value)165     inline void SetStatus(VirtualRouterStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
166 
167     /**
168      * <p>The current status of the virtual router.</p>
169      */
WithStatus(const VirtualRouterStatus & value)170     inline VirtualRouterData& WithStatus(const VirtualRouterStatus& value) { SetStatus(value); return *this;}
171 
172     /**
173      * <p>The current status of the virtual router.</p>
174      */
WithStatus(VirtualRouterStatus && value)175     inline VirtualRouterData& WithStatus(VirtualRouterStatus&& value) { SetStatus(std::move(value)); return *this;}
176 
177 
178     /**
179      * <p>The name of the virtual router.</p>
180      */
GetVirtualRouterName()181     inline const Aws::String& GetVirtualRouterName() const{ return m_virtualRouterName; }
182 
183     /**
184      * <p>The name of the virtual router.</p>
185      */
VirtualRouterNameHasBeenSet()186     inline bool VirtualRouterNameHasBeenSet() const { return m_virtualRouterNameHasBeenSet; }
187 
188     /**
189      * <p>The name of the virtual router.</p>
190      */
SetVirtualRouterName(const Aws::String & value)191     inline void SetVirtualRouterName(const Aws::String& value) { m_virtualRouterNameHasBeenSet = true; m_virtualRouterName = value; }
192 
193     /**
194      * <p>The name of the virtual router.</p>
195      */
SetVirtualRouterName(Aws::String && value)196     inline void SetVirtualRouterName(Aws::String&& value) { m_virtualRouterNameHasBeenSet = true; m_virtualRouterName = std::move(value); }
197 
198     /**
199      * <p>The name of the virtual router.</p>
200      */
SetVirtualRouterName(const char * value)201     inline void SetVirtualRouterName(const char* value) { m_virtualRouterNameHasBeenSet = true; m_virtualRouterName.assign(value); }
202 
203     /**
204      * <p>The name of the virtual router.</p>
205      */
WithVirtualRouterName(const Aws::String & value)206     inline VirtualRouterData& WithVirtualRouterName(const Aws::String& value) { SetVirtualRouterName(value); return *this;}
207 
208     /**
209      * <p>The name of the virtual router.</p>
210      */
WithVirtualRouterName(Aws::String && value)211     inline VirtualRouterData& WithVirtualRouterName(Aws::String&& value) { SetVirtualRouterName(std::move(value)); return *this;}
212 
213     /**
214      * <p>The name of the virtual router.</p>
215      */
WithVirtualRouterName(const char * value)216     inline VirtualRouterData& WithVirtualRouterName(const char* value) { SetVirtualRouterName(value); return *this;}
217 
218   private:
219 
220     Aws::String m_meshName;
221     bool m_meshNameHasBeenSet;
222 
223     ResourceMetadata m_metadata;
224     bool m_metadataHasBeenSet;
225 
226     VirtualRouterSpec m_spec;
227     bool m_specHasBeenSet;
228 
229     VirtualRouterStatus m_status;
230     bool m_statusHasBeenSet;
231 
232     Aws::String m_virtualRouterName;
233     bool m_virtualRouterNameHasBeenSet;
234   };
235 
236 } // namespace Model
237 } // namespace AppMesh
238 } // namespace Aws
239