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/securityhub/SecurityHub_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/securityhub/model/MalwareType.h>
10 #include <aws/securityhub/model/MalwareState.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace Utils
16 {
17 namespace Json
18 {
19   class JsonValue;
20   class JsonView;
21 } // namespace Json
22 } // namespace Utils
23 namespace SecurityHub
24 {
25 namespace Model
26 {
27 
28   /**
29    * <p>A list of malware related to a finding.</p><p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/Malware">AWS
31    * API Reference</a></p>
32    */
33   class AWS_SECURITYHUB_API Malware
34   {
35   public:
36     Malware();
37     Malware(Aws::Utils::Json::JsonView jsonValue);
38     Malware& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * <p>The name of the malware that was observed.</p>
44      */
GetName()45     inline const Aws::String& GetName() const{ return m_name; }
46 
47     /**
48      * <p>The name of the malware that was observed.</p>
49      */
NameHasBeenSet()50     inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
51 
52     /**
53      * <p>The name of the malware that was observed.</p>
54      */
SetName(const Aws::String & value)55     inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
56 
57     /**
58      * <p>The name of the malware that was observed.</p>
59      */
SetName(Aws::String && value)60     inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
61 
62     /**
63      * <p>The name of the malware that was observed.</p>
64      */
SetName(const char * value)65     inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
66 
67     /**
68      * <p>The name of the malware that was observed.</p>
69      */
WithName(const Aws::String & value)70     inline Malware& WithName(const Aws::String& value) { SetName(value); return *this;}
71 
72     /**
73      * <p>The name of the malware that was observed.</p>
74      */
WithName(Aws::String && value)75     inline Malware& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
76 
77     /**
78      * <p>The name of the malware that was observed.</p>
79      */
WithName(const char * value)80     inline Malware& WithName(const char* value) { SetName(value); return *this;}
81 
82 
83     /**
84      * <p>The type of the malware that was observed.</p>
85      */
GetType()86     inline const MalwareType& GetType() const{ return m_type; }
87 
88     /**
89      * <p>The type of the malware that was observed.</p>
90      */
TypeHasBeenSet()91     inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
92 
93     /**
94      * <p>The type of the malware that was observed.</p>
95      */
SetType(const MalwareType & value)96     inline void SetType(const MalwareType& value) { m_typeHasBeenSet = true; m_type = value; }
97 
98     /**
99      * <p>The type of the malware that was observed.</p>
100      */
SetType(MalwareType && value)101     inline void SetType(MalwareType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
102 
103     /**
104      * <p>The type of the malware that was observed.</p>
105      */
WithType(const MalwareType & value)106     inline Malware& WithType(const MalwareType& value) { SetType(value); return *this;}
107 
108     /**
109      * <p>The type of the malware that was observed.</p>
110      */
WithType(MalwareType && value)111     inline Malware& WithType(MalwareType&& value) { SetType(std::move(value)); return *this;}
112 
113 
114     /**
115      * <p>The file system path of the malware that was observed.</p>
116      */
GetPath()117     inline const Aws::String& GetPath() const{ return m_path; }
118 
119     /**
120      * <p>The file system path of the malware that was observed.</p>
121      */
PathHasBeenSet()122     inline bool PathHasBeenSet() const { return m_pathHasBeenSet; }
123 
124     /**
125      * <p>The file system path of the malware that was observed.</p>
126      */
SetPath(const Aws::String & value)127     inline void SetPath(const Aws::String& value) { m_pathHasBeenSet = true; m_path = value; }
128 
129     /**
130      * <p>The file system path of the malware that was observed.</p>
131      */
SetPath(Aws::String && value)132     inline void SetPath(Aws::String&& value) { m_pathHasBeenSet = true; m_path = std::move(value); }
133 
134     /**
135      * <p>The file system path of the malware that was observed.</p>
136      */
SetPath(const char * value)137     inline void SetPath(const char* value) { m_pathHasBeenSet = true; m_path.assign(value); }
138 
139     /**
140      * <p>The file system path of the malware that was observed.</p>
141      */
WithPath(const Aws::String & value)142     inline Malware& WithPath(const Aws::String& value) { SetPath(value); return *this;}
143 
144     /**
145      * <p>The file system path of the malware that was observed.</p>
146      */
WithPath(Aws::String && value)147     inline Malware& WithPath(Aws::String&& value) { SetPath(std::move(value)); return *this;}
148 
149     /**
150      * <p>The file system path of the malware that was observed.</p>
151      */
WithPath(const char * value)152     inline Malware& WithPath(const char* value) { SetPath(value); return *this;}
153 
154 
155     /**
156      * <p>The state of the malware that was observed.</p>
157      */
GetState()158     inline const MalwareState& GetState() const{ return m_state; }
159 
160     /**
161      * <p>The state of the malware that was observed.</p>
162      */
StateHasBeenSet()163     inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
164 
165     /**
166      * <p>The state of the malware that was observed.</p>
167      */
SetState(const MalwareState & value)168     inline void SetState(const MalwareState& value) { m_stateHasBeenSet = true; m_state = value; }
169 
170     /**
171      * <p>The state of the malware that was observed.</p>
172      */
SetState(MalwareState && value)173     inline void SetState(MalwareState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); }
174 
175     /**
176      * <p>The state of the malware that was observed.</p>
177      */
WithState(const MalwareState & value)178     inline Malware& WithState(const MalwareState& value) { SetState(value); return *this;}
179 
180     /**
181      * <p>The state of the malware that was observed.</p>
182      */
WithState(MalwareState && value)183     inline Malware& WithState(MalwareState&& value) { SetState(std::move(value)); return *this;}
184 
185   private:
186 
187     Aws::String m_name;
188     bool m_nameHasBeenSet;
189 
190     MalwareType m_type;
191     bool m_typeHasBeenSet;
192 
193     Aws::String m_path;
194     bool m_pathHasBeenSet;
195 
196     MalwareState m_state;
197     bool m_stateHasBeenSet;
198   };
199 
200 } // namespace Model
201 } // namespace SecurityHub
202 } // namespace Aws
203