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/backup/Backup_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/core/utils/memory/stl/AWSVector.h> 10 #include <aws/core/utils/DateTime.h> 11 #include <aws/backup/model/FrameworkControl.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 template<typename RESULT_TYPE> 17 class AmazonWebServiceResult; 18 19 namespace Utils 20 { 21 namespace Json 22 { 23 class JsonValue; 24 } // namespace Json 25 } // namespace Utils 26 namespace Backup 27 { 28 namespace Model 29 { 30 class AWS_BACKUP_API DescribeFrameworkResult 31 { 32 public: 33 DescribeFrameworkResult(); 34 DescribeFrameworkResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 35 DescribeFrameworkResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 36 37 38 /** 39 * <p>The unique name of a framework.</p> 40 */ GetFrameworkName()41 inline const Aws::String& GetFrameworkName() const{ return m_frameworkName; } 42 43 /** 44 * <p>The unique name of a framework.</p> 45 */ SetFrameworkName(const Aws::String & value)46 inline void SetFrameworkName(const Aws::String& value) { m_frameworkName = value; } 47 48 /** 49 * <p>The unique name of a framework.</p> 50 */ SetFrameworkName(Aws::String && value)51 inline void SetFrameworkName(Aws::String&& value) { m_frameworkName = std::move(value); } 52 53 /** 54 * <p>The unique name of a framework.</p> 55 */ SetFrameworkName(const char * value)56 inline void SetFrameworkName(const char* value) { m_frameworkName.assign(value); } 57 58 /** 59 * <p>The unique name of a framework.</p> 60 */ WithFrameworkName(const Aws::String & value)61 inline DescribeFrameworkResult& WithFrameworkName(const Aws::String& value) { SetFrameworkName(value); return *this;} 62 63 /** 64 * <p>The unique name of a framework.</p> 65 */ WithFrameworkName(Aws::String && value)66 inline DescribeFrameworkResult& WithFrameworkName(Aws::String&& value) { SetFrameworkName(std::move(value)); return *this;} 67 68 /** 69 * <p>The unique name of a framework.</p> 70 */ WithFrameworkName(const char * value)71 inline DescribeFrameworkResult& WithFrameworkName(const char* value) { SetFrameworkName(value); return *this;} 72 73 74 /** 75 * <p>An Amazon Resource Name (ARN) that uniquely identifies a resource. The format 76 * of the ARN depends on the resource type.</p> 77 */ GetFrameworkArn()78 inline const Aws::String& GetFrameworkArn() const{ return m_frameworkArn; } 79 80 /** 81 * <p>An Amazon Resource Name (ARN) that uniquely identifies a resource. The format 82 * of the ARN depends on the resource type.</p> 83 */ SetFrameworkArn(const Aws::String & value)84 inline void SetFrameworkArn(const Aws::String& value) { m_frameworkArn = value; } 85 86 /** 87 * <p>An Amazon Resource Name (ARN) that uniquely identifies a resource. The format 88 * of the ARN depends on the resource type.</p> 89 */ SetFrameworkArn(Aws::String && value)90 inline void SetFrameworkArn(Aws::String&& value) { m_frameworkArn = std::move(value); } 91 92 /** 93 * <p>An Amazon Resource Name (ARN) that uniquely identifies a resource. The format 94 * of the ARN depends on the resource type.</p> 95 */ SetFrameworkArn(const char * value)96 inline void SetFrameworkArn(const char* value) { m_frameworkArn.assign(value); } 97 98 /** 99 * <p>An Amazon Resource Name (ARN) that uniquely identifies a resource. The format 100 * of the ARN depends on the resource type.</p> 101 */ WithFrameworkArn(const Aws::String & value)102 inline DescribeFrameworkResult& WithFrameworkArn(const Aws::String& value) { SetFrameworkArn(value); return *this;} 103 104 /** 105 * <p>An Amazon Resource Name (ARN) that uniquely identifies a resource. The format 106 * of the ARN depends on the resource type.</p> 107 */ WithFrameworkArn(Aws::String && value)108 inline DescribeFrameworkResult& WithFrameworkArn(Aws::String&& value) { SetFrameworkArn(std::move(value)); return *this;} 109 110 /** 111 * <p>An Amazon Resource Name (ARN) that uniquely identifies a resource. The format 112 * of the ARN depends on the resource type.</p> 113 */ WithFrameworkArn(const char * value)114 inline DescribeFrameworkResult& WithFrameworkArn(const char* value) { SetFrameworkArn(value); return *this;} 115 116 117 /** 118 * <p>An optional description of the framework.</p> 119 */ GetFrameworkDescription()120 inline const Aws::String& GetFrameworkDescription() const{ return m_frameworkDescription; } 121 122 /** 123 * <p>An optional description of the framework.</p> 124 */ SetFrameworkDescription(const Aws::String & value)125 inline void SetFrameworkDescription(const Aws::String& value) { m_frameworkDescription = value; } 126 127 /** 128 * <p>An optional description of the framework.</p> 129 */ SetFrameworkDescription(Aws::String && value)130 inline void SetFrameworkDescription(Aws::String&& value) { m_frameworkDescription = std::move(value); } 131 132 /** 133 * <p>An optional description of the framework.</p> 134 */ SetFrameworkDescription(const char * value)135 inline void SetFrameworkDescription(const char* value) { m_frameworkDescription.assign(value); } 136 137 /** 138 * <p>An optional description of the framework.</p> 139 */ WithFrameworkDescription(const Aws::String & value)140 inline DescribeFrameworkResult& WithFrameworkDescription(const Aws::String& value) { SetFrameworkDescription(value); return *this;} 141 142 /** 143 * <p>An optional description of the framework.</p> 144 */ WithFrameworkDescription(Aws::String && value)145 inline DescribeFrameworkResult& WithFrameworkDescription(Aws::String&& value) { SetFrameworkDescription(std::move(value)); return *this;} 146 147 /** 148 * <p>An optional description of the framework.</p> 149 */ WithFrameworkDescription(const char * value)150 inline DescribeFrameworkResult& WithFrameworkDescription(const char* value) { SetFrameworkDescription(value); return *this;} 151 152 153 /** 154 * <p>A list of the controls that make up the framework. Each control in the list 155 * has a name, input parameters, and scope.</p> 156 */ GetFrameworkControls()157 inline const Aws::Vector<FrameworkControl>& GetFrameworkControls() const{ return m_frameworkControls; } 158 159 /** 160 * <p>A list of the controls that make up the framework. Each control in the list 161 * has a name, input parameters, and scope.</p> 162 */ SetFrameworkControls(const Aws::Vector<FrameworkControl> & value)163 inline void SetFrameworkControls(const Aws::Vector<FrameworkControl>& value) { m_frameworkControls = value; } 164 165 /** 166 * <p>A list of the controls that make up the framework. Each control in the list 167 * has a name, input parameters, and scope.</p> 168 */ SetFrameworkControls(Aws::Vector<FrameworkControl> && value)169 inline void SetFrameworkControls(Aws::Vector<FrameworkControl>&& value) { m_frameworkControls = std::move(value); } 170 171 /** 172 * <p>A list of the controls that make up the framework. Each control in the list 173 * has a name, input parameters, and scope.</p> 174 */ WithFrameworkControls(const Aws::Vector<FrameworkControl> & value)175 inline DescribeFrameworkResult& WithFrameworkControls(const Aws::Vector<FrameworkControl>& value) { SetFrameworkControls(value); return *this;} 176 177 /** 178 * <p>A list of the controls that make up the framework. Each control in the list 179 * has a name, input parameters, and scope.</p> 180 */ WithFrameworkControls(Aws::Vector<FrameworkControl> && value)181 inline DescribeFrameworkResult& WithFrameworkControls(Aws::Vector<FrameworkControl>&& value) { SetFrameworkControls(std::move(value)); return *this;} 182 183 /** 184 * <p>A list of the controls that make up the framework. Each control in the list 185 * has a name, input parameters, and scope.</p> 186 */ AddFrameworkControls(const FrameworkControl & value)187 inline DescribeFrameworkResult& AddFrameworkControls(const FrameworkControl& value) { m_frameworkControls.push_back(value); return *this; } 188 189 /** 190 * <p>A list of the controls that make up the framework. Each control in the list 191 * has a name, input parameters, and scope.</p> 192 */ AddFrameworkControls(FrameworkControl && value)193 inline DescribeFrameworkResult& AddFrameworkControls(FrameworkControl&& value) { m_frameworkControls.push_back(std::move(value)); return *this; } 194 195 196 /** 197 * <p>The date and time that a framework is created, in Unix format and Coordinated 198 * Universal Time (UTC). The value of <code>CreationTime</code> is accurate to 199 * milliseconds. For example, the value 1516925490.087 represents Friday, January 200 * 26, 2018 12:11:30.087 AM.</p> 201 */ GetCreationTime()202 inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; } 203 204 /** 205 * <p>The date and time that a framework is created, in Unix format and Coordinated 206 * Universal Time (UTC). The value of <code>CreationTime</code> is accurate to 207 * milliseconds. For example, the value 1516925490.087 represents Friday, January 208 * 26, 2018 12:11:30.087 AM.</p> 209 */ SetCreationTime(const Aws::Utils::DateTime & value)210 inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTime = value; } 211 212 /** 213 * <p>The date and time that a framework is created, in Unix format and Coordinated 214 * Universal Time (UTC). The value of <code>CreationTime</code> is accurate to 215 * milliseconds. For example, the value 1516925490.087 represents Friday, January 216 * 26, 2018 12:11:30.087 AM.</p> 217 */ SetCreationTime(Aws::Utils::DateTime && value)218 inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTime = std::move(value); } 219 220 /** 221 * <p>The date and time that a framework is created, in Unix format and Coordinated 222 * Universal Time (UTC). The value of <code>CreationTime</code> is accurate to 223 * milliseconds. For example, the value 1516925490.087 represents Friday, January 224 * 26, 2018 12:11:30.087 AM.</p> 225 */ WithCreationTime(const Aws::Utils::DateTime & value)226 inline DescribeFrameworkResult& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;} 227 228 /** 229 * <p>The date and time that a framework is created, in Unix format and Coordinated 230 * Universal Time (UTC). The value of <code>CreationTime</code> is accurate to 231 * milliseconds. For example, the value 1516925490.087 represents Friday, January 232 * 26, 2018 12:11:30.087 AM.</p> 233 */ WithCreationTime(Aws::Utils::DateTime && value)234 inline DescribeFrameworkResult& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} 235 236 237 /** 238 * <p>The deployment status of a framework. The statuses are:</p> <p> 239 * <code>CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED | 240 * FAILED</code> </p> 241 */ GetDeploymentStatus()242 inline const Aws::String& GetDeploymentStatus() const{ return m_deploymentStatus; } 243 244 /** 245 * <p>The deployment status of a framework. The statuses are:</p> <p> 246 * <code>CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED | 247 * FAILED</code> </p> 248 */ SetDeploymentStatus(const Aws::String & value)249 inline void SetDeploymentStatus(const Aws::String& value) { m_deploymentStatus = value; } 250 251 /** 252 * <p>The deployment status of a framework. The statuses are:</p> <p> 253 * <code>CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED | 254 * FAILED</code> </p> 255 */ SetDeploymentStatus(Aws::String && value)256 inline void SetDeploymentStatus(Aws::String&& value) { m_deploymentStatus = std::move(value); } 257 258 /** 259 * <p>The deployment status of a framework. The statuses are:</p> <p> 260 * <code>CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED | 261 * FAILED</code> </p> 262 */ SetDeploymentStatus(const char * value)263 inline void SetDeploymentStatus(const char* value) { m_deploymentStatus.assign(value); } 264 265 /** 266 * <p>The deployment status of a framework. The statuses are:</p> <p> 267 * <code>CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED | 268 * FAILED</code> </p> 269 */ WithDeploymentStatus(const Aws::String & value)270 inline DescribeFrameworkResult& WithDeploymentStatus(const Aws::String& value) { SetDeploymentStatus(value); return *this;} 271 272 /** 273 * <p>The deployment status of a framework. The statuses are:</p> <p> 274 * <code>CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED | 275 * FAILED</code> </p> 276 */ WithDeploymentStatus(Aws::String && value)277 inline DescribeFrameworkResult& WithDeploymentStatus(Aws::String&& value) { SetDeploymentStatus(std::move(value)); return *this;} 278 279 /** 280 * <p>The deployment status of a framework. The statuses are:</p> <p> 281 * <code>CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED | 282 * FAILED</code> </p> 283 */ WithDeploymentStatus(const char * value)284 inline DescribeFrameworkResult& WithDeploymentStatus(const char* value) { SetDeploymentStatus(value); return *this;} 285 286 287 /** 288 * <p>A framework consists of one or more controls. Each control governs a 289 * resource, such as backup plans, backup selections, backup vaults, or recovery 290 * points. You can also turn Config recording on or off for each resource. The 291 * statuses are:</p> <ul> <li> <p> <code>ACTIVE</code> when recording is turned on 292 * for all resources governed by the framework.</p> </li> <li> <p> 293 * <code>PARTIALLY_ACTIVE</code> when recording is turned off for at least one 294 * resource governed by the framework.</p> </li> <li> <p> <code>INACTIVE</code> 295 * when recording is turned off for all resources governed by the framework.</p> 296 * </li> <li> <p> <code>UNAVAILABLE</code> when Backup is unable to validate 297 * recording status at this time.</p> </li> </ul> 298 */ GetFrameworkStatus()299 inline const Aws::String& GetFrameworkStatus() const{ return m_frameworkStatus; } 300 301 /** 302 * <p>A framework consists of one or more controls. Each control governs a 303 * resource, such as backup plans, backup selections, backup vaults, or recovery 304 * points. You can also turn Config recording on or off for each resource. The 305 * statuses are:</p> <ul> <li> <p> <code>ACTIVE</code> when recording is turned on 306 * for all resources governed by the framework.</p> </li> <li> <p> 307 * <code>PARTIALLY_ACTIVE</code> when recording is turned off for at least one 308 * resource governed by the framework.</p> </li> <li> <p> <code>INACTIVE</code> 309 * when recording is turned off for all resources governed by the framework.</p> 310 * </li> <li> <p> <code>UNAVAILABLE</code> when Backup is unable to validate 311 * recording status at this time.</p> </li> </ul> 312 */ SetFrameworkStatus(const Aws::String & value)313 inline void SetFrameworkStatus(const Aws::String& value) { m_frameworkStatus = value; } 314 315 /** 316 * <p>A framework consists of one or more controls. Each control governs a 317 * resource, such as backup plans, backup selections, backup vaults, or recovery 318 * points. You can also turn Config recording on or off for each resource. The 319 * statuses are:</p> <ul> <li> <p> <code>ACTIVE</code> when recording is turned on 320 * for all resources governed by the framework.</p> </li> <li> <p> 321 * <code>PARTIALLY_ACTIVE</code> when recording is turned off for at least one 322 * resource governed by the framework.</p> </li> <li> <p> <code>INACTIVE</code> 323 * when recording is turned off for all resources governed by the framework.</p> 324 * </li> <li> <p> <code>UNAVAILABLE</code> when Backup is unable to validate 325 * recording status at this time.</p> </li> </ul> 326 */ SetFrameworkStatus(Aws::String && value)327 inline void SetFrameworkStatus(Aws::String&& value) { m_frameworkStatus = std::move(value); } 328 329 /** 330 * <p>A framework consists of one or more controls. Each control governs a 331 * resource, such as backup plans, backup selections, backup vaults, or recovery 332 * points. You can also turn Config recording on or off for each resource. The 333 * statuses are:</p> <ul> <li> <p> <code>ACTIVE</code> when recording is turned on 334 * for all resources governed by the framework.</p> </li> <li> <p> 335 * <code>PARTIALLY_ACTIVE</code> when recording is turned off for at least one 336 * resource governed by the framework.</p> </li> <li> <p> <code>INACTIVE</code> 337 * when recording is turned off for all resources governed by the framework.</p> 338 * </li> <li> <p> <code>UNAVAILABLE</code> when Backup is unable to validate 339 * recording status at this time.</p> </li> </ul> 340 */ SetFrameworkStatus(const char * value)341 inline void SetFrameworkStatus(const char* value) { m_frameworkStatus.assign(value); } 342 343 /** 344 * <p>A framework consists of one or more controls. Each control governs a 345 * resource, such as backup plans, backup selections, backup vaults, or recovery 346 * points. You can also turn Config recording on or off for each resource. The 347 * statuses are:</p> <ul> <li> <p> <code>ACTIVE</code> when recording is turned on 348 * for all resources governed by the framework.</p> </li> <li> <p> 349 * <code>PARTIALLY_ACTIVE</code> when recording is turned off for at least one 350 * resource governed by the framework.</p> </li> <li> <p> <code>INACTIVE</code> 351 * when recording is turned off for all resources governed by the framework.</p> 352 * </li> <li> <p> <code>UNAVAILABLE</code> when Backup is unable to validate 353 * recording status at this time.</p> </li> </ul> 354 */ WithFrameworkStatus(const Aws::String & value)355 inline DescribeFrameworkResult& WithFrameworkStatus(const Aws::String& value) { SetFrameworkStatus(value); return *this;} 356 357 /** 358 * <p>A framework consists of one or more controls. Each control governs a 359 * resource, such as backup plans, backup selections, backup vaults, or recovery 360 * points. You can also turn Config recording on or off for each resource. The 361 * statuses are:</p> <ul> <li> <p> <code>ACTIVE</code> when recording is turned on 362 * for all resources governed by the framework.</p> </li> <li> <p> 363 * <code>PARTIALLY_ACTIVE</code> when recording is turned off for at least one 364 * resource governed by the framework.</p> </li> <li> <p> <code>INACTIVE</code> 365 * when recording is turned off for all resources governed by the framework.</p> 366 * </li> <li> <p> <code>UNAVAILABLE</code> when Backup is unable to validate 367 * recording status at this time.</p> </li> </ul> 368 */ WithFrameworkStatus(Aws::String && value)369 inline DescribeFrameworkResult& WithFrameworkStatus(Aws::String&& value) { SetFrameworkStatus(std::move(value)); return *this;} 370 371 /** 372 * <p>A framework consists of one or more controls. Each control governs a 373 * resource, such as backup plans, backup selections, backup vaults, or recovery 374 * points. You can also turn Config recording on or off for each resource. The 375 * statuses are:</p> <ul> <li> <p> <code>ACTIVE</code> when recording is turned on 376 * for all resources governed by the framework.</p> </li> <li> <p> 377 * <code>PARTIALLY_ACTIVE</code> when recording is turned off for at least one 378 * resource governed by the framework.</p> </li> <li> <p> <code>INACTIVE</code> 379 * when recording is turned off for all resources governed by the framework.</p> 380 * </li> <li> <p> <code>UNAVAILABLE</code> when Backup is unable to validate 381 * recording status at this time.</p> </li> </ul> 382 */ WithFrameworkStatus(const char * value)383 inline DescribeFrameworkResult& WithFrameworkStatus(const char* value) { SetFrameworkStatus(value); return *this;} 384 385 386 /** 387 * <p>A customer-chosen string that you can use to distinguish between otherwise 388 * identical calls to <code>DescribeFrameworkOutput</code>. Retrying a successful 389 * request with the same idempotency token results in a success message with no 390 * action taken.</p> 391 */ GetIdempotencyToken()392 inline const Aws::String& GetIdempotencyToken() const{ return m_idempotencyToken; } 393 394 /** 395 * <p>A customer-chosen string that you can use to distinguish between otherwise 396 * identical calls to <code>DescribeFrameworkOutput</code>. Retrying a successful 397 * request with the same idempotency token results in a success message with no 398 * action taken.</p> 399 */ SetIdempotencyToken(const Aws::String & value)400 inline void SetIdempotencyToken(const Aws::String& value) { m_idempotencyToken = value; } 401 402 /** 403 * <p>A customer-chosen string that you can use to distinguish between otherwise 404 * identical calls to <code>DescribeFrameworkOutput</code>. Retrying a successful 405 * request with the same idempotency token results in a success message with no 406 * action taken.</p> 407 */ SetIdempotencyToken(Aws::String && value)408 inline void SetIdempotencyToken(Aws::String&& value) { m_idempotencyToken = std::move(value); } 409 410 /** 411 * <p>A customer-chosen string that you can use to distinguish between otherwise 412 * identical calls to <code>DescribeFrameworkOutput</code>. Retrying a successful 413 * request with the same idempotency token results in a success message with no 414 * action taken.</p> 415 */ SetIdempotencyToken(const char * value)416 inline void SetIdempotencyToken(const char* value) { m_idempotencyToken.assign(value); } 417 418 /** 419 * <p>A customer-chosen string that you can use to distinguish between otherwise 420 * identical calls to <code>DescribeFrameworkOutput</code>. Retrying a successful 421 * request with the same idempotency token results in a success message with no 422 * action taken.</p> 423 */ WithIdempotencyToken(const Aws::String & value)424 inline DescribeFrameworkResult& WithIdempotencyToken(const Aws::String& value) { SetIdempotencyToken(value); return *this;} 425 426 /** 427 * <p>A customer-chosen string that you can use to distinguish between otherwise 428 * identical calls to <code>DescribeFrameworkOutput</code>. Retrying a successful 429 * request with the same idempotency token results in a success message with no 430 * action taken.</p> 431 */ WithIdempotencyToken(Aws::String && value)432 inline DescribeFrameworkResult& WithIdempotencyToken(Aws::String&& value) { SetIdempotencyToken(std::move(value)); return *this;} 433 434 /** 435 * <p>A customer-chosen string that you can use to distinguish between otherwise 436 * identical calls to <code>DescribeFrameworkOutput</code>. Retrying a successful 437 * request with the same idempotency token results in a success message with no 438 * action taken.</p> 439 */ WithIdempotencyToken(const char * value)440 inline DescribeFrameworkResult& WithIdempotencyToken(const char* value) { SetIdempotencyToken(value); return *this;} 441 442 private: 443 444 Aws::String m_frameworkName; 445 446 Aws::String m_frameworkArn; 447 448 Aws::String m_frameworkDescription; 449 450 Aws::Vector<FrameworkControl> m_frameworkControls; 451 452 Aws::Utils::DateTime m_creationTime; 453 454 Aws::String m_deploymentStatus; 455 456 Aws::String m_frameworkStatus; 457 458 Aws::String m_idempotencyToken; 459 }; 460 461 } // namespace Model 462 } // namespace Backup 463 } // namespace Aws 464