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/guardduty/GuardDuty_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSVector.h> 9 #include <aws/guardduty/model/PortProbeDetail.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 GuardDuty 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>Contains information about the PORT_PROBE action described in the 29 * finding.</p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/PortProbeAction">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_GUARDDUTY_API PortProbeAction 34 { 35 public: 36 PortProbeAction(); 37 PortProbeAction(Aws::Utils::Json::JsonView jsonValue); 38 PortProbeAction& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>Indicates whether EC2 blocked the port probe to the instance, such as with an 44 * ACL.</p> 45 */ GetBlocked()46 inline bool GetBlocked() const{ return m_blocked; } 47 48 /** 49 * <p>Indicates whether EC2 blocked the port probe to the instance, such as with an 50 * ACL.</p> 51 */ BlockedHasBeenSet()52 inline bool BlockedHasBeenSet() const { return m_blockedHasBeenSet; } 53 54 /** 55 * <p>Indicates whether EC2 blocked the port probe to the instance, such as with an 56 * ACL.</p> 57 */ SetBlocked(bool value)58 inline void SetBlocked(bool value) { m_blockedHasBeenSet = true; m_blocked = value; } 59 60 /** 61 * <p>Indicates whether EC2 blocked the port probe to the instance, such as with an 62 * ACL.</p> 63 */ WithBlocked(bool value)64 inline PortProbeAction& WithBlocked(bool value) { SetBlocked(value); return *this;} 65 66 67 /** 68 * <p>A list of objects related to port probe details.</p> 69 */ GetPortProbeDetails()70 inline const Aws::Vector<PortProbeDetail>& GetPortProbeDetails() const{ return m_portProbeDetails; } 71 72 /** 73 * <p>A list of objects related to port probe details.</p> 74 */ PortProbeDetailsHasBeenSet()75 inline bool PortProbeDetailsHasBeenSet() const { return m_portProbeDetailsHasBeenSet; } 76 77 /** 78 * <p>A list of objects related to port probe details.</p> 79 */ SetPortProbeDetails(const Aws::Vector<PortProbeDetail> & value)80 inline void SetPortProbeDetails(const Aws::Vector<PortProbeDetail>& value) { m_portProbeDetailsHasBeenSet = true; m_portProbeDetails = value; } 81 82 /** 83 * <p>A list of objects related to port probe details.</p> 84 */ SetPortProbeDetails(Aws::Vector<PortProbeDetail> && value)85 inline void SetPortProbeDetails(Aws::Vector<PortProbeDetail>&& value) { m_portProbeDetailsHasBeenSet = true; m_portProbeDetails = std::move(value); } 86 87 /** 88 * <p>A list of objects related to port probe details.</p> 89 */ WithPortProbeDetails(const Aws::Vector<PortProbeDetail> & value)90 inline PortProbeAction& WithPortProbeDetails(const Aws::Vector<PortProbeDetail>& value) { SetPortProbeDetails(value); return *this;} 91 92 /** 93 * <p>A list of objects related to port probe details.</p> 94 */ WithPortProbeDetails(Aws::Vector<PortProbeDetail> && value)95 inline PortProbeAction& WithPortProbeDetails(Aws::Vector<PortProbeDetail>&& value) { SetPortProbeDetails(std::move(value)); return *this;} 96 97 /** 98 * <p>A list of objects related to port probe details.</p> 99 */ AddPortProbeDetails(const PortProbeDetail & value)100 inline PortProbeAction& AddPortProbeDetails(const PortProbeDetail& value) { m_portProbeDetailsHasBeenSet = true; m_portProbeDetails.push_back(value); return *this; } 101 102 /** 103 * <p>A list of objects related to port probe details.</p> 104 */ AddPortProbeDetails(PortProbeDetail && value)105 inline PortProbeAction& AddPortProbeDetails(PortProbeDetail&& value) { m_portProbeDetailsHasBeenSet = true; m_portProbeDetails.push_back(std::move(value)); return *this; } 106 107 private: 108 109 bool m_blocked; 110 bool m_blockedHasBeenSet; 111 112 Aws::Vector<PortProbeDetail> m_portProbeDetails; 113 bool m_portProbeDetailsHasBeenSet; 114 }; 115 116 } // namespace Model 117 } // namespace GuardDuty 118 } // namespace Aws 119