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