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/mobile/Mobile_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/mobile/model/ProjectState.h> 10 #include <aws/core/utils/DateTime.h> 11 #include <aws/core/utils/memory/stl/AWSVector.h> 12 #include <aws/mobile/model/Resource.h> 13 #include <utility> 14 15 namespace Aws 16 { 17 namespace Utils 18 { 19 namespace Json 20 { 21 class JsonValue; 22 class JsonView; 23 } // namespace Json 24 } // namespace Utils 25 namespace Mobile 26 { 27 namespace Model 28 { 29 30 /** 31 * <p> Detailed information about an AWS Mobile Hub project. </p><p><h3>See 32 * Also:</h3> <a 33 * href="http://docs.aws.amazon.com/goto/WebAPI/mobile-2017-07-01/ProjectDetails">AWS 34 * API Reference</a></p> 35 */ 36 class AWS_MOBILE_API ProjectDetails 37 { 38 public: 39 ProjectDetails(); 40 ProjectDetails(Aws::Utils::Json::JsonView jsonValue); 41 ProjectDetails& operator=(Aws::Utils::Json::JsonView jsonValue); 42 Aws::Utils::Json::JsonValue Jsonize() const; 43 44 45 GetName()46 inline const Aws::String& GetName() const{ return m_name; } 47 48 NameHasBeenSet()49 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } 50 51 SetName(const Aws::String & value)52 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } 53 54 SetName(Aws::String && value)55 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } 56 57 SetName(const char * value)58 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } 59 60 WithName(const Aws::String & value)61 inline ProjectDetails& WithName(const Aws::String& value) { SetName(value); return *this;} 62 63 WithName(Aws::String && value)64 inline ProjectDetails& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 65 66 WithName(const char * value)67 inline ProjectDetails& WithName(const char* value) { SetName(value); return *this;} 68 69 70 GetProjectId()71 inline const Aws::String& GetProjectId() const{ return m_projectId; } 72 73 ProjectIdHasBeenSet()74 inline bool ProjectIdHasBeenSet() const { return m_projectIdHasBeenSet; } 75 76 SetProjectId(const Aws::String & value)77 inline void SetProjectId(const Aws::String& value) { m_projectIdHasBeenSet = true; m_projectId = value; } 78 79 SetProjectId(Aws::String && value)80 inline void SetProjectId(Aws::String&& value) { m_projectIdHasBeenSet = true; m_projectId = std::move(value); } 81 82 SetProjectId(const char * value)83 inline void SetProjectId(const char* value) { m_projectIdHasBeenSet = true; m_projectId.assign(value); } 84 85 WithProjectId(const Aws::String & value)86 inline ProjectDetails& WithProjectId(const Aws::String& value) { SetProjectId(value); return *this;} 87 88 WithProjectId(Aws::String && value)89 inline ProjectDetails& WithProjectId(Aws::String&& value) { SetProjectId(std::move(value)); return *this;} 90 91 WithProjectId(const char * value)92 inline ProjectDetails& WithProjectId(const char* value) { SetProjectId(value); return *this;} 93 94 95 GetRegion()96 inline const Aws::String& GetRegion() const{ return m_region; } 97 98 RegionHasBeenSet()99 inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } 100 101 SetRegion(const Aws::String & value)102 inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } 103 104 SetRegion(Aws::String && value)105 inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } 106 107 SetRegion(const char * value)108 inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } 109 110 WithRegion(const Aws::String & value)111 inline ProjectDetails& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} 112 113 WithRegion(Aws::String && value)114 inline ProjectDetails& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} 115 116 WithRegion(const char * value)117 inline ProjectDetails& WithRegion(const char* value) { SetRegion(value); return *this;} 118 119 120 GetState()121 inline const ProjectState& GetState() const{ return m_state; } 122 123 StateHasBeenSet()124 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } 125 126 SetState(const ProjectState & value)127 inline void SetState(const ProjectState& value) { m_stateHasBeenSet = true; m_state = value; } 128 129 SetState(ProjectState && value)130 inline void SetState(ProjectState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } 131 132 WithState(const ProjectState & value)133 inline ProjectDetails& WithState(const ProjectState& value) { SetState(value); return *this;} 134 135 WithState(ProjectState && value)136 inline ProjectDetails& WithState(ProjectState&& value) { SetState(std::move(value)); return *this;} 137 138 139 /** 140 * <p> Date the project was created. </p> 141 */ GetCreatedDate()142 inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; } 143 144 /** 145 * <p> Date the project was created. </p> 146 */ CreatedDateHasBeenSet()147 inline bool CreatedDateHasBeenSet() const { return m_createdDateHasBeenSet; } 148 149 /** 150 * <p> Date the project was created. </p> 151 */ SetCreatedDate(const Aws::Utils::DateTime & value)152 inline void SetCreatedDate(const Aws::Utils::DateTime& value) { m_createdDateHasBeenSet = true; m_createdDate = value; } 153 154 /** 155 * <p> Date the project was created. </p> 156 */ SetCreatedDate(Aws::Utils::DateTime && value)157 inline void SetCreatedDate(Aws::Utils::DateTime&& value) { m_createdDateHasBeenSet = true; m_createdDate = std::move(value); } 158 159 /** 160 * <p> Date the project was created. </p> 161 */ WithCreatedDate(const Aws::Utils::DateTime & value)162 inline ProjectDetails& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;} 163 164 /** 165 * <p> Date the project was created. </p> 166 */ WithCreatedDate(Aws::Utils::DateTime && value)167 inline ProjectDetails& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;} 168 169 170 /** 171 * <p> Date of the last modification of the project. </p> 172 */ GetLastUpdatedDate()173 inline const Aws::Utils::DateTime& GetLastUpdatedDate() const{ return m_lastUpdatedDate; } 174 175 /** 176 * <p> Date of the last modification of the project. </p> 177 */ LastUpdatedDateHasBeenSet()178 inline bool LastUpdatedDateHasBeenSet() const { return m_lastUpdatedDateHasBeenSet; } 179 180 /** 181 * <p> Date of the last modification of the project. </p> 182 */ SetLastUpdatedDate(const Aws::Utils::DateTime & value)183 inline void SetLastUpdatedDate(const Aws::Utils::DateTime& value) { m_lastUpdatedDateHasBeenSet = true; m_lastUpdatedDate = value; } 184 185 /** 186 * <p> Date of the last modification of the project. </p> 187 */ SetLastUpdatedDate(Aws::Utils::DateTime && value)188 inline void SetLastUpdatedDate(Aws::Utils::DateTime&& value) { m_lastUpdatedDateHasBeenSet = true; m_lastUpdatedDate = std::move(value); } 189 190 /** 191 * <p> Date of the last modification of the project. </p> 192 */ WithLastUpdatedDate(const Aws::Utils::DateTime & value)193 inline ProjectDetails& WithLastUpdatedDate(const Aws::Utils::DateTime& value) { SetLastUpdatedDate(value); return *this;} 194 195 /** 196 * <p> Date of the last modification of the project. </p> 197 */ WithLastUpdatedDate(Aws::Utils::DateTime && value)198 inline ProjectDetails& WithLastUpdatedDate(Aws::Utils::DateTime&& value) { SetLastUpdatedDate(std::move(value)); return *this;} 199 200 201 /** 202 * <p> Website URL for this project in the AWS Mobile Hub console. </p> 203 */ GetConsoleUrl()204 inline const Aws::String& GetConsoleUrl() const{ return m_consoleUrl; } 205 206 /** 207 * <p> Website URL for this project in the AWS Mobile Hub console. </p> 208 */ ConsoleUrlHasBeenSet()209 inline bool ConsoleUrlHasBeenSet() const { return m_consoleUrlHasBeenSet; } 210 211 /** 212 * <p> Website URL for this project in the AWS Mobile Hub console. </p> 213 */ SetConsoleUrl(const Aws::String & value)214 inline void SetConsoleUrl(const Aws::String& value) { m_consoleUrlHasBeenSet = true; m_consoleUrl = value; } 215 216 /** 217 * <p> Website URL for this project in the AWS Mobile Hub console. </p> 218 */ SetConsoleUrl(Aws::String && value)219 inline void SetConsoleUrl(Aws::String&& value) { m_consoleUrlHasBeenSet = true; m_consoleUrl = std::move(value); } 220 221 /** 222 * <p> Website URL for this project in the AWS Mobile Hub console. </p> 223 */ SetConsoleUrl(const char * value)224 inline void SetConsoleUrl(const char* value) { m_consoleUrlHasBeenSet = true; m_consoleUrl.assign(value); } 225 226 /** 227 * <p> Website URL for this project in the AWS Mobile Hub console. </p> 228 */ WithConsoleUrl(const Aws::String & value)229 inline ProjectDetails& WithConsoleUrl(const Aws::String& value) { SetConsoleUrl(value); return *this;} 230 231 /** 232 * <p> Website URL for this project in the AWS Mobile Hub console. </p> 233 */ WithConsoleUrl(Aws::String && value)234 inline ProjectDetails& WithConsoleUrl(Aws::String&& value) { SetConsoleUrl(std::move(value)); return *this;} 235 236 /** 237 * <p> Website URL for this project in the AWS Mobile Hub console. </p> 238 */ WithConsoleUrl(const char * value)239 inline ProjectDetails& WithConsoleUrl(const char* value) { SetConsoleUrl(value); return *this;} 240 241 242 GetResources()243 inline const Aws::Vector<Resource>& GetResources() const{ return m_resources; } 244 245 ResourcesHasBeenSet()246 inline bool ResourcesHasBeenSet() const { return m_resourcesHasBeenSet; } 247 248 SetResources(const Aws::Vector<Resource> & value)249 inline void SetResources(const Aws::Vector<Resource>& value) { m_resourcesHasBeenSet = true; m_resources = value; } 250 251 SetResources(Aws::Vector<Resource> && value)252 inline void SetResources(Aws::Vector<Resource>&& value) { m_resourcesHasBeenSet = true; m_resources = std::move(value); } 253 254 WithResources(const Aws::Vector<Resource> & value)255 inline ProjectDetails& WithResources(const Aws::Vector<Resource>& value) { SetResources(value); return *this;} 256 257 WithResources(Aws::Vector<Resource> && value)258 inline ProjectDetails& WithResources(Aws::Vector<Resource>&& value) { SetResources(std::move(value)); return *this;} 259 260 AddResources(const Resource & value)261 inline ProjectDetails& AddResources(const Resource& value) { m_resourcesHasBeenSet = true; m_resources.push_back(value); return *this; } 262 263 AddResources(Resource && value)264 inline ProjectDetails& AddResources(Resource&& value) { m_resourcesHasBeenSet = true; m_resources.push_back(std::move(value)); return *this; } 265 266 private: 267 268 Aws::String m_name; 269 bool m_nameHasBeenSet; 270 271 Aws::String m_projectId; 272 bool m_projectIdHasBeenSet; 273 274 Aws::String m_region; 275 bool m_regionHasBeenSet; 276 277 ProjectState m_state; 278 bool m_stateHasBeenSet; 279 280 Aws::Utils::DateTime m_createdDate; 281 bool m_createdDateHasBeenSet; 282 283 Aws::Utils::DateTime m_lastUpdatedDate; 284 bool m_lastUpdatedDateHasBeenSet; 285 286 Aws::String m_consoleUrl; 287 bool m_consoleUrlHasBeenSet; 288 289 Aws::Vector<Resource> m_resources; 290 bool m_resourcesHasBeenSet; 291 }; 292 293 } // namespace Model 294 } // namespace Mobile 295 } // namespace Aws 296