/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Inspector2 { namespace Model { /** *

The Amazon Web Services Threat Intel Group (ATIG) details for a specific * vulnerability.

See Also:

AWS * API Reference

*/ class AtigData { public: AWS_INSPECTOR2_API AtigData(); AWS_INSPECTOR2_API AtigData(Aws::Utils::Json::JsonView jsonValue); AWS_INSPECTOR2_API AtigData& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_INSPECTOR2_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The date and time this vulnerability was first observed.

*/ inline const Aws::Utils::DateTime& GetFirstSeen() const{ return m_firstSeen; } /** *

The date and time this vulnerability was first observed.

*/ inline bool FirstSeenHasBeenSet() const { return m_firstSeenHasBeenSet; } /** *

The date and time this vulnerability was first observed.

*/ inline void SetFirstSeen(const Aws::Utils::DateTime& value) { m_firstSeenHasBeenSet = true; m_firstSeen = value; } /** *

The date and time this vulnerability was first observed.

*/ inline void SetFirstSeen(Aws::Utils::DateTime&& value) { m_firstSeenHasBeenSet = true; m_firstSeen = std::move(value); } /** *

The date and time this vulnerability was first observed.

*/ inline AtigData& WithFirstSeen(const Aws::Utils::DateTime& value) { SetFirstSeen(value); return *this;} /** *

The date and time this vulnerability was first observed.

*/ inline AtigData& WithFirstSeen(Aws::Utils::DateTime&& value) { SetFirstSeen(std::move(value)); return *this;} /** *

The date and time this vulnerability was last observed.

*/ inline const Aws::Utils::DateTime& GetLastSeen() const{ return m_lastSeen; } /** *

The date and time this vulnerability was last observed.

*/ inline bool LastSeenHasBeenSet() const { return m_lastSeenHasBeenSet; } /** *

The date and time this vulnerability was last observed.

*/ inline void SetLastSeen(const Aws::Utils::DateTime& value) { m_lastSeenHasBeenSet = true; m_lastSeen = value; } /** *

The date and time this vulnerability was last observed.

*/ inline void SetLastSeen(Aws::Utils::DateTime&& value) { m_lastSeenHasBeenSet = true; m_lastSeen = std::move(value); } /** *

The date and time this vulnerability was last observed.

*/ inline AtigData& WithLastSeen(const Aws::Utils::DateTime& value) { SetLastSeen(value); return *this;} /** *

The date and time this vulnerability was last observed.

*/ inline AtigData& WithLastSeen(Aws::Utils::DateTime&& value) { SetLastSeen(std::move(value)); return *this;} /** *

The commercial sectors this vulnerability targets.

*/ inline const Aws::Vector& GetTargets() const{ return m_targets; } /** *

The commercial sectors this vulnerability targets.

*/ inline bool TargetsHasBeenSet() const { return m_targetsHasBeenSet; } /** *

The commercial sectors this vulnerability targets.

*/ inline void SetTargets(const Aws::Vector& value) { m_targetsHasBeenSet = true; m_targets = value; } /** *

The commercial sectors this vulnerability targets.

*/ inline void SetTargets(Aws::Vector&& value) { m_targetsHasBeenSet = true; m_targets = std::move(value); } /** *

The commercial sectors this vulnerability targets.

*/ inline AtigData& WithTargets(const Aws::Vector& value) { SetTargets(value); return *this;} /** *

The commercial sectors this vulnerability targets.

*/ inline AtigData& WithTargets(Aws::Vector&& value) { SetTargets(std::move(value)); return *this;} /** *

The commercial sectors this vulnerability targets.

*/ inline AtigData& AddTargets(const Aws::String& value) { m_targetsHasBeenSet = true; m_targets.push_back(value); return *this; } /** *

The commercial sectors this vulnerability targets.

*/ inline AtigData& AddTargets(Aws::String&& value) { m_targetsHasBeenSet = true; m_targets.push_back(std::move(value)); return *this; } /** *

The commercial sectors this vulnerability targets.

*/ inline AtigData& AddTargets(const char* value) { m_targetsHasBeenSet = true; m_targets.push_back(value); return *this; } /** *

The MITRE ATT&CK tactics, * techniques, and procedures (TTPs) associated with vulnerability.

*/ inline const Aws::Vector& GetTtps() const{ return m_ttps; } /** *

The MITRE ATT&CK tactics, * techniques, and procedures (TTPs) associated with vulnerability.

*/ inline bool TtpsHasBeenSet() const { return m_ttpsHasBeenSet; } /** *

The MITRE ATT&CK tactics, * techniques, and procedures (TTPs) associated with vulnerability.

*/ inline void SetTtps(const Aws::Vector& value) { m_ttpsHasBeenSet = true; m_ttps = value; } /** *

The MITRE ATT&CK tactics, * techniques, and procedures (TTPs) associated with vulnerability.

*/ inline void SetTtps(Aws::Vector&& value) { m_ttpsHasBeenSet = true; m_ttps = std::move(value); } /** *

The MITRE ATT&CK tactics, * techniques, and procedures (TTPs) associated with vulnerability.

*/ inline AtigData& WithTtps(const Aws::Vector& value) { SetTtps(value); return *this;} /** *

The MITRE ATT&CK tactics, * techniques, and procedures (TTPs) associated with vulnerability.

*/ inline AtigData& WithTtps(Aws::Vector&& value) { SetTtps(std::move(value)); return *this;} /** *

The MITRE ATT&CK tactics, * techniques, and procedures (TTPs) associated with vulnerability.

*/ inline AtigData& AddTtps(const Aws::String& value) { m_ttpsHasBeenSet = true; m_ttps.push_back(value); return *this; } /** *

The MITRE ATT&CK tactics, * techniques, and procedures (TTPs) associated with vulnerability.

*/ inline AtigData& AddTtps(Aws::String&& value) { m_ttpsHasBeenSet = true; m_ttps.push_back(std::move(value)); return *this; } /** *

The MITRE ATT&CK tactics, * techniques, and procedures (TTPs) associated with vulnerability.

*/ inline AtigData& AddTtps(const char* value) { m_ttpsHasBeenSet = true; m_ttps.push_back(value); return *this; } private: Aws::Utils::DateTime m_firstSeen; bool m_firstSeenHasBeenSet = false; Aws::Utils::DateTime m_lastSeen; bool m_lastSeenHasBeenSet = false; Aws::Vector m_targets; bool m_targetsHasBeenSet = false; Aws::Vector m_ttps; bool m_ttpsHasBeenSet = false; }; } // namespace Model } // namespace Inspector2 } // namespace Aws