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

An IPAM discovered account. A discovered account is an Amazon Web Services * account that is monitored under a resource discovery. If you have integrated * IPAM with Amazon Web Services Organizations, all accounts in the organization * are discovered accounts.

See Also:

AWS * API Reference

*/ class IpamDiscoveredAccount { public: AWS_EC2_API IpamDiscoveredAccount(); AWS_EC2_API IpamDiscoveredAccount(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API IpamDiscoveredAccount& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The account ID.

*/ inline const Aws::String& GetAccountId() const{ return m_accountId; } /** *

The account ID.

*/ inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } /** *

The account ID.

*/ inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } /** *

The account ID.

*/ inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } /** *

The account ID.

*/ inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } /** *

The account ID.

*/ inline IpamDiscoveredAccount& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} /** *

The account ID.

*/ inline IpamDiscoveredAccount& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} /** *

The account ID.

*/ inline IpamDiscoveredAccount& WithAccountId(const char* value) { SetAccountId(value); return *this;} /** *

The Amazon Web Services Region that the account information is returned from. * An account can be discovered in multiple regions and will have a separate * discovered account for each Region.

*/ inline const Aws::String& GetDiscoveryRegion() const{ return m_discoveryRegion; } /** *

The Amazon Web Services Region that the account information is returned from. * An account can be discovered in multiple regions and will have a separate * discovered account for each Region.

*/ inline bool DiscoveryRegionHasBeenSet() const { return m_discoveryRegionHasBeenSet; } /** *

The Amazon Web Services Region that the account information is returned from. * An account can be discovered in multiple regions and will have a separate * discovered account for each Region.

*/ inline void SetDiscoveryRegion(const Aws::String& value) { m_discoveryRegionHasBeenSet = true; m_discoveryRegion = value; } /** *

The Amazon Web Services Region that the account information is returned from. * An account can be discovered in multiple regions and will have a separate * discovered account for each Region.

*/ inline void SetDiscoveryRegion(Aws::String&& value) { m_discoveryRegionHasBeenSet = true; m_discoveryRegion = std::move(value); } /** *

The Amazon Web Services Region that the account information is returned from. * An account can be discovered in multiple regions and will have a separate * discovered account for each Region.

*/ inline void SetDiscoveryRegion(const char* value) { m_discoveryRegionHasBeenSet = true; m_discoveryRegion.assign(value); } /** *

The Amazon Web Services Region that the account information is returned from. * An account can be discovered in multiple regions and will have a separate * discovered account for each Region.

*/ inline IpamDiscoveredAccount& WithDiscoveryRegion(const Aws::String& value) { SetDiscoveryRegion(value); return *this;} /** *

The Amazon Web Services Region that the account information is returned from. * An account can be discovered in multiple regions and will have a separate * discovered account for each Region.

*/ inline IpamDiscoveredAccount& WithDiscoveryRegion(Aws::String&& value) { SetDiscoveryRegion(std::move(value)); return *this;} /** *

The Amazon Web Services Region that the account information is returned from. * An account can be discovered in multiple regions and will have a separate * discovered account for each Region.

*/ inline IpamDiscoveredAccount& WithDiscoveryRegion(const char* value) { SetDiscoveryRegion(value); return *this;} /** *

The resource discovery failure reason.

*/ inline const IpamDiscoveryFailureReason& GetFailureReason() const{ return m_failureReason; } /** *

The resource discovery failure reason.

*/ inline bool FailureReasonHasBeenSet() const { return m_failureReasonHasBeenSet; } /** *

The resource discovery failure reason.

*/ inline void SetFailureReason(const IpamDiscoveryFailureReason& value) { m_failureReasonHasBeenSet = true; m_failureReason = value; } /** *

The resource discovery failure reason.

*/ inline void SetFailureReason(IpamDiscoveryFailureReason&& value) { m_failureReasonHasBeenSet = true; m_failureReason = std::move(value); } /** *

The resource discovery failure reason.

*/ inline IpamDiscoveredAccount& WithFailureReason(const IpamDiscoveryFailureReason& value) { SetFailureReason(value); return *this;} /** *

The resource discovery failure reason.

*/ inline IpamDiscoveredAccount& WithFailureReason(IpamDiscoveryFailureReason&& value) { SetFailureReason(std::move(value)); return *this;} /** *

The last attempted resource discovery time.

*/ inline const Aws::Utils::DateTime& GetLastAttemptedDiscoveryTime() const{ return m_lastAttemptedDiscoveryTime; } /** *

The last attempted resource discovery time.

*/ inline bool LastAttemptedDiscoveryTimeHasBeenSet() const { return m_lastAttemptedDiscoveryTimeHasBeenSet; } /** *

The last attempted resource discovery time.

*/ inline void SetLastAttemptedDiscoveryTime(const Aws::Utils::DateTime& value) { m_lastAttemptedDiscoveryTimeHasBeenSet = true; m_lastAttemptedDiscoveryTime = value; } /** *

The last attempted resource discovery time.

*/ inline void SetLastAttemptedDiscoveryTime(Aws::Utils::DateTime&& value) { m_lastAttemptedDiscoveryTimeHasBeenSet = true; m_lastAttemptedDiscoveryTime = std::move(value); } /** *

The last attempted resource discovery time.

*/ inline IpamDiscoveredAccount& WithLastAttemptedDiscoveryTime(const Aws::Utils::DateTime& value) { SetLastAttemptedDiscoveryTime(value); return *this;} /** *

The last attempted resource discovery time.

*/ inline IpamDiscoveredAccount& WithLastAttemptedDiscoveryTime(Aws::Utils::DateTime&& value) { SetLastAttemptedDiscoveryTime(std::move(value)); return *this;} /** *

The last successful resource discovery time.

*/ inline const Aws::Utils::DateTime& GetLastSuccessfulDiscoveryTime() const{ return m_lastSuccessfulDiscoveryTime; } /** *

The last successful resource discovery time.

*/ inline bool LastSuccessfulDiscoveryTimeHasBeenSet() const { return m_lastSuccessfulDiscoveryTimeHasBeenSet; } /** *

The last successful resource discovery time.

*/ inline void SetLastSuccessfulDiscoveryTime(const Aws::Utils::DateTime& value) { m_lastSuccessfulDiscoveryTimeHasBeenSet = true; m_lastSuccessfulDiscoveryTime = value; } /** *

The last successful resource discovery time.

*/ inline void SetLastSuccessfulDiscoveryTime(Aws::Utils::DateTime&& value) { m_lastSuccessfulDiscoveryTimeHasBeenSet = true; m_lastSuccessfulDiscoveryTime = std::move(value); } /** *

The last successful resource discovery time.

*/ inline IpamDiscoveredAccount& WithLastSuccessfulDiscoveryTime(const Aws::Utils::DateTime& value) { SetLastSuccessfulDiscoveryTime(value); return *this;} /** *

The last successful resource discovery time.

*/ inline IpamDiscoveredAccount& WithLastSuccessfulDiscoveryTime(Aws::Utils::DateTime&& value) { SetLastSuccessfulDiscoveryTime(std::move(value)); return *this;} private: Aws::String m_accountId; bool m_accountIdHasBeenSet = false; Aws::String m_discoveryRegion; bool m_discoveryRegionHasBeenSet = false; IpamDiscoveryFailureReason m_failureReason; bool m_failureReasonHasBeenSet = false; Aws::Utils::DateTime m_lastAttemptedDiscoveryTime; bool m_lastAttemptedDiscoveryTimeHasBeenSet = false; Aws::Utils::DateTime m_lastSuccessfulDiscoveryTime; bool m_lastSuccessfulDiscoveryTimeHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws