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/mgn/Mgn_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/mgn/model/FirstBoot.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Json
17 {
18   class JsonValue;
19   class JsonView;
20 } // namespace Json
21 } // namespace Utils
22 namespace mgn
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>Configure launced instance.</p><p><h3>See Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/LaunchedInstance">AWS
30    * API Reference</a></p>
31    */
32   class AWS_MGN_API LaunchedInstance
33   {
34   public:
35     LaunchedInstance();
36     LaunchedInstance(Aws::Utils::Json::JsonView jsonValue);
37     LaunchedInstance& operator=(Aws::Utils::Json::JsonView jsonValue);
38     Aws::Utils::Json::JsonValue Jsonize() const;
39 
40 
41     /**
42      * <p>Configure launced instance EC2 ID.</p>
43      */
GetEc2InstanceID()44     inline const Aws::String& GetEc2InstanceID() const{ return m_ec2InstanceID; }
45 
46     /**
47      * <p>Configure launced instance EC2 ID.</p>
48      */
Ec2InstanceIDHasBeenSet()49     inline bool Ec2InstanceIDHasBeenSet() const { return m_ec2InstanceIDHasBeenSet; }
50 
51     /**
52      * <p>Configure launced instance EC2 ID.</p>
53      */
SetEc2InstanceID(const Aws::String & value)54     inline void SetEc2InstanceID(const Aws::String& value) { m_ec2InstanceIDHasBeenSet = true; m_ec2InstanceID = value; }
55 
56     /**
57      * <p>Configure launced instance EC2 ID.</p>
58      */
SetEc2InstanceID(Aws::String && value)59     inline void SetEc2InstanceID(Aws::String&& value) { m_ec2InstanceIDHasBeenSet = true; m_ec2InstanceID = std::move(value); }
60 
61     /**
62      * <p>Configure launced instance EC2 ID.</p>
63      */
SetEc2InstanceID(const char * value)64     inline void SetEc2InstanceID(const char* value) { m_ec2InstanceIDHasBeenSet = true; m_ec2InstanceID.assign(value); }
65 
66     /**
67      * <p>Configure launced instance EC2 ID.</p>
68      */
WithEc2InstanceID(const Aws::String & value)69     inline LaunchedInstance& WithEc2InstanceID(const Aws::String& value) { SetEc2InstanceID(value); return *this;}
70 
71     /**
72      * <p>Configure launced instance EC2 ID.</p>
73      */
WithEc2InstanceID(Aws::String && value)74     inline LaunchedInstance& WithEc2InstanceID(Aws::String&& value) { SetEc2InstanceID(std::move(value)); return *this;}
75 
76     /**
77      * <p>Configure launced instance EC2 ID.</p>
78      */
WithEc2InstanceID(const char * value)79     inline LaunchedInstance& WithEc2InstanceID(const char* value) { SetEc2InstanceID(value); return *this;}
80 
81 
82     /**
83      * <p>Configure launced instance first boot.</p>
84      */
GetFirstBoot()85     inline const FirstBoot& GetFirstBoot() const{ return m_firstBoot; }
86 
87     /**
88      * <p>Configure launced instance first boot.</p>
89      */
FirstBootHasBeenSet()90     inline bool FirstBootHasBeenSet() const { return m_firstBootHasBeenSet; }
91 
92     /**
93      * <p>Configure launced instance first boot.</p>
94      */
SetFirstBoot(const FirstBoot & value)95     inline void SetFirstBoot(const FirstBoot& value) { m_firstBootHasBeenSet = true; m_firstBoot = value; }
96 
97     /**
98      * <p>Configure launced instance first boot.</p>
99      */
SetFirstBoot(FirstBoot && value)100     inline void SetFirstBoot(FirstBoot&& value) { m_firstBootHasBeenSet = true; m_firstBoot = std::move(value); }
101 
102     /**
103      * <p>Configure launced instance first boot.</p>
104      */
WithFirstBoot(const FirstBoot & value)105     inline LaunchedInstance& WithFirstBoot(const FirstBoot& value) { SetFirstBoot(value); return *this;}
106 
107     /**
108      * <p>Configure launced instance first boot.</p>
109      */
WithFirstBoot(FirstBoot && value)110     inline LaunchedInstance& WithFirstBoot(FirstBoot&& value) { SetFirstBoot(std::move(value)); return *this;}
111 
112 
113     /**
114      * <p>Configure launced instance Job ID.</p>
115      */
GetJobID()116     inline const Aws::String& GetJobID() const{ return m_jobID; }
117 
118     /**
119      * <p>Configure launced instance Job ID.</p>
120      */
JobIDHasBeenSet()121     inline bool JobIDHasBeenSet() const { return m_jobIDHasBeenSet; }
122 
123     /**
124      * <p>Configure launced instance Job ID.</p>
125      */
SetJobID(const Aws::String & value)126     inline void SetJobID(const Aws::String& value) { m_jobIDHasBeenSet = true; m_jobID = value; }
127 
128     /**
129      * <p>Configure launced instance Job ID.</p>
130      */
SetJobID(Aws::String && value)131     inline void SetJobID(Aws::String&& value) { m_jobIDHasBeenSet = true; m_jobID = std::move(value); }
132 
133     /**
134      * <p>Configure launced instance Job ID.</p>
135      */
SetJobID(const char * value)136     inline void SetJobID(const char* value) { m_jobIDHasBeenSet = true; m_jobID.assign(value); }
137 
138     /**
139      * <p>Configure launced instance Job ID.</p>
140      */
WithJobID(const Aws::String & value)141     inline LaunchedInstance& WithJobID(const Aws::String& value) { SetJobID(value); return *this;}
142 
143     /**
144      * <p>Configure launced instance Job ID.</p>
145      */
WithJobID(Aws::String && value)146     inline LaunchedInstance& WithJobID(Aws::String&& value) { SetJobID(std::move(value)); return *this;}
147 
148     /**
149      * <p>Configure launced instance Job ID.</p>
150      */
WithJobID(const char * value)151     inline LaunchedInstance& WithJobID(const char* value) { SetJobID(value); return *this;}
152 
153   private:
154 
155     Aws::String m_ec2InstanceID;
156     bool m_ec2InstanceIDHasBeenSet;
157 
158     FirstBoot m_firstBoot;
159     bool m_firstBootHasBeenSet;
160 
161     Aws::String m_jobID;
162     bool m_jobIDHasBeenSet;
163   };
164 
165 } // namespace Model
166 } // namespace mgn
167 } // namespace Aws
168