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 
10 namespace Aws
11 {
12 namespace Utils
13 {
14 namespace Xml
15 {
16   class XmlNode;
17 } // namespace Xml
18 } // namespace Utils
19 namespace EC2
20 {
21 namespace Model
22 {
23 
24   /**
25    * <p>Indicates whether an instance is configured for hibernation.</p><p><h3>See
26    * Also:</h3>   <a
27    * href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchTemplateHibernationOptions">AWS
28    * API Reference</a></p>
29    */
30   class AWS_EC2_API LaunchTemplateHibernationOptions
31   {
32   public:
33     LaunchTemplateHibernationOptions();
34     LaunchTemplateHibernationOptions(const Aws::Utils::Xml::XmlNode& xmlNode);
35     LaunchTemplateHibernationOptions& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
36 
37     void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
38     void OutputToStream(Aws::OStream& oStream, const char* location) const;
39 
40 
41     /**
42      * <p>If this parameter is set to <code>true</code>, the instance is enabled for
43      * hibernation; otherwise, it is not enabled for hibernation.</p>
44      */
GetConfigured()45     inline bool GetConfigured() const{ return m_configured; }
46 
47     /**
48      * <p>If this parameter is set to <code>true</code>, the instance is enabled for
49      * hibernation; otherwise, it is not enabled for hibernation.</p>
50      */
ConfiguredHasBeenSet()51     inline bool ConfiguredHasBeenSet() const { return m_configuredHasBeenSet; }
52 
53     /**
54      * <p>If this parameter is set to <code>true</code>, the instance is enabled for
55      * hibernation; otherwise, it is not enabled for hibernation.</p>
56      */
SetConfigured(bool value)57     inline void SetConfigured(bool value) { m_configuredHasBeenSet = true; m_configured = value; }
58 
59     /**
60      * <p>If this parameter is set to <code>true</code>, the instance is enabled for
61      * hibernation; otherwise, it is not enabled for hibernation.</p>
62      */
WithConfigured(bool value)63     inline LaunchTemplateHibernationOptions& WithConfigured(bool value) { SetConfigured(value); return *this;}
64 
65   private:
66 
67     bool m_configured;
68     bool m_configuredHasBeenSet;
69   };
70 
71 } // namespace Model
72 } // namespace EC2
73 } // namespace Aws
74