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 <utility> 10 11 namespace Aws 12 { 13 namespace Utils 14 { 15 namespace Json 16 { 17 class JsonValue; 18 class JsonView; 19 } // namespace Json 20 } // namespace Utils 21 namespace SecurityHub 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>The details of process-related information about a finding.</p><p><h3>See 28 * Also:</h3> <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ProcessDetails">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_SECURITYHUB_API ProcessDetails 33 { 34 public: 35 ProcessDetails(); 36 ProcessDetails(Aws::Utils::Json::JsonView jsonValue); 37 ProcessDetails& operator=(Aws::Utils::Json::JsonView jsonValue); 38 Aws::Utils::Json::JsonValue Jsonize() const; 39 40 41 /** 42 * <p>The name of the process.</p> 43 */ GetName()44 inline const Aws::String& GetName() const{ return m_name; } 45 46 /** 47 * <p>The name of the process.</p> 48 */ NameHasBeenSet()49 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } 50 51 /** 52 * <p>The name of the process.</p> 53 */ SetName(const Aws::String & value)54 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } 55 56 /** 57 * <p>The name of the process.</p> 58 */ SetName(Aws::String && value)59 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } 60 61 /** 62 * <p>The name of the process.</p> 63 */ SetName(const char * value)64 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } 65 66 /** 67 * <p>The name of the process.</p> 68 */ WithName(const Aws::String & value)69 inline ProcessDetails& WithName(const Aws::String& value) { SetName(value); return *this;} 70 71 /** 72 * <p>The name of the process.</p> 73 */ WithName(Aws::String && value)74 inline ProcessDetails& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 75 76 /** 77 * <p>The name of the process.</p> 78 */ WithName(const char * value)79 inline ProcessDetails& WithName(const char* value) { SetName(value); return *this;} 80 81 82 /** 83 * <p>The path to the process executable.</p> 84 */ GetPath()85 inline const Aws::String& GetPath() const{ return m_path; } 86 87 /** 88 * <p>The path to the process executable.</p> 89 */ PathHasBeenSet()90 inline bool PathHasBeenSet() const { return m_pathHasBeenSet; } 91 92 /** 93 * <p>The path to the process executable.</p> 94 */ SetPath(const Aws::String & value)95 inline void SetPath(const Aws::String& value) { m_pathHasBeenSet = true; m_path = value; } 96 97 /** 98 * <p>The path to the process executable.</p> 99 */ SetPath(Aws::String && value)100 inline void SetPath(Aws::String&& value) { m_pathHasBeenSet = true; m_path = std::move(value); } 101 102 /** 103 * <p>The path to the process executable.</p> 104 */ SetPath(const char * value)105 inline void SetPath(const char* value) { m_pathHasBeenSet = true; m_path.assign(value); } 106 107 /** 108 * <p>The path to the process executable.</p> 109 */ WithPath(const Aws::String & value)110 inline ProcessDetails& WithPath(const Aws::String& value) { SetPath(value); return *this;} 111 112 /** 113 * <p>The path to the process executable.</p> 114 */ WithPath(Aws::String && value)115 inline ProcessDetails& WithPath(Aws::String&& value) { SetPath(std::move(value)); return *this;} 116 117 /** 118 * <p>The path to the process executable.</p> 119 */ WithPath(const char * value)120 inline ProcessDetails& WithPath(const char* value) { SetPath(value); return *this;} 121 122 123 /** 124 * <p>The process ID.</p> 125 */ GetPid()126 inline int GetPid() const{ return m_pid; } 127 128 /** 129 * <p>The process ID.</p> 130 */ PidHasBeenSet()131 inline bool PidHasBeenSet() const { return m_pidHasBeenSet; } 132 133 /** 134 * <p>The process ID.</p> 135 */ SetPid(int value)136 inline void SetPid(int value) { m_pidHasBeenSet = true; m_pid = value; } 137 138 /** 139 * <p>The process ID.</p> 140 */ WithPid(int value)141 inline ProcessDetails& WithPid(int value) { SetPid(value); return *this;} 142 143 144 /** 145 * <p>The parent process ID.</p> 146 */ GetParentPid()147 inline int GetParentPid() const{ return m_parentPid; } 148 149 /** 150 * <p>The parent process ID.</p> 151 */ ParentPidHasBeenSet()152 inline bool ParentPidHasBeenSet() const { return m_parentPidHasBeenSet; } 153 154 /** 155 * <p>The parent process ID.</p> 156 */ SetParentPid(int value)157 inline void SetParentPid(int value) { m_parentPidHasBeenSet = true; m_parentPid = value; } 158 159 /** 160 * <p>The parent process ID.</p> 161 */ WithParentPid(int value)162 inline ProcessDetails& WithParentPid(int value) { SetParentPid(value); return *this;} 163 164 165 /** 166 * <p>Indicates when the process was launched.</p> <p>Uses the 167 * <code>date-time</code> format specified in <a 168 * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6, 169 * Internet Date/Time Format</a>. The value cannot contain spaces. For example, 170 * <code>2020-03-22T13:22:13.933Z</code>.</p> 171 */ GetLaunchedAt()172 inline const Aws::String& GetLaunchedAt() const{ return m_launchedAt; } 173 174 /** 175 * <p>Indicates when the process was launched.</p> <p>Uses the 176 * <code>date-time</code> format specified in <a 177 * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6, 178 * Internet Date/Time Format</a>. The value cannot contain spaces. For example, 179 * <code>2020-03-22T13:22:13.933Z</code>.</p> 180 */ LaunchedAtHasBeenSet()181 inline bool LaunchedAtHasBeenSet() const { return m_launchedAtHasBeenSet; } 182 183 /** 184 * <p>Indicates when the process was launched.</p> <p>Uses the 185 * <code>date-time</code> format specified in <a 186 * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6, 187 * Internet Date/Time Format</a>. The value cannot contain spaces. For example, 188 * <code>2020-03-22T13:22:13.933Z</code>.</p> 189 */ SetLaunchedAt(const Aws::String & value)190 inline void SetLaunchedAt(const Aws::String& value) { m_launchedAtHasBeenSet = true; m_launchedAt = value; } 191 192 /** 193 * <p>Indicates when the process was launched.</p> <p>Uses the 194 * <code>date-time</code> format specified in <a 195 * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6, 196 * Internet Date/Time Format</a>. The value cannot contain spaces. For example, 197 * <code>2020-03-22T13:22:13.933Z</code>.</p> 198 */ SetLaunchedAt(Aws::String && value)199 inline void SetLaunchedAt(Aws::String&& value) { m_launchedAtHasBeenSet = true; m_launchedAt = std::move(value); } 200 201 /** 202 * <p>Indicates when the process was launched.</p> <p>Uses the 203 * <code>date-time</code> format specified in <a 204 * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6, 205 * Internet Date/Time Format</a>. The value cannot contain spaces. For example, 206 * <code>2020-03-22T13:22:13.933Z</code>.</p> 207 */ SetLaunchedAt(const char * value)208 inline void SetLaunchedAt(const char* value) { m_launchedAtHasBeenSet = true; m_launchedAt.assign(value); } 209 210 /** 211 * <p>Indicates when the process was launched.</p> <p>Uses the 212 * <code>date-time</code> format specified in <a 213 * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6, 214 * Internet Date/Time Format</a>. The value cannot contain spaces. For example, 215 * <code>2020-03-22T13:22:13.933Z</code>.</p> 216 */ WithLaunchedAt(const Aws::String & value)217 inline ProcessDetails& WithLaunchedAt(const Aws::String& value) { SetLaunchedAt(value); return *this;} 218 219 /** 220 * <p>Indicates when the process was launched.</p> <p>Uses the 221 * <code>date-time</code> format specified in <a 222 * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6, 223 * Internet Date/Time Format</a>. The value cannot contain spaces. For example, 224 * <code>2020-03-22T13:22:13.933Z</code>.</p> 225 */ WithLaunchedAt(Aws::String && value)226 inline ProcessDetails& WithLaunchedAt(Aws::String&& value) { SetLaunchedAt(std::move(value)); return *this;} 227 228 /** 229 * <p>Indicates when the process was launched.</p> <p>Uses the 230 * <code>date-time</code> format specified in <a 231 * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6, 232 * Internet Date/Time Format</a>. The value cannot contain spaces. For example, 233 * <code>2020-03-22T13:22:13.933Z</code>.</p> 234 */ WithLaunchedAt(const char * value)235 inline ProcessDetails& WithLaunchedAt(const char* value) { SetLaunchedAt(value); return *this;} 236 237 238 /** 239 * <p>Indicates when the process was terminated.</p> <p>Uses the 240 * <code>date-time</code> format specified in <a 241 * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6, 242 * Internet Date/Time Format</a>. The value cannot contain spaces. For example, 243 * <code>2020-03-22T13:22:13.933Z</code>.</p> 244 */ GetTerminatedAt()245 inline const Aws::String& GetTerminatedAt() const{ return m_terminatedAt; } 246 247 /** 248 * <p>Indicates when the process was terminated.</p> <p>Uses the 249 * <code>date-time</code> format specified in <a 250 * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6, 251 * Internet Date/Time Format</a>. The value cannot contain spaces. For example, 252 * <code>2020-03-22T13:22:13.933Z</code>.</p> 253 */ TerminatedAtHasBeenSet()254 inline bool TerminatedAtHasBeenSet() const { return m_terminatedAtHasBeenSet; } 255 256 /** 257 * <p>Indicates when the process was terminated.</p> <p>Uses the 258 * <code>date-time</code> format specified in <a 259 * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6, 260 * Internet Date/Time Format</a>. The value cannot contain spaces. For example, 261 * <code>2020-03-22T13:22:13.933Z</code>.</p> 262 */ SetTerminatedAt(const Aws::String & value)263 inline void SetTerminatedAt(const Aws::String& value) { m_terminatedAtHasBeenSet = true; m_terminatedAt = value; } 264 265 /** 266 * <p>Indicates when the process was terminated.</p> <p>Uses the 267 * <code>date-time</code> format specified in <a 268 * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6, 269 * Internet Date/Time Format</a>. The value cannot contain spaces. For example, 270 * <code>2020-03-22T13:22:13.933Z</code>.</p> 271 */ SetTerminatedAt(Aws::String && value)272 inline void SetTerminatedAt(Aws::String&& value) { m_terminatedAtHasBeenSet = true; m_terminatedAt = std::move(value); } 273 274 /** 275 * <p>Indicates when the process was terminated.</p> <p>Uses the 276 * <code>date-time</code> format specified in <a 277 * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6, 278 * Internet Date/Time Format</a>. The value cannot contain spaces. For example, 279 * <code>2020-03-22T13:22:13.933Z</code>.</p> 280 */ SetTerminatedAt(const char * value)281 inline void SetTerminatedAt(const char* value) { m_terminatedAtHasBeenSet = true; m_terminatedAt.assign(value); } 282 283 /** 284 * <p>Indicates when the process was terminated.</p> <p>Uses the 285 * <code>date-time</code> format specified in <a 286 * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6, 287 * Internet Date/Time Format</a>. The value cannot contain spaces. For example, 288 * <code>2020-03-22T13:22:13.933Z</code>.</p> 289 */ WithTerminatedAt(const Aws::String & value)290 inline ProcessDetails& WithTerminatedAt(const Aws::String& value) { SetTerminatedAt(value); return *this;} 291 292 /** 293 * <p>Indicates when the process was terminated.</p> <p>Uses the 294 * <code>date-time</code> format specified in <a 295 * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6, 296 * Internet Date/Time Format</a>. The value cannot contain spaces. For example, 297 * <code>2020-03-22T13:22:13.933Z</code>.</p> 298 */ WithTerminatedAt(Aws::String && value)299 inline ProcessDetails& WithTerminatedAt(Aws::String&& value) { SetTerminatedAt(std::move(value)); return *this;} 300 301 /** 302 * <p>Indicates when the process was terminated.</p> <p>Uses the 303 * <code>date-time</code> format specified in <a 304 * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6, 305 * Internet Date/Time Format</a>. The value cannot contain spaces. For example, 306 * <code>2020-03-22T13:22:13.933Z</code>.</p> 307 */ WithTerminatedAt(const char * value)308 inline ProcessDetails& WithTerminatedAt(const char* value) { SetTerminatedAt(value); return *this;} 309 310 private: 311 312 Aws::String m_name; 313 bool m_nameHasBeenSet; 314 315 Aws::String m_path; 316 bool m_pathHasBeenSet; 317 318 int m_pid; 319 bool m_pidHasBeenSet; 320 321 int m_parentPid; 322 bool m_parentPidHasBeenSet; 323 324 Aws::String m_launchedAt; 325 bool m_launchedAtHasBeenSet; 326 327 Aws::String m_terminatedAt; 328 bool m_terminatedAtHasBeenSet; 329 }; 330 331 } // namespace Model 332 } // namespace SecurityHub 333 } // namespace Aws 334