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/storagegateway/StorageGateway_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/storagegateway/model/AvailabilityMonitorTestStatus.h> 10 #include <aws/core/utils/DateTime.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 template<typename RESULT_TYPE> 16 class AmazonWebServiceResult; 17 18 namespace Utils 19 { 20 namespace Json 21 { 22 class JsonValue; 23 } // namespace Json 24 } // namespace Utils 25 namespace StorageGateway 26 { 27 namespace Model 28 { 29 class AWS_STORAGEGATEWAY_API DescribeAvailabilityMonitorTestResult 30 { 31 public: 32 DescribeAvailabilityMonitorTestResult(); 33 DescribeAvailabilityMonitorTestResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 34 DescribeAvailabilityMonitorTestResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 35 36 37 GetGatewayARN()38 inline const Aws::String& GetGatewayARN() const{ return m_gatewayARN; } 39 40 SetGatewayARN(const Aws::String & value)41 inline void SetGatewayARN(const Aws::String& value) { m_gatewayARN = value; } 42 43 SetGatewayARN(Aws::String && value)44 inline void SetGatewayARN(Aws::String&& value) { m_gatewayARN = std::move(value); } 45 46 SetGatewayARN(const char * value)47 inline void SetGatewayARN(const char* value) { m_gatewayARN.assign(value); } 48 49 WithGatewayARN(const Aws::String & value)50 inline DescribeAvailabilityMonitorTestResult& WithGatewayARN(const Aws::String& value) { SetGatewayARN(value); return *this;} 51 52 WithGatewayARN(Aws::String && value)53 inline DescribeAvailabilityMonitorTestResult& WithGatewayARN(Aws::String&& value) { SetGatewayARN(std::move(value)); return *this;} 54 55 WithGatewayARN(const char * value)56 inline DescribeAvailabilityMonitorTestResult& WithGatewayARN(const char* value) { SetGatewayARN(value); return *this;} 57 58 59 /** 60 * <p>The status of the high availability monitoring test. If a test hasn't been 61 * performed, the value of this field is null.</p> 62 */ GetStatus()63 inline const AvailabilityMonitorTestStatus& GetStatus() const{ return m_status; } 64 65 /** 66 * <p>The status of the high availability monitoring test. If a test hasn't been 67 * performed, the value of this field is null.</p> 68 */ SetStatus(const AvailabilityMonitorTestStatus & value)69 inline void SetStatus(const AvailabilityMonitorTestStatus& value) { m_status = value; } 70 71 /** 72 * <p>The status of the high availability monitoring test. If a test hasn't been 73 * performed, the value of this field is null.</p> 74 */ SetStatus(AvailabilityMonitorTestStatus && value)75 inline void SetStatus(AvailabilityMonitorTestStatus&& value) { m_status = std::move(value); } 76 77 /** 78 * <p>The status of the high availability monitoring test. If a test hasn't been 79 * performed, the value of this field is null.</p> 80 */ WithStatus(const AvailabilityMonitorTestStatus & value)81 inline DescribeAvailabilityMonitorTestResult& WithStatus(const AvailabilityMonitorTestStatus& value) { SetStatus(value); return *this;} 82 83 /** 84 * <p>The status of the high availability monitoring test. If a test hasn't been 85 * performed, the value of this field is null.</p> 86 */ WithStatus(AvailabilityMonitorTestStatus && value)87 inline DescribeAvailabilityMonitorTestResult& WithStatus(AvailabilityMonitorTestStatus&& value) { SetStatus(std::move(value)); return *this;} 88 89 90 /** 91 * <p>The time the high availability monitoring test was started. If a test hasn't 92 * been performed, the value of this field is null.</p> 93 */ GetStartTime()94 inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } 95 96 /** 97 * <p>The time the high availability monitoring test was started. If a test hasn't 98 * been performed, the value of this field is null.</p> 99 */ SetStartTime(const Aws::Utils::DateTime & value)100 inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTime = value; } 101 102 /** 103 * <p>The time the high availability monitoring test was started. If a test hasn't 104 * been performed, the value of this field is null.</p> 105 */ SetStartTime(Aws::Utils::DateTime && value)106 inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTime = std::move(value); } 107 108 /** 109 * <p>The time the high availability monitoring test was started. If a test hasn't 110 * been performed, the value of this field is null.</p> 111 */ WithStartTime(const Aws::Utils::DateTime & value)112 inline DescribeAvailabilityMonitorTestResult& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} 113 114 /** 115 * <p>The time the high availability monitoring test was started. If a test hasn't 116 * been performed, the value of this field is null.</p> 117 */ WithStartTime(Aws::Utils::DateTime && value)118 inline DescribeAvailabilityMonitorTestResult& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} 119 120 private: 121 122 Aws::String m_gatewayARN; 123 124 AvailabilityMonitorTestStatus m_status; 125 126 Aws::Utils::DateTime m_startTime; 127 }; 128 129 } // namespace Model 130 } // namespace StorageGateway 131 } // namespace Aws 132