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

A collection of statuses for a Multi-Region Access Point in the various * Regions it supports.

See Also:

AWS * API Reference

*/ class MultiRegionAccessPointReport { public: AWS_S3CONTROL_API MultiRegionAccessPointReport(); AWS_S3CONTROL_API MultiRegionAccessPointReport(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_S3CONTROL_API MultiRegionAccessPointReport& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_S3CONTROL_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** *

The name of the Multi-Region Access Point.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the Multi-Region Access Point.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the Multi-Region Access Point.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the Multi-Region Access Point.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the Multi-Region Access Point.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the Multi-Region Access Point.

*/ inline MultiRegionAccessPointReport& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the Multi-Region Access Point.

*/ inline MultiRegionAccessPointReport& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the Multi-Region Access Point.

*/ inline MultiRegionAccessPointReport& WithName(const char* value) { SetName(value); return *this;} /** *

The alias for the Multi-Region Access Point. For more information about the * distinction between the name and the alias of an Multi-Region Access Point, see * Managing * Multi-Region Access Points.

*/ inline const Aws::String& GetAlias() const{ return m_alias; } /** *

The alias for the Multi-Region Access Point. For more information about the * distinction between the name and the alias of an Multi-Region Access Point, see * Managing * Multi-Region Access Points.

*/ inline bool AliasHasBeenSet() const { return m_aliasHasBeenSet; } /** *

The alias for the Multi-Region Access Point. For more information about the * distinction between the name and the alias of an Multi-Region Access Point, see * Managing * Multi-Region Access Points.

*/ inline void SetAlias(const Aws::String& value) { m_aliasHasBeenSet = true; m_alias = value; } /** *

The alias for the Multi-Region Access Point. For more information about the * distinction between the name and the alias of an Multi-Region Access Point, see * Managing * Multi-Region Access Points.

*/ inline void SetAlias(Aws::String&& value) { m_aliasHasBeenSet = true; m_alias = std::move(value); } /** *

The alias for the Multi-Region Access Point. For more information about the * distinction between the name and the alias of an Multi-Region Access Point, see * Managing * Multi-Region Access Points.

*/ inline void SetAlias(const char* value) { m_aliasHasBeenSet = true; m_alias.assign(value); } /** *

The alias for the Multi-Region Access Point. For more information about the * distinction between the name and the alias of an Multi-Region Access Point, see * Managing * Multi-Region Access Points.

*/ inline MultiRegionAccessPointReport& WithAlias(const Aws::String& value) { SetAlias(value); return *this;} /** *

The alias for the Multi-Region Access Point. For more information about the * distinction between the name and the alias of an Multi-Region Access Point, see * Managing * Multi-Region Access Points.

*/ inline MultiRegionAccessPointReport& WithAlias(Aws::String&& value) { SetAlias(std::move(value)); return *this;} /** *

The alias for the Multi-Region Access Point. For more information about the * distinction between the name and the alias of an Multi-Region Access Point, see * Managing * Multi-Region Access Points.

*/ inline MultiRegionAccessPointReport& WithAlias(const char* value) { SetAlias(value); return *this;} /** *

When the Multi-Region Access Point create request was received.

*/ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } /** *

When the Multi-Region Access Point create request was received.

*/ inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } /** *

When the Multi-Region Access Point create request was received.

*/ inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } /** *

When the Multi-Region Access Point create request was received.

*/ inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } /** *

When the Multi-Region Access Point create request was received.

*/ inline MultiRegionAccessPointReport& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} /** *

When the Multi-Region Access Point create request was received.

*/ inline MultiRegionAccessPointReport& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} inline const PublicAccessBlockConfiguration& GetPublicAccessBlock() const{ return m_publicAccessBlock; } inline bool PublicAccessBlockHasBeenSet() const { return m_publicAccessBlockHasBeenSet; } inline void SetPublicAccessBlock(const PublicAccessBlockConfiguration& value) { m_publicAccessBlockHasBeenSet = true; m_publicAccessBlock = value; } inline void SetPublicAccessBlock(PublicAccessBlockConfiguration&& value) { m_publicAccessBlockHasBeenSet = true; m_publicAccessBlock = std::move(value); } inline MultiRegionAccessPointReport& WithPublicAccessBlock(const PublicAccessBlockConfiguration& value) { SetPublicAccessBlock(value); return *this;} inline MultiRegionAccessPointReport& WithPublicAccessBlock(PublicAccessBlockConfiguration&& value) { SetPublicAccessBlock(std::move(value)); return *this;} /** *

The current status of the Multi-Region Access Point.

* CREATING and DELETING are temporary states that exist * while the request is propagating and being completed. If a Multi-Region Access * Point has a status of PARTIALLY_CREATED, you can retry creation or * send a request to delete the Multi-Region Access Point. If a Multi-Region Access * Point has a status of PARTIALLY_DELETED, you can retry a delete * request to finish the deletion of the Multi-Region Access Point.

*/ inline const MultiRegionAccessPointStatus& GetStatus() const{ return m_status; } /** *

The current status of the Multi-Region Access Point.

* CREATING and DELETING are temporary states that exist * while the request is propagating and being completed. If a Multi-Region Access * Point has a status of PARTIALLY_CREATED, you can retry creation or * send a request to delete the Multi-Region Access Point. If a Multi-Region Access * Point has a status of PARTIALLY_DELETED, you can retry a delete * request to finish the deletion of the Multi-Region Access Point.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The current status of the Multi-Region Access Point.

* CREATING and DELETING are temporary states that exist * while the request is propagating and being completed. If a Multi-Region Access * Point has a status of PARTIALLY_CREATED, you can retry creation or * send a request to delete the Multi-Region Access Point. If a Multi-Region Access * Point has a status of PARTIALLY_DELETED, you can retry a delete * request to finish the deletion of the Multi-Region Access Point.

*/ inline void SetStatus(const MultiRegionAccessPointStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The current status of the Multi-Region Access Point.

* CREATING and DELETING are temporary states that exist * while the request is propagating and being completed. If a Multi-Region Access * Point has a status of PARTIALLY_CREATED, you can retry creation or * send a request to delete the Multi-Region Access Point. If a Multi-Region Access * Point has a status of PARTIALLY_DELETED, you can retry a delete * request to finish the deletion of the Multi-Region Access Point.

*/ inline void SetStatus(MultiRegionAccessPointStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The current status of the Multi-Region Access Point.

* CREATING and DELETING are temporary states that exist * while the request is propagating and being completed. If a Multi-Region Access * Point has a status of PARTIALLY_CREATED, you can retry creation or * send a request to delete the Multi-Region Access Point. If a Multi-Region Access * Point has a status of PARTIALLY_DELETED, you can retry a delete * request to finish the deletion of the Multi-Region Access Point.

*/ inline MultiRegionAccessPointReport& WithStatus(const MultiRegionAccessPointStatus& value) { SetStatus(value); return *this;} /** *

The current status of the Multi-Region Access Point.

* CREATING and DELETING are temporary states that exist * while the request is propagating and being completed. If a Multi-Region Access * Point has a status of PARTIALLY_CREATED, you can retry creation or * send a request to delete the Multi-Region Access Point. If a Multi-Region Access * Point has a status of PARTIALLY_DELETED, you can retry a delete * request to finish the deletion of the Multi-Region Access Point.

*/ inline MultiRegionAccessPointReport& WithStatus(MultiRegionAccessPointStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

A collection of the Regions and buckets associated with the Multi-Region * Access Point.

*/ inline const Aws::Vector& GetRegions() const{ return m_regions; } /** *

A collection of the Regions and buckets associated with the Multi-Region * Access Point.

*/ inline bool RegionsHasBeenSet() const { return m_regionsHasBeenSet; } /** *

A collection of the Regions and buckets associated with the Multi-Region * Access Point.

*/ inline void SetRegions(const Aws::Vector& value) { m_regionsHasBeenSet = true; m_regions = value; } /** *

A collection of the Regions and buckets associated with the Multi-Region * Access Point.

*/ inline void SetRegions(Aws::Vector&& value) { m_regionsHasBeenSet = true; m_regions = std::move(value); } /** *

A collection of the Regions and buckets associated with the Multi-Region * Access Point.

*/ inline MultiRegionAccessPointReport& WithRegions(const Aws::Vector& value) { SetRegions(value); return *this;} /** *

A collection of the Regions and buckets associated with the Multi-Region * Access Point.

*/ inline MultiRegionAccessPointReport& WithRegions(Aws::Vector&& value) { SetRegions(std::move(value)); return *this;} /** *

A collection of the Regions and buckets associated with the Multi-Region * Access Point.

*/ inline MultiRegionAccessPointReport& AddRegions(const RegionReport& value) { m_regionsHasBeenSet = true; m_regions.push_back(value); return *this; } /** *

A collection of the Regions and buckets associated with the Multi-Region * Access Point.

*/ inline MultiRegionAccessPointReport& AddRegions(RegionReport&& value) { m_regionsHasBeenSet = true; m_regions.push_back(std::move(value)); return *this; } private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_alias; bool m_aliasHasBeenSet = false; Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; PublicAccessBlockConfiguration m_publicAccessBlock; bool m_publicAccessBlockHasBeenSet = false; MultiRegionAccessPointStatus m_status; bool m_statusHasBeenSet = false; Aws::Vector m_regions; bool m_regionsHasBeenSet = false; }; } // namespace Model } // namespace S3Control } // namespace Aws