/** * 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 #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace EC2 { namespace Model { /** *

An IPAM resource discovery association. An associated resource discovery is a * resource discovery that has been associated with an IPAM. IPAM aggregates the * resource CIDRs discovered by the associated resource discovery.

See * Also:

AWS * API Reference

*/ class IpamResourceDiscoveryAssociation { public: AWS_EC2_API IpamResourceDiscoveryAssociation(); AWS_EC2_API IpamResourceDiscoveryAssociation(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API IpamResourceDiscoveryAssociation& 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 Amazon Web Services account ID of the resource discovery owner.

*/ inline const Aws::String& GetOwnerId() const{ return m_ownerId; } /** *

The Amazon Web Services account ID of the resource discovery owner.

*/ inline bool OwnerIdHasBeenSet() const { return m_ownerIdHasBeenSet; } /** *

The Amazon Web Services account ID of the resource discovery owner.

*/ inline void SetOwnerId(const Aws::String& value) { m_ownerIdHasBeenSet = true; m_ownerId = value; } /** *

The Amazon Web Services account ID of the resource discovery owner.

*/ inline void SetOwnerId(Aws::String&& value) { m_ownerIdHasBeenSet = true; m_ownerId = std::move(value); } /** *

The Amazon Web Services account ID of the resource discovery owner.

*/ inline void SetOwnerId(const char* value) { m_ownerIdHasBeenSet = true; m_ownerId.assign(value); } /** *

The Amazon Web Services account ID of the resource discovery owner.

*/ inline IpamResourceDiscoveryAssociation& WithOwnerId(const Aws::String& value) { SetOwnerId(value); return *this;} /** *

The Amazon Web Services account ID of the resource discovery owner.

*/ inline IpamResourceDiscoveryAssociation& WithOwnerId(Aws::String&& value) { SetOwnerId(std::move(value)); return *this;} /** *

The Amazon Web Services account ID of the resource discovery owner.

*/ inline IpamResourceDiscoveryAssociation& WithOwnerId(const char* value) { SetOwnerId(value); return *this;} /** *

The resource discovery association ID.

*/ inline const Aws::String& GetIpamResourceDiscoveryAssociationId() const{ return m_ipamResourceDiscoveryAssociationId; } /** *

The resource discovery association ID.

*/ inline bool IpamResourceDiscoveryAssociationIdHasBeenSet() const { return m_ipamResourceDiscoveryAssociationIdHasBeenSet; } /** *

The resource discovery association ID.

*/ inline void SetIpamResourceDiscoveryAssociationId(const Aws::String& value) { m_ipamResourceDiscoveryAssociationIdHasBeenSet = true; m_ipamResourceDiscoveryAssociationId = value; } /** *

The resource discovery association ID.

*/ inline void SetIpamResourceDiscoveryAssociationId(Aws::String&& value) { m_ipamResourceDiscoveryAssociationIdHasBeenSet = true; m_ipamResourceDiscoveryAssociationId = std::move(value); } /** *

The resource discovery association ID.

*/ inline void SetIpamResourceDiscoveryAssociationId(const char* value) { m_ipamResourceDiscoveryAssociationIdHasBeenSet = true; m_ipamResourceDiscoveryAssociationId.assign(value); } /** *

The resource discovery association ID.

*/ inline IpamResourceDiscoveryAssociation& WithIpamResourceDiscoveryAssociationId(const Aws::String& value) { SetIpamResourceDiscoveryAssociationId(value); return *this;} /** *

The resource discovery association ID.

*/ inline IpamResourceDiscoveryAssociation& WithIpamResourceDiscoveryAssociationId(Aws::String&& value) { SetIpamResourceDiscoveryAssociationId(std::move(value)); return *this;} /** *

The resource discovery association ID.

*/ inline IpamResourceDiscoveryAssociation& WithIpamResourceDiscoveryAssociationId(const char* value) { SetIpamResourceDiscoveryAssociationId(value); return *this;} /** *

The resource discovery association Amazon Resource Name (ARN).

*/ inline const Aws::String& GetIpamResourceDiscoveryAssociationArn() const{ return m_ipamResourceDiscoveryAssociationArn; } /** *

The resource discovery association Amazon Resource Name (ARN).

*/ inline bool IpamResourceDiscoveryAssociationArnHasBeenSet() const { return m_ipamResourceDiscoveryAssociationArnHasBeenSet; } /** *

The resource discovery association Amazon Resource Name (ARN).

*/ inline void SetIpamResourceDiscoveryAssociationArn(const Aws::String& value) { m_ipamResourceDiscoveryAssociationArnHasBeenSet = true; m_ipamResourceDiscoveryAssociationArn = value; } /** *

The resource discovery association Amazon Resource Name (ARN).

*/ inline void SetIpamResourceDiscoveryAssociationArn(Aws::String&& value) { m_ipamResourceDiscoveryAssociationArnHasBeenSet = true; m_ipamResourceDiscoveryAssociationArn = std::move(value); } /** *

The resource discovery association Amazon Resource Name (ARN).

*/ inline void SetIpamResourceDiscoveryAssociationArn(const char* value) { m_ipamResourceDiscoveryAssociationArnHasBeenSet = true; m_ipamResourceDiscoveryAssociationArn.assign(value); } /** *

The resource discovery association Amazon Resource Name (ARN).

*/ inline IpamResourceDiscoveryAssociation& WithIpamResourceDiscoveryAssociationArn(const Aws::String& value) { SetIpamResourceDiscoveryAssociationArn(value); return *this;} /** *

The resource discovery association Amazon Resource Name (ARN).

*/ inline IpamResourceDiscoveryAssociation& WithIpamResourceDiscoveryAssociationArn(Aws::String&& value) { SetIpamResourceDiscoveryAssociationArn(std::move(value)); return *this;} /** *

The resource discovery association Amazon Resource Name (ARN).

*/ inline IpamResourceDiscoveryAssociation& WithIpamResourceDiscoveryAssociationArn(const char* value) { SetIpamResourceDiscoveryAssociationArn(value); return *this;} /** *

The resource discovery ID.

*/ inline const Aws::String& GetIpamResourceDiscoveryId() const{ return m_ipamResourceDiscoveryId; } /** *

The resource discovery ID.

*/ inline bool IpamResourceDiscoveryIdHasBeenSet() const { return m_ipamResourceDiscoveryIdHasBeenSet; } /** *

The resource discovery ID.

*/ inline void SetIpamResourceDiscoveryId(const Aws::String& value) { m_ipamResourceDiscoveryIdHasBeenSet = true; m_ipamResourceDiscoveryId = value; } /** *

The resource discovery ID.

*/ inline void SetIpamResourceDiscoveryId(Aws::String&& value) { m_ipamResourceDiscoveryIdHasBeenSet = true; m_ipamResourceDiscoveryId = std::move(value); } /** *

The resource discovery ID.

*/ inline void SetIpamResourceDiscoveryId(const char* value) { m_ipamResourceDiscoveryIdHasBeenSet = true; m_ipamResourceDiscoveryId.assign(value); } /** *

The resource discovery ID.

*/ inline IpamResourceDiscoveryAssociation& WithIpamResourceDiscoveryId(const Aws::String& value) { SetIpamResourceDiscoveryId(value); return *this;} /** *

The resource discovery ID.

*/ inline IpamResourceDiscoveryAssociation& WithIpamResourceDiscoveryId(Aws::String&& value) { SetIpamResourceDiscoveryId(std::move(value)); return *this;} /** *

The resource discovery ID.

*/ inline IpamResourceDiscoveryAssociation& WithIpamResourceDiscoveryId(const char* value) { SetIpamResourceDiscoveryId(value); return *this;} /** *

The IPAM ID.

*/ inline const Aws::String& GetIpamId() const{ return m_ipamId; } /** *

The IPAM ID.

*/ inline bool IpamIdHasBeenSet() const { return m_ipamIdHasBeenSet; } /** *

The IPAM ID.

*/ inline void SetIpamId(const Aws::String& value) { m_ipamIdHasBeenSet = true; m_ipamId = value; } /** *

The IPAM ID.

*/ inline void SetIpamId(Aws::String&& value) { m_ipamIdHasBeenSet = true; m_ipamId = std::move(value); } /** *

The IPAM ID.

*/ inline void SetIpamId(const char* value) { m_ipamIdHasBeenSet = true; m_ipamId.assign(value); } /** *

The IPAM ID.

*/ inline IpamResourceDiscoveryAssociation& WithIpamId(const Aws::String& value) { SetIpamId(value); return *this;} /** *

The IPAM ID.

*/ inline IpamResourceDiscoveryAssociation& WithIpamId(Aws::String&& value) { SetIpamId(std::move(value)); return *this;} /** *

The IPAM ID.

*/ inline IpamResourceDiscoveryAssociation& WithIpamId(const char* value) { SetIpamId(value); return *this;} /** *

The IPAM ARN.

*/ inline const Aws::String& GetIpamArn() const{ return m_ipamArn; } /** *

The IPAM ARN.

*/ inline bool IpamArnHasBeenSet() const { return m_ipamArnHasBeenSet; } /** *

The IPAM ARN.

*/ inline void SetIpamArn(const Aws::String& value) { m_ipamArnHasBeenSet = true; m_ipamArn = value; } /** *

The IPAM ARN.

*/ inline void SetIpamArn(Aws::String&& value) { m_ipamArnHasBeenSet = true; m_ipamArn = std::move(value); } /** *

The IPAM ARN.

*/ inline void SetIpamArn(const char* value) { m_ipamArnHasBeenSet = true; m_ipamArn.assign(value); } /** *

The IPAM ARN.

*/ inline IpamResourceDiscoveryAssociation& WithIpamArn(const Aws::String& value) { SetIpamArn(value); return *this;} /** *

The IPAM ARN.

*/ inline IpamResourceDiscoveryAssociation& WithIpamArn(Aws::String&& value) { SetIpamArn(std::move(value)); return *this;} /** *

The IPAM ARN.

*/ inline IpamResourceDiscoveryAssociation& WithIpamArn(const char* value) { SetIpamArn(value); return *this;} /** *

The IPAM home Region.

*/ inline const Aws::String& GetIpamRegion() const{ return m_ipamRegion; } /** *

The IPAM home Region.

*/ inline bool IpamRegionHasBeenSet() const { return m_ipamRegionHasBeenSet; } /** *

The IPAM home Region.

*/ inline void SetIpamRegion(const Aws::String& value) { m_ipamRegionHasBeenSet = true; m_ipamRegion = value; } /** *

The IPAM home Region.

*/ inline void SetIpamRegion(Aws::String&& value) { m_ipamRegionHasBeenSet = true; m_ipamRegion = std::move(value); } /** *

The IPAM home Region.

*/ inline void SetIpamRegion(const char* value) { m_ipamRegionHasBeenSet = true; m_ipamRegion.assign(value); } /** *

The IPAM home Region.

*/ inline IpamResourceDiscoveryAssociation& WithIpamRegion(const Aws::String& value) { SetIpamRegion(value); return *this;} /** *

The IPAM home Region.

*/ inline IpamResourceDiscoveryAssociation& WithIpamRegion(Aws::String&& value) { SetIpamRegion(std::move(value)); return *this;} /** *

The IPAM home Region.

*/ inline IpamResourceDiscoveryAssociation& WithIpamRegion(const char* value) { SetIpamRegion(value); return *this;} /** *

Defines if the resource discovery is the default. When you create an IPAM, a * default resource discovery is created for your IPAM and it's associated with * your IPAM.

*/ inline bool GetIsDefault() const{ return m_isDefault; } /** *

Defines if the resource discovery is the default. When you create an IPAM, a * default resource discovery is created for your IPAM and it's associated with * your IPAM.

*/ inline bool IsDefaultHasBeenSet() const { return m_isDefaultHasBeenSet; } /** *

Defines if the resource discovery is the default. When you create an IPAM, a * default resource discovery is created for your IPAM and it's associated with * your IPAM.

*/ inline void SetIsDefault(bool value) { m_isDefaultHasBeenSet = true; m_isDefault = value; } /** *

Defines if the resource discovery is the default. When you create an IPAM, a * default resource discovery is created for your IPAM and it's associated with * your IPAM.

*/ inline IpamResourceDiscoveryAssociation& WithIsDefault(bool value) { SetIsDefault(value); return *this;} /** *

The resource discovery status.

  • active - * Connection or permissions required to read the results of the resource discovery * are intact.

  • not-found - Connection or * permissions required to read the results of the resource discovery are broken. * This may happen if the owner of the resource discovery stopped sharing it or * deleted the resource discovery. Verify the resource discovery still exists and * the Amazon Web Services RAM resource share is still intact.

*/ inline const IpamAssociatedResourceDiscoveryStatus& GetResourceDiscoveryStatus() const{ return m_resourceDiscoveryStatus; } /** *

The resource discovery status.

  • active - * Connection or permissions required to read the results of the resource discovery * are intact.

  • not-found - Connection or * permissions required to read the results of the resource discovery are broken. * This may happen if the owner of the resource discovery stopped sharing it or * deleted the resource discovery. Verify the resource discovery still exists and * the Amazon Web Services RAM resource share is still intact.

*/ inline bool ResourceDiscoveryStatusHasBeenSet() const { return m_resourceDiscoveryStatusHasBeenSet; } /** *

The resource discovery status.

  • active - * Connection or permissions required to read the results of the resource discovery * are intact.

  • not-found - Connection or * permissions required to read the results of the resource discovery are broken. * This may happen if the owner of the resource discovery stopped sharing it or * deleted the resource discovery. Verify the resource discovery still exists and * the Amazon Web Services RAM resource share is still intact.

*/ inline void SetResourceDiscoveryStatus(const IpamAssociatedResourceDiscoveryStatus& value) { m_resourceDiscoveryStatusHasBeenSet = true; m_resourceDiscoveryStatus = value; } /** *

The resource discovery status.

  • active - * Connection or permissions required to read the results of the resource discovery * are intact.

  • not-found - Connection or * permissions required to read the results of the resource discovery are broken. * This may happen if the owner of the resource discovery stopped sharing it or * deleted the resource discovery. Verify the resource discovery still exists and * the Amazon Web Services RAM resource share is still intact.

*/ inline void SetResourceDiscoveryStatus(IpamAssociatedResourceDiscoveryStatus&& value) { m_resourceDiscoveryStatusHasBeenSet = true; m_resourceDiscoveryStatus = std::move(value); } /** *

The resource discovery status.

  • active - * Connection or permissions required to read the results of the resource discovery * are intact.

  • not-found - Connection or * permissions required to read the results of the resource discovery are broken. * This may happen if the owner of the resource discovery stopped sharing it or * deleted the resource discovery. Verify the resource discovery still exists and * the Amazon Web Services RAM resource share is still intact.

*/ inline IpamResourceDiscoveryAssociation& WithResourceDiscoveryStatus(const IpamAssociatedResourceDiscoveryStatus& value) { SetResourceDiscoveryStatus(value); return *this;} /** *

The resource discovery status.

  • active - * Connection or permissions required to read the results of the resource discovery * are intact.

  • not-found - Connection or * permissions required to read the results of the resource discovery are broken. * This may happen if the owner of the resource discovery stopped sharing it or * deleted the resource discovery. Verify the resource discovery still exists and * the Amazon Web Services RAM resource share is still intact.

*/ inline IpamResourceDiscoveryAssociation& WithResourceDiscoveryStatus(IpamAssociatedResourceDiscoveryStatus&& value) { SetResourceDiscoveryStatus(std::move(value)); return *this;} /** *

The lifecycle state of the association when you associate or disassociate a * resource discovery.

  • associate-in-progress - * Resource discovery is being associated.

  • * associate-complete - Resource discovery association is * complete.

  • associate-failed - Resource discovery * association has failed.

  • disassociate-in-progress * - Resource discovery is being disassociated.

  • * disassociate-complete - Resource discovery disassociation is * complete.

  • disassociate-failed - Resource * discovery disassociation has failed.

  • * isolate-in-progress - Amazon Web Services account that created the * resource discovery association has been removed and the resource discovery * associatation is being isolated.

  • * isolate-complete - Resource discovery isolation is complete..

    *
  • restore-in-progress - Resource discovery is being * restored.

*/ inline const IpamResourceDiscoveryAssociationState& GetState() const{ return m_state; } /** *

The lifecycle state of the association when you associate or disassociate a * resource discovery.

  • associate-in-progress - * Resource discovery is being associated.

  • * associate-complete - Resource discovery association is * complete.

  • associate-failed - Resource discovery * association has failed.

  • disassociate-in-progress * - Resource discovery is being disassociated.

  • * disassociate-complete - Resource discovery disassociation is * complete.

  • disassociate-failed - Resource * discovery disassociation has failed.

  • * isolate-in-progress - Amazon Web Services account that created the * resource discovery association has been removed and the resource discovery * associatation is being isolated.

  • * isolate-complete - Resource discovery isolation is complete..

    *
  • restore-in-progress - Resource discovery is being * restored.

*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

The lifecycle state of the association when you associate or disassociate a * resource discovery.

  • associate-in-progress - * Resource discovery is being associated.

  • * associate-complete - Resource discovery association is * complete.

  • associate-failed - Resource discovery * association has failed.

  • disassociate-in-progress * - Resource discovery is being disassociated.

  • * disassociate-complete - Resource discovery disassociation is * complete.

  • disassociate-failed - Resource * discovery disassociation has failed.

  • * isolate-in-progress - Amazon Web Services account that created the * resource discovery association has been removed and the resource discovery * associatation is being isolated.

  • * isolate-complete - Resource discovery isolation is complete..

    *
  • restore-in-progress - Resource discovery is being * restored.

*/ inline void SetState(const IpamResourceDiscoveryAssociationState& value) { m_stateHasBeenSet = true; m_state = value; } /** *

The lifecycle state of the association when you associate or disassociate a * resource discovery.

  • associate-in-progress - * Resource discovery is being associated.

  • * associate-complete - Resource discovery association is * complete.

  • associate-failed - Resource discovery * association has failed.

  • disassociate-in-progress * - Resource discovery is being disassociated.

  • * disassociate-complete - Resource discovery disassociation is * complete.

  • disassociate-failed - Resource * discovery disassociation has failed.

  • * isolate-in-progress - Amazon Web Services account that created the * resource discovery association has been removed and the resource discovery * associatation is being isolated.

  • * isolate-complete - Resource discovery isolation is complete..

    *
  • restore-in-progress - Resource discovery is being * restored.

*/ inline void SetState(IpamResourceDiscoveryAssociationState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *

The lifecycle state of the association when you associate or disassociate a * resource discovery.

  • associate-in-progress - * Resource discovery is being associated.

  • * associate-complete - Resource discovery association is * complete.

  • associate-failed - Resource discovery * association has failed.

  • disassociate-in-progress * - Resource discovery is being disassociated.

  • * disassociate-complete - Resource discovery disassociation is * complete.

  • disassociate-failed - Resource * discovery disassociation has failed.

  • * isolate-in-progress - Amazon Web Services account that created the * resource discovery association has been removed and the resource discovery * associatation is being isolated.

  • * isolate-complete - Resource discovery isolation is complete..

    *
  • restore-in-progress - Resource discovery is being * restored.

*/ inline IpamResourceDiscoveryAssociation& WithState(const IpamResourceDiscoveryAssociationState& value) { SetState(value); return *this;} /** *

The lifecycle state of the association when you associate or disassociate a * resource discovery.

  • associate-in-progress - * Resource discovery is being associated.

  • * associate-complete - Resource discovery association is * complete.

  • associate-failed - Resource discovery * association has failed.

  • disassociate-in-progress * - Resource discovery is being disassociated.

  • * disassociate-complete - Resource discovery disassociation is * complete.

  • disassociate-failed - Resource * discovery disassociation has failed.

  • * isolate-in-progress - Amazon Web Services account that created the * resource discovery association has been removed and the resource discovery * associatation is being isolated.

  • * isolate-complete - Resource discovery isolation is complete..

    *
  • restore-in-progress - Resource discovery is being * restored.

*/ inline IpamResourceDiscoveryAssociation& WithState(IpamResourceDiscoveryAssociationState&& value) { SetState(std::move(value)); return *this;} /** *

A tag is a label that you assign to an Amazon Web Services resource. Each tag * consists of a key and an optional value. You can use tags to search and filter * your resources or track your Amazon Web Services costs.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

A tag is a label that you assign to an Amazon Web Services resource. Each tag * consists of a key and an optional value. You can use tags to search and filter * your resources or track your Amazon Web Services costs.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

A tag is a label that you assign to an Amazon Web Services resource. Each tag * consists of a key and an optional value. You can use tags to search and filter * your resources or track your Amazon Web Services costs.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

A tag is a label that you assign to an Amazon Web Services resource. Each tag * consists of a key and an optional value. You can use tags to search and filter * your resources or track your Amazon Web Services costs.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

A tag is a label that you assign to an Amazon Web Services resource. Each tag * consists of a key and an optional value. You can use tags to search and filter * your resources or track your Amazon Web Services costs.

*/ inline IpamResourceDiscoveryAssociation& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

A tag is a label that you assign to an Amazon Web Services resource. Each tag * consists of a key and an optional value. You can use tags to search and filter * your resources or track your Amazon Web Services costs.

*/ inline IpamResourceDiscoveryAssociation& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

A tag is a label that you assign to an Amazon Web Services resource. Each tag * consists of a key and an optional value. You can use tags to search and filter * your resources or track your Amazon Web Services costs.

*/ inline IpamResourceDiscoveryAssociation& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

A tag is a label that you assign to an Amazon Web Services resource. Each tag * consists of a key and an optional value. You can use tags to search and filter * your resources or track your Amazon Web Services costs.

*/ inline IpamResourceDiscoveryAssociation& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_ownerId; bool m_ownerIdHasBeenSet = false; Aws::String m_ipamResourceDiscoveryAssociationId; bool m_ipamResourceDiscoveryAssociationIdHasBeenSet = false; Aws::String m_ipamResourceDiscoveryAssociationArn; bool m_ipamResourceDiscoveryAssociationArnHasBeenSet = false; Aws::String m_ipamResourceDiscoveryId; bool m_ipamResourceDiscoveryIdHasBeenSet = false; Aws::String m_ipamId; bool m_ipamIdHasBeenSet = false; Aws::String m_ipamArn; bool m_ipamArnHasBeenSet = false; Aws::String m_ipamRegion; bool m_ipamRegionHasBeenSet = false; bool m_isDefault; bool m_isDefaultHasBeenSet = false; IpamAssociatedResourceDiscoveryStatus m_resourceDiscoveryStatus; bool m_resourceDiscoveryStatusHasBeenSet = false; IpamResourceDiscoveryAssociationState m_state; bool m_stateHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws