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

Contains information about the NETWORK_CONNECTION action described in the * finding.

See Also:

AWS * API Reference

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

Indicates whether EC2 blocked the network connection to your instance.

*/ inline bool GetBlocked() const{ return m_blocked; } /** *

Indicates whether EC2 blocked the network connection to your instance.

*/ inline bool BlockedHasBeenSet() const { return m_blockedHasBeenSet; } /** *

Indicates whether EC2 blocked the network connection to your instance.

*/ inline void SetBlocked(bool value) { m_blockedHasBeenSet = true; m_blocked = value; } /** *

Indicates whether EC2 blocked the network connection to your instance.

*/ inline NetworkConnectionAction& WithBlocked(bool value) { SetBlocked(value); return *this;} /** *

The network connection direction.

*/ inline const Aws::String& GetConnectionDirection() const{ return m_connectionDirection; } /** *

The network connection direction.

*/ inline bool ConnectionDirectionHasBeenSet() const { return m_connectionDirectionHasBeenSet; } /** *

The network connection direction.

*/ inline void SetConnectionDirection(const Aws::String& value) { m_connectionDirectionHasBeenSet = true; m_connectionDirection = value; } /** *

The network connection direction.

*/ inline void SetConnectionDirection(Aws::String&& value) { m_connectionDirectionHasBeenSet = true; m_connectionDirection = std::move(value); } /** *

The network connection direction.

*/ inline void SetConnectionDirection(const char* value) { m_connectionDirectionHasBeenSet = true; m_connectionDirection.assign(value); } /** *

The network connection direction.

*/ inline NetworkConnectionAction& WithConnectionDirection(const Aws::String& value) { SetConnectionDirection(value); return *this;} /** *

The network connection direction.

*/ inline NetworkConnectionAction& WithConnectionDirection(Aws::String&& value) { SetConnectionDirection(std::move(value)); return *this;} /** *

The network connection direction.

*/ inline NetworkConnectionAction& WithConnectionDirection(const char* value) { SetConnectionDirection(value); return *this;} /** *

The local port information of the connection.

*/ inline const LocalPortDetails& GetLocalPortDetails() const{ return m_localPortDetails; } /** *

The local port information of the connection.

*/ inline bool LocalPortDetailsHasBeenSet() const { return m_localPortDetailsHasBeenSet; } /** *

The local port information of the connection.

*/ inline void SetLocalPortDetails(const LocalPortDetails& value) { m_localPortDetailsHasBeenSet = true; m_localPortDetails = value; } /** *

The local port information of the connection.

*/ inline void SetLocalPortDetails(LocalPortDetails&& value) { m_localPortDetailsHasBeenSet = true; m_localPortDetails = std::move(value); } /** *

The local port information of the connection.

*/ inline NetworkConnectionAction& WithLocalPortDetails(const LocalPortDetails& value) { SetLocalPortDetails(value); return *this;} /** *

The local port information of the connection.

*/ inline NetworkConnectionAction& WithLocalPortDetails(LocalPortDetails&& value) { SetLocalPortDetails(std::move(value)); return *this;} /** *

The network connection protocol.

*/ inline const Aws::String& GetProtocol() const{ return m_protocol; } /** *

The network connection protocol.

*/ inline bool ProtocolHasBeenSet() const { return m_protocolHasBeenSet; } /** *

The network connection protocol.

*/ inline void SetProtocol(const Aws::String& value) { m_protocolHasBeenSet = true; m_protocol = value; } /** *

The network connection protocol.

*/ inline void SetProtocol(Aws::String&& value) { m_protocolHasBeenSet = true; m_protocol = std::move(value); } /** *

The network connection protocol.

*/ inline void SetProtocol(const char* value) { m_protocolHasBeenSet = true; m_protocol.assign(value); } /** *

The network connection protocol.

*/ inline NetworkConnectionAction& WithProtocol(const Aws::String& value) { SetProtocol(value); return *this;} /** *

The network connection protocol.

*/ inline NetworkConnectionAction& WithProtocol(Aws::String&& value) { SetProtocol(std::move(value)); return *this;} /** *

The network connection protocol.

*/ inline NetworkConnectionAction& WithProtocol(const char* value) { SetProtocol(value); return *this;} /** *

The local IP information of the connection.

*/ inline const LocalIpDetails& GetLocalIpDetails() const{ return m_localIpDetails; } /** *

The local IP information of the connection.

*/ inline bool LocalIpDetailsHasBeenSet() const { return m_localIpDetailsHasBeenSet; } /** *

The local IP information of the connection.

*/ inline void SetLocalIpDetails(const LocalIpDetails& value) { m_localIpDetailsHasBeenSet = true; m_localIpDetails = value; } /** *

The local IP information of the connection.

*/ inline void SetLocalIpDetails(LocalIpDetails&& value) { m_localIpDetailsHasBeenSet = true; m_localIpDetails = std::move(value); } /** *

The local IP information of the connection.

*/ inline NetworkConnectionAction& WithLocalIpDetails(const LocalIpDetails& value) { SetLocalIpDetails(value); return *this;} /** *

The local IP information of the connection.

*/ inline NetworkConnectionAction& WithLocalIpDetails(LocalIpDetails&& value) { SetLocalIpDetails(std::move(value)); return *this;} /** *

The remote IP information of the connection.

*/ inline const RemoteIpDetails& GetRemoteIpDetails() const{ return m_remoteIpDetails; } /** *

The remote IP information of the connection.

*/ inline bool RemoteIpDetailsHasBeenSet() const { return m_remoteIpDetailsHasBeenSet; } /** *

The remote IP information of the connection.

*/ inline void SetRemoteIpDetails(const RemoteIpDetails& value) { m_remoteIpDetailsHasBeenSet = true; m_remoteIpDetails = value; } /** *

The remote IP information of the connection.

*/ inline void SetRemoteIpDetails(RemoteIpDetails&& value) { m_remoteIpDetailsHasBeenSet = true; m_remoteIpDetails = std::move(value); } /** *

The remote IP information of the connection.

*/ inline NetworkConnectionAction& WithRemoteIpDetails(const RemoteIpDetails& value) { SetRemoteIpDetails(value); return *this;} /** *

The remote IP information of the connection.

*/ inline NetworkConnectionAction& WithRemoteIpDetails(RemoteIpDetails&& value) { SetRemoteIpDetails(std::move(value)); return *this;} /** *

The remote port information of the connection.

*/ inline const RemotePortDetails& GetRemotePortDetails() const{ return m_remotePortDetails; } /** *

The remote port information of the connection.

*/ inline bool RemotePortDetailsHasBeenSet() const { return m_remotePortDetailsHasBeenSet; } /** *

The remote port information of the connection.

*/ inline void SetRemotePortDetails(const RemotePortDetails& value) { m_remotePortDetailsHasBeenSet = true; m_remotePortDetails = value; } /** *

The remote port information of the connection.

*/ inline void SetRemotePortDetails(RemotePortDetails&& value) { m_remotePortDetailsHasBeenSet = true; m_remotePortDetails = std::move(value); } /** *

The remote port information of the connection.

*/ inline NetworkConnectionAction& WithRemotePortDetails(const RemotePortDetails& value) { SetRemotePortDetails(value); return *this;} /** *

The remote port information of the connection.

*/ inline NetworkConnectionAction& WithRemotePortDetails(RemotePortDetails&& value) { SetRemotePortDetails(std::move(value)); return *this;} private: bool m_blocked; bool m_blockedHasBeenSet = false; Aws::String m_connectionDirection; bool m_connectionDirectionHasBeenSet = false; LocalPortDetails m_localPortDetails; bool m_localPortDetailsHasBeenSet = false; Aws::String m_protocol; bool m_protocolHasBeenSet = false; LocalIpDetails m_localIpDetails; bool m_localIpDetailsHasBeenSet = false; RemoteIpDetails m_remoteIpDetails; bool m_remoteIpDetailsHasBeenSet = false; RemotePortDetails m_remotePortDetails; bool m_remotePortDetailsHasBeenSet = false; }; } // namespace Model } // namespace GuardDuty } // namespace Aws