/** * 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 { /** *

A resource discovery is an IPAM component that enables IPAM to manage and * monitor resources that belong to the owning account.

See Also:

* AWS * API Reference

*/ class IpamResourceDiscovery { public: AWS_EC2_API IpamResourceDiscovery(); AWS_EC2_API IpamResourceDiscovery(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API IpamResourceDiscovery& 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 ID of the owner.

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

The ID of the owner.

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

The ID of the owner.

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

The ID of the owner.

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

The ID of the owner.

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

The ID of the owner.

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

The ID of the owner.

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

The ID of the owner.

*/ inline IpamResourceDiscovery& WithOwnerId(const char* value) { SetOwnerId(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 IpamResourceDiscovery& WithIpamResourceDiscoveryId(const Aws::String& value) { SetIpamResourceDiscoveryId(value); return *this;} /** *

The resource discovery ID.

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

The resource discovery ID.

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

The resource discovery Amazon Resource Name (ARN).

*/ inline const Aws::String& GetIpamResourceDiscoveryArn() const{ return m_ipamResourceDiscoveryArn; } /** *

The resource discovery Amazon Resource Name (ARN).

*/ inline bool IpamResourceDiscoveryArnHasBeenSet() const { return m_ipamResourceDiscoveryArnHasBeenSet; } /** *

The resource discovery Amazon Resource Name (ARN).

*/ inline void SetIpamResourceDiscoveryArn(const Aws::String& value) { m_ipamResourceDiscoveryArnHasBeenSet = true; m_ipamResourceDiscoveryArn = value; } /** *

The resource discovery Amazon Resource Name (ARN).

*/ inline void SetIpamResourceDiscoveryArn(Aws::String&& value) { m_ipamResourceDiscoveryArnHasBeenSet = true; m_ipamResourceDiscoveryArn = std::move(value); } /** *

The resource discovery Amazon Resource Name (ARN).

*/ inline void SetIpamResourceDiscoveryArn(const char* value) { m_ipamResourceDiscoveryArnHasBeenSet = true; m_ipamResourceDiscoveryArn.assign(value); } /** *

The resource discovery Amazon Resource Name (ARN).

*/ inline IpamResourceDiscovery& WithIpamResourceDiscoveryArn(const Aws::String& value) { SetIpamResourceDiscoveryArn(value); return *this;} /** *

The resource discovery Amazon Resource Name (ARN).

*/ inline IpamResourceDiscovery& WithIpamResourceDiscoveryArn(Aws::String&& value) { SetIpamResourceDiscoveryArn(std::move(value)); return *this;} /** *

The resource discovery Amazon Resource Name (ARN).

*/ inline IpamResourceDiscovery& WithIpamResourceDiscoveryArn(const char* value) { SetIpamResourceDiscoveryArn(value); return *this;} /** *

The resource discovery Region.

*/ inline const Aws::String& GetIpamResourceDiscoveryRegion() const{ return m_ipamResourceDiscoveryRegion; } /** *

The resource discovery Region.

*/ inline bool IpamResourceDiscoveryRegionHasBeenSet() const { return m_ipamResourceDiscoveryRegionHasBeenSet; } /** *

The resource discovery Region.

*/ inline void SetIpamResourceDiscoveryRegion(const Aws::String& value) { m_ipamResourceDiscoveryRegionHasBeenSet = true; m_ipamResourceDiscoveryRegion = value; } /** *

The resource discovery Region.

*/ inline void SetIpamResourceDiscoveryRegion(Aws::String&& value) { m_ipamResourceDiscoveryRegionHasBeenSet = true; m_ipamResourceDiscoveryRegion = std::move(value); } /** *

The resource discovery Region.

*/ inline void SetIpamResourceDiscoveryRegion(const char* value) { m_ipamResourceDiscoveryRegionHasBeenSet = true; m_ipamResourceDiscoveryRegion.assign(value); } /** *

The resource discovery Region.

*/ inline IpamResourceDiscovery& WithIpamResourceDiscoveryRegion(const Aws::String& value) { SetIpamResourceDiscoveryRegion(value); return *this;} /** *

The resource discovery Region.

*/ inline IpamResourceDiscovery& WithIpamResourceDiscoveryRegion(Aws::String&& value) { SetIpamResourceDiscoveryRegion(std::move(value)); return *this;} /** *

The resource discovery Region.

*/ inline IpamResourceDiscovery& WithIpamResourceDiscoveryRegion(const char* value) { SetIpamResourceDiscoveryRegion(value); return *this;} /** *

The resource discovery description.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The resource discovery description.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

The resource discovery description.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

The resource discovery description.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

The resource discovery description.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

The resource discovery description.

*/ inline IpamResourceDiscovery& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The resource discovery description.

*/ inline IpamResourceDiscovery& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The resource discovery description.

*/ inline IpamResourceDiscovery& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The operating Regions for the resource discovery. Operating Regions are * Amazon Web Services Regions where the IPAM is allowed to manage IP address * CIDRs. IPAM only discovers and monitors resources in the Amazon Web Services * Regions you select as operating Regions.

*/ inline const Aws::Vector& GetOperatingRegions() const{ return m_operatingRegions; } /** *

The operating Regions for the resource discovery. Operating Regions are * Amazon Web Services Regions where the IPAM is allowed to manage IP address * CIDRs. IPAM only discovers and monitors resources in the Amazon Web Services * Regions you select as operating Regions.

*/ inline bool OperatingRegionsHasBeenSet() const { return m_operatingRegionsHasBeenSet; } /** *

The operating Regions for the resource discovery. Operating Regions are * Amazon Web Services Regions where the IPAM is allowed to manage IP address * CIDRs. IPAM only discovers and monitors resources in the Amazon Web Services * Regions you select as operating Regions.

*/ inline void SetOperatingRegions(const Aws::Vector& value) { m_operatingRegionsHasBeenSet = true; m_operatingRegions = value; } /** *

The operating Regions for the resource discovery. Operating Regions are * Amazon Web Services Regions where the IPAM is allowed to manage IP address * CIDRs. IPAM only discovers and monitors resources in the Amazon Web Services * Regions you select as operating Regions.

*/ inline void SetOperatingRegions(Aws::Vector&& value) { m_operatingRegionsHasBeenSet = true; m_operatingRegions = std::move(value); } /** *

The operating Regions for the resource discovery. Operating Regions are * Amazon Web Services Regions where the IPAM is allowed to manage IP address * CIDRs. IPAM only discovers and monitors resources in the Amazon Web Services * Regions you select as operating Regions.

*/ inline IpamResourceDiscovery& WithOperatingRegions(const Aws::Vector& value) { SetOperatingRegions(value); return *this;} /** *

The operating Regions for the resource discovery. Operating Regions are * Amazon Web Services Regions where the IPAM is allowed to manage IP address * CIDRs. IPAM only discovers and monitors resources in the Amazon Web Services * Regions you select as operating Regions.

*/ inline IpamResourceDiscovery& WithOperatingRegions(Aws::Vector&& value) { SetOperatingRegions(std::move(value)); return *this;} /** *

The operating Regions for the resource discovery. Operating Regions are * Amazon Web Services Regions where the IPAM is allowed to manage IP address * CIDRs. IPAM only discovers and monitors resources in the Amazon Web Services * Regions you select as operating Regions.

*/ inline IpamResourceDiscovery& AddOperatingRegions(const IpamOperatingRegion& value) { m_operatingRegionsHasBeenSet = true; m_operatingRegions.push_back(value); return *this; } /** *

The operating Regions for the resource discovery. Operating Regions are * Amazon Web Services Regions where the IPAM is allowed to manage IP address * CIDRs. IPAM only discovers and monitors resources in the Amazon Web Services * Regions you select as operating Regions.

*/ inline IpamResourceDiscovery& AddOperatingRegions(IpamOperatingRegion&& value) { m_operatingRegionsHasBeenSet = true; m_operatingRegions.push_back(std::move(value)); return *this; } /** *

Defines if the resource discovery is the default. The default resource * discovery is the resource discovery automatically created when you create an * IPAM.

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

Defines if the resource discovery is the default. The default resource * discovery is the resource discovery automatically created when you create an * IPAM.

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

Defines if the resource discovery is the default. The default resource * discovery is the resource discovery automatically created when you create an * IPAM.

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

Defines if the resource discovery is the default. The default resource * discovery is the resource discovery automatically created when you create an * IPAM.

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

The lifecycle state of the resource discovery.

  • * create-in-progress - Resource discovery is being created.

  • *
  • create-complete - Resource discovery creation is * complete.

  • create-failed - Resource discovery * creation has failed.

  • modify-in-progress - * Resource discovery is being modified.

  • * modify-complete - Resource discovery modification is complete.

    *
  • modify-failed - Resource discovery modification has * failed.

  • delete-in-progress - Resource discovery * is being deleted.

  • delete-complete - Resource * discovery deletion is complete.

  • delete-failed - * Resource discovery deletion has failed.

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

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

  • restore-in-progress - * Amazon Web Services account that created the resource discovery and was isolated * has been restored.

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

The lifecycle state of the resource discovery.

  • * create-in-progress - Resource discovery is being created.

  • *
  • create-complete - Resource discovery creation is * complete.

  • create-failed - Resource discovery * creation has failed.

  • modify-in-progress - * Resource discovery is being modified.

  • * modify-complete - Resource discovery modification is complete.

    *
  • modify-failed - Resource discovery modification has * failed.

  • delete-in-progress - Resource discovery * is being deleted.

  • delete-complete - Resource * discovery deletion is complete.

  • delete-failed - * Resource discovery deletion has failed.

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

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

  • restore-in-progress - * Amazon Web Services account that created the resource discovery and was isolated * has been restored.

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

The lifecycle state of the resource discovery.

  • * create-in-progress - Resource discovery is being created.

  • *
  • create-complete - Resource discovery creation is * complete.

  • create-failed - Resource discovery * creation has failed.

  • modify-in-progress - * Resource discovery is being modified.

  • * modify-complete - Resource discovery modification is complete.

    *
  • modify-failed - Resource discovery modification has * failed.

  • delete-in-progress - Resource discovery * is being deleted.

  • delete-complete - Resource * discovery deletion is complete.

  • delete-failed - * Resource discovery deletion has failed.

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

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

  • restore-in-progress - * Amazon Web Services account that created the resource discovery and was isolated * has been restored.

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

The lifecycle state of the resource discovery.

  • * create-in-progress - Resource discovery is being created.

  • *
  • create-complete - Resource discovery creation is * complete.

  • create-failed - Resource discovery * creation has failed.

  • modify-in-progress - * Resource discovery is being modified.

  • * modify-complete - Resource discovery modification is complete.

    *
  • modify-failed - Resource discovery modification has * failed.

  • delete-in-progress - Resource discovery * is being deleted.

  • delete-complete - Resource * discovery deletion is complete.

  • delete-failed - * Resource discovery deletion has failed.

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

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

  • restore-in-progress - * Amazon Web Services account that created the resource discovery and was isolated * has been restored.

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

The lifecycle state of the resource discovery.

  • * create-in-progress - Resource discovery is being created.

  • *
  • create-complete - Resource discovery creation is * complete.

  • create-failed - Resource discovery * creation has failed.

  • modify-in-progress - * Resource discovery is being modified.

  • * modify-complete - Resource discovery modification is complete.

    *
  • modify-failed - Resource discovery modification has * failed.

  • delete-in-progress - Resource discovery * is being deleted.

  • delete-complete - Resource * discovery deletion is complete.

  • delete-failed - * Resource discovery deletion has failed.

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

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

  • restore-in-progress - * Amazon Web Services account that created the resource discovery and was isolated * has been restored.

*/ inline IpamResourceDiscovery& WithState(const IpamResourceDiscoveryState& value) { SetState(value); return *this;} /** *

The lifecycle state of the resource discovery.

  • * create-in-progress - Resource discovery is being created.

  • *
  • create-complete - Resource discovery creation is * complete.

  • create-failed - Resource discovery * creation has failed.

  • modify-in-progress - * Resource discovery is being modified.

  • * modify-complete - Resource discovery modification is complete.

    *
  • modify-failed - Resource discovery modification has * failed.

  • delete-in-progress - Resource discovery * is being deleted.

  • delete-complete - Resource * discovery deletion is complete.

  • delete-failed - * Resource discovery deletion has failed.

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

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

  • restore-in-progress - * Amazon Web Services account that created the resource discovery and was isolated * has been restored.

*/ inline IpamResourceDiscovery& WithState(IpamResourceDiscoveryState&& 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 IpamResourceDiscovery& 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 IpamResourceDiscovery& 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 IpamResourceDiscovery& 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 IpamResourceDiscovery& 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_ipamResourceDiscoveryId; bool m_ipamResourceDiscoveryIdHasBeenSet = false; Aws::String m_ipamResourceDiscoveryArn; bool m_ipamResourceDiscoveryArnHasBeenSet = false; Aws::String m_ipamResourceDiscoveryRegion; bool m_ipamResourceDiscoveryRegionHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::Vector m_operatingRegions; bool m_operatingRegionsHasBeenSet = false; bool m_isDefault; bool m_isDefaultHasBeenSet = false; IpamResourceDiscoveryState m_state; bool m_stateHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws