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/iot1click-projects/IoT1ClickProjects_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/DateTime.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Json
17 {
18   class JsonValue;
19   class JsonView;
20 } // namespace Json
21 } // namespace Utils
22 namespace IoT1ClickProjects
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>An object providing summary information for a particular
29    * placement.</p><p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/iot1click-projects-2018-05-14/PlacementSummary">AWS
31    * API Reference</a></p>
32    */
33   class AWS_IOT1CLICKPROJECTS_API PlacementSummary
34   {
35   public:
36     PlacementSummary();
37     PlacementSummary(Aws::Utils::Json::JsonView jsonValue);
38     PlacementSummary& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * <p>The name of the project containing the placement.</p>
44      */
GetProjectName()45     inline const Aws::String& GetProjectName() const{ return m_projectName; }
46 
47     /**
48      * <p>The name of the project containing the placement.</p>
49      */
ProjectNameHasBeenSet()50     inline bool ProjectNameHasBeenSet() const { return m_projectNameHasBeenSet; }
51 
52     /**
53      * <p>The name of the project containing the placement.</p>
54      */
SetProjectName(const Aws::String & value)55     inline void SetProjectName(const Aws::String& value) { m_projectNameHasBeenSet = true; m_projectName = value; }
56 
57     /**
58      * <p>The name of the project containing the placement.</p>
59      */
SetProjectName(Aws::String && value)60     inline void SetProjectName(Aws::String&& value) { m_projectNameHasBeenSet = true; m_projectName = std::move(value); }
61 
62     /**
63      * <p>The name of the project containing the placement.</p>
64      */
SetProjectName(const char * value)65     inline void SetProjectName(const char* value) { m_projectNameHasBeenSet = true; m_projectName.assign(value); }
66 
67     /**
68      * <p>The name of the project containing the placement.</p>
69      */
WithProjectName(const Aws::String & value)70     inline PlacementSummary& WithProjectName(const Aws::String& value) { SetProjectName(value); return *this;}
71 
72     /**
73      * <p>The name of the project containing the placement.</p>
74      */
WithProjectName(Aws::String && value)75     inline PlacementSummary& WithProjectName(Aws::String&& value) { SetProjectName(std::move(value)); return *this;}
76 
77     /**
78      * <p>The name of the project containing the placement.</p>
79      */
WithProjectName(const char * value)80     inline PlacementSummary& WithProjectName(const char* value) { SetProjectName(value); return *this;}
81 
82 
83     /**
84      * <p>The name of the placement being summarized.</p>
85      */
GetPlacementName()86     inline const Aws::String& GetPlacementName() const{ return m_placementName; }
87 
88     /**
89      * <p>The name of the placement being summarized.</p>
90      */
PlacementNameHasBeenSet()91     inline bool PlacementNameHasBeenSet() const { return m_placementNameHasBeenSet; }
92 
93     /**
94      * <p>The name of the placement being summarized.</p>
95      */
SetPlacementName(const Aws::String & value)96     inline void SetPlacementName(const Aws::String& value) { m_placementNameHasBeenSet = true; m_placementName = value; }
97 
98     /**
99      * <p>The name of the placement being summarized.</p>
100      */
SetPlacementName(Aws::String && value)101     inline void SetPlacementName(Aws::String&& value) { m_placementNameHasBeenSet = true; m_placementName = std::move(value); }
102 
103     /**
104      * <p>The name of the placement being summarized.</p>
105      */
SetPlacementName(const char * value)106     inline void SetPlacementName(const char* value) { m_placementNameHasBeenSet = true; m_placementName.assign(value); }
107 
108     /**
109      * <p>The name of the placement being summarized.</p>
110      */
WithPlacementName(const Aws::String & value)111     inline PlacementSummary& WithPlacementName(const Aws::String& value) { SetPlacementName(value); return *this;}
112 
113     /**
114      * <p>The name of the placement being summarized.</p>
115      */
WithPlacementName(Aws::String && value)116     inline PlacementSummary& WithPlacementName(Aws::String&& value) { SetPlacementName(std::move(value)); return *this;}
117 
118     /**
119      * <p>The name of the placement being summarized.</p>
120      */
WithPlacementName(const char * value)121     inline PlacementSummary& WithPlacementName(const char* value) { SetPlacementName(value); return *this;}
122 
123 
124     /**
125      * <p>The date when the placement was originally created, in UNIX epoch time
126      * format.</p>
127      */
GetCreatedDate()128     inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; }
129 
130     /**
131      * <p>The date when the placement was originally created, in UNIX epoch time
132      * format.</p>
133      */
CreatedDateHasBeenSet()134     inline bool CreatedDateHasBeenSet() const { return m_createdDateHasBeenSet; }
135 
136     /**
137      * <p>The date when the placement was originally created, in UNIX epoch time
138      * format.</p>
139      */
SetCreatedDate(const Aws::Utils::DateTime & value)140     inline void SetCreatedDate(const Aws::Utils::DateTime& value) { m_createdDateHasBeenSet = true; m_createdDate = value; }
141 
142     /**
143      * <p>The date when the placement was originally created, in UNIX epoch time
144      * format.</p>
145      */
SetCreatedDate(Aws::Utils::DateTime && value)146     inline void SetCreatedDate(Aws::Utils::DateTime&& value) { m_createdDateHasBeenSet = true; m_createdDate = std::move(value); }
147 
148     /**
149      * <p>The date when the placement was originally created, in UNIX epoch time
150      * format.</p>
151      */
WithCreatedDate(const Aws::Utils::DateTime & value)152     inline PlacementSummary& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;}
153 
154     /**
155      * <p>The date when the placement was originally created, in UNIX epoch time
156      * format.</p>
157      */
WithCreatedDate(Aws::Utils::DateTime && value)158     inline PlacementSummary& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;}
159 
160 
161     /**
162      * <p>The date when the placement was last updated, in UNIX epoch time format. If
163      * the placement was not updated, then <code>createdDate</code> and
164      * <code>updatedDate</code> are the same.</p>
165      */
GetUpdatedDate()166     inline const Aws::Utils::DateTime& GetUpdatedDate() const{ return m_updatedDate; }
167 
168     /**
169      * <p>The date when the placement was last updated, in UNIX epoch time format. If
170      * the placement was not updated, then <code>createdDate</code> and
171      * <code>updatedDate</code> are the same.</p>
172      */
UpdatedDateHasBeenSet()173     inline bool UpdatedDateHasBeenSet() const { return m_updatedDateHasBeenSet; }
174 
175     /**
176      * <p>The date when the placement was last updated, in UNIX epoch time format. If
177      * the placement was not updated, then <code>createdDate</code> and
178      * <code>updatedDate</code> are the same.</p>
179      */
SetUpdatedDate(const Aws::Utils::DateTime & value)180     inline void SetUpdatedDate(const Aws::Utils::DateTime& value) { m_updatedDateHasBeenSet = true; m_updatedDate = value; }
181 
182     /**
183      * <p>The date when the placement was last updated, in UNIX epoch time format. If
184      * the placement was not updated, then <code>createdDate</code> and
185      * <code>updatedDate</code> are the same.</p>
186      */
SetUpdatedDate(Aws::Utils::DateTime && value)187     inline void SetUpdatedDate(Aws::Utils::DateTime&& value) { m_updatedDateHasBeenSet = true; m_updatedDate = std::move(value); }
188 
189     /**
190      * <p>The date when the placement was last updated, in UNIX epoch time format. If
191      * the placement was not updated, then <code>createdDate</code> and
192      * <code>updatedDate</code> are the same.</p>
193      */
WithUpdatedDate(const Aws::Utils::DateTime & value)194     inline PlacementSummary& WithUpdatedDate(const Aws::Utils::DateTime& value) { SetUpdatedDate(value); return *this;}
195 
196     /**
197      * <p>The date when the placement was last updated, in UNIX epoch time format. If
198      * the placement was not updated, then <code>createdDate</code> and
199      * <code>updatedDate</code> are the same.</p>
200      */
WithUpdatedDate(Aws::Utils::DateTime && value)201     inline PlacementSummary& WithUpdatedDate(Aws::Utils::DateTime&& value) { SetUpdatedDate(std::move(value)); return *this;}
202 
203   private:
204 
205     Aws::String m_projectName;
206     bool m_projectNameHasBeenSet;
207 
208     Aws::String m_placementName;
209     bool m_placementNameHasBeenSet;
210 
211     Aws::Utils::DateTime m_createdDate;
212     bool m_createdDateHasBeenSet;
213 
214     Aws::Utils::DateTime m_updatedDate;
215     bool m_updatedDateHasBeenSet;
216   };
217 
218 } // namespace Model
219 } // namespace IoT1ClickProjects
220 } // namespace Aws
221