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

The deregistration policy for the data that's stored in Audit Manager. You * can use this attribute to determine how your data is handled when you deregister * Audit Manager.

By default, Audit Manager retains evidence data for * two years from the time of its creation. Other Audit Manager resources * (including assessments, custom controls, and custom frameworks) remain in Audit * Manager indefinitely, and are available if you re-register * Audit Manager in the future. For more information about data retention, see * Data * Protection in the Audit Manager User Guide.

If you * choose to delete all data, this action permanently deletes all evidence data in * your account within seven days. It also deletes all of the Audit Manager * resources that you created, including assessments, custom controls, and custom * frameworks. Your data will not be available if you re-register Audit Manager in * the future.

See Also:

AWS * API Reference

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

Specifies which Audit Manager data will be deleted when you deregister Audit * Manager.

  • If you set the value to ALL, all of your * data is deleted within seven days of deregistration.

  • If you * set the value to DEFAULT, none of your data is deleted at the time * of deregistration. However, keep in mind that the Audit Manager data retention * policy still applies. As a result, any evidence data will be deleted two years * after its creation date. Your other Audit Manager resources will continue to * exist indefinitely.

*/ inline const DeleteResources& GetDeleteResources() const{ return m_deleteResources; } /** *

Specifies which Audit Manager data will be deleted when you deregister Audit * Manager.

  • If you set the value to ALL, all of your * data is deleted within seven days of deregistration.

  • If you * set the value to DEFAULT, none of your data is deleted at the time * of deregistration. However, keep in mind that the Audit Manager data retention * policy still applies. As a result, any evidence data will be deleted two years * after its creation date. Your other Audit Manager resources will continue to * exist indefinitely.

*/ inline bool DeleteResourcesHasBeenSet() const { return m_deleteResourcesHasBeenSet; } /** *

Specifies which Audit Manager data will be deleted when you deregister Audit * Manager.

  • If you set the value to ALL, all of your * data is deleted within seven days of deregistration.

  • If you * set the value to DEFAULT, none of your data is deleted at the time * of deregistration. However, keep in mind that the Audit Manager data retention * policy still applies. As a result, any evidence data will be deleted two years * after its creation date. Your other Audit Manager resources will continue to * exist indefinitely.

*/ inline void SetDeleteResources(const DeleteResources& value) { m_deleteResourcesHasBeenSet = true; m_deleteResources = value; } /** *

Specifies which Audit Manager data will be deleted when you deregister Audit * Manager.

  • If you set the value to ALL, all of your * data is deleted within seven days of deregistration.

  • If you * set the value to DEFAULT, none of your data is deleted at the time * of deregistration. However, keep in mind that the Audit Manager data retention * policy still applies. As a result, any evidence data will be deleted two years * after its creation date. Your other Audit Manager resources will continue to * exist indefinitely.

*/ inline void SetDeleteResources(DeleteResources&& value) { m_deleteResourcesHasBeenSet = true; m_deleteResources = std::move(value); } /** *

Specifies which Audit Manager data will be deleted when you deregister Audit * Manager.

  • If you set the value to ALL, all of your * data is deleted within seven days of deregistration.

  • If you * set the value to DEFAULT, none of your data is deleted at the time * of deregistration. However, keep in mind that the Audit Manager data retention * policy still applies. As a result, any evidence data will be deleted two years * after its creation date. Your other Audit Manager resources will continue to * exist indefinitely.

*/ inline DeregistrationPolicy& WithDeleteResources(const DeleteResources& value) { SetDeleteResources(value); return *this;} /** *

Specifies which Audit Manager data will be deleted when you deregister Audit * Manager.

  • If you set the value to ALL, all of your * data is deleted within seven days of deregistration.

  • If you * set the value to DEFAULT, none of your data is deleted at the time * of deregistration. However, keep in mind that the Audit Manager data retention * policy still applies. As a result, any evidence data will be deleted two years * after its creation date. Your other Audit Manager resources will continue to * exist indefinitely.

*/ inline DeregistrationPolicy& WithDeleteResources(DeleteResources&& value) { SetDeleteResources(std::move(value)); return *this;} private: DeleteResources m_deleteResources; bool m_deleteResourcesHasBeenSet = false; }; } // namespace Model } // namespace AuditManager } // namespace Aws