/** * 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 Macie2 { namespace Model { /** *

Provides information about an entity that performed an action that produced a * policy finding for a resource.

See Also:

AWS * API Reference

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

The domain name of the device that the entity used to perform the action on * the affected resource.

*/ inline const DomainDetails& GetDomainDetails() const{ return m_domainDetails; } /** *

The domain name of the device that the entity used to perform the action on * the affected resource.

*/ inline bool DomainDetailsHasBeenSet() const { return m_domainDetailsHasBeenSet; } /** *

The domain name of the device that the entity used to perform the action on * the affected resource.

*/ inline void SetDomainDetails(const DomainDetails& value) { m_domainDetailsHasBeenSet = true; m_domainDetails = value; } /** *

The domain name of the device that the entity used to perform the action on * the affected resource.

*/ inline void SetDomainDetails(DomainDetails&& value) { m_domainDetailsHasBeenSet = true; m_domainDetails = std::move(value); } /** *

The domain name of the device that the entity used to perform the action on * the affected resource.

*/ inline FindingActor& WithDomainDetails(const DomainDetails& value) { SetDomainDetails(value); return *this;} /** *

The domain name of the device that the entity used to perform the action on * the affected resource.

*/ inline FindingActor& WithDomainDetails(DomainDetails&& value) { SetDomainDetails(std::move(value)); return *this;} /** *

The IP address of the device that the entity used to perform the action on * the affected resource. This object also provides information such as the owner * and geographic location for the IP address.

*/ inline const IpAddressDetails& GetIpAddressDetails() const{ return m_ipAddressDetails; } /** *

The IP address of the device that the entity used to perform the action on * the affected resource. This object also provides information such as the owner * and geographic location for the IP address.

*/ inline bool IpAddressDetailsHasBeenSet() const { return m_ipAddressDetailsHasBeenSet; } /** *

The IP address of the device that the entity used to perform the action on * the affected resource. This object also provides information such as the owner * and geographic location for the IP address.

*/ inline void SetIpAddressDetails(const IpAddressDetails& value) { m_ipAddressDetailsHasBeenSet = true; m_ipAddressDetails = value; } /** *

The IP address of the device that the entity used to perform the action on * the affected resource. This object also provides information such as the owner * and geographic location for the IP address.

*/ inline void SetIpAddressDetails(IpAddressDetails&& value) { m_ipAddressDetailsHasBeenSet = true; m_ipAddressDetails = std::move(value); } /** *

The IP address of the device that the entity used to perform the action on * the affected resource. This object also provides information such as the owner * and geographic location for the IP address.

*/ inline FindingActor& WithIpAddressDetails(const IpAddressDetails& value) { SetIpAddressDetails(value); return *this;} /** *

The IP address of the device that the entity used to perform the action on * the affected resource. This object also provides information such as the owner * and geographic location for the IP address.

*/ inline FindingActor& WithIpAddressDetails(IpAddressDetails&& value) { SetIpAddressDetails(std::move(value)); return *this;} /** *

The type and other characteristics of the entity that performed the action on * the affected resource.

*/ inline const UserIdentity& GetUserIdentity() const{ return m_userIdentity; } /** *

The type and other characteristics of the entity that performed the action on * the affected resource.

*/ inline bool UserIdentityHasBeenSet() const { return m_userIdentityHasBeenSet; } /** *

The type and other characteristics of the entity that performed the action on * the affected resource.

*/ inline void SetUserIdentity(const UserIdentity& value) { m_userIdentityHasBeenSet = true; m_userIdentity = value; } /** *

The type and other characteristics of the entity that performed the action on * the affected resource.

*/ inline void SetUserIdentity(UserIdentity&& value) { m_userIdentityHasBeenSet = true; m_userIdentity = std::move(value); } /** *

The type and other characteristics of the entity that performed the action on * the affected resource.

*/ inline FindingActor& WithUserIdentity(const UserIdentity& value) { SetUserIdentity(value); return *this;} /** *

The type and other characteristics of the entity that performed the action on * the affected resource.

*/ inline FindingActor& WithUserIdentity(UserIdentity&& value) { SetUserIdentity(std::move(value)); return *this;} private: DomainDetails m_domainDetails; bool m_domainDetailsHasBeenSet = false; IpAddressDetails m_ipAddressDetails; bool m_ipAddressDetailsHasBeenSet = false; UserIdentity m_userIdentity; bool m_userIdentityHasBeenSet = false; }; } // namespace Model } // namespace Macie2 } // namespace Aws