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/ec2/EC2_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSStreamFwd.h> 9 #include <aws/ec2/model/MonitoringState.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Xml 17 { 18 class XmlNode; 19 } // namespace Xml 20 } // namespace Utils 21 namespace EC2 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>Describes the monitoring of an instance.</p><p><h3>See Also:</h3> <a 28 * href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Monitoring">AWS API 29 * Reference</a></p> 30 */ 31 class AWS_EC2_API Monitoring 32 { 33 public: 34 Monitoring(); 35 Monitoring(const Aws::Utils::Xml::XmlNode& xmlNode); 36 Monitoring& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); 37 38 void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; 39 void OutputToStream(Aws::OStream& oStream, const char* location) const; 40 41 42 /** 43 * <p>Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring 44 * is enabled.</p> 45 */ GetState()46 inline const MonitoringState& GetState() const{ return m_state; } 47 48 /** 49 * <p>Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring 50 * is enabled.</p> 51 */ StateHasBeenSet()52 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } 53 54 /** 55 * <p>Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring 56 * is enabled.</p> 57 */ SetState(const MonitoringState & value)58 inline void SetState(const MonitoringState& value) { m_stateHasBeenSet = true; m_state = value; } 59 60 /** 61 * <p>Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring 62 * is enabled.</p> 63 */ SetState(MonitoringState && value)64 inline void SetState(MonitoringState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } 65 66 /** 67 * <p>Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring 68 * is enabled.</p> 69 */ WithState(const MonitoringState & value)70 inline Monitoring& WithState(const MonitoringState& value) { SetState(value); return *this;} 71 72 /** 73 * <p>Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring 74 * is enabled.</p> 75 */ WithState(MonitoringState && value)76 inline Monitoring& WithState(MonitoringState&& value) { SetState(std::move(value)); return *this;} 77 78 private: 79 80 MonitoringState m_state; 81 bool m_stateHasBeenSet; 82 }; 83 84 } // namespace Model 85 } // namespace EC2 86 } // namespace Aws 87