/**
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * SPDX-License-Identifier: Apache-2.0.
 */
#pragma once
#include  Specifies whether Amazon S3 replicates delete markers. If you specify a
   *  For more information about delete marker
   * replication, see Basic
   * Rule Configuration.  If you are using an earlier version of
   * the replication configuration, Amazon S3 handles replication of delete markers
   * differently. For more information, see Backward
   * Compatibility.Filter in your replication configuration, you must also include a
   * DeleteMarkerReplication element. If your Filter
   * includes a Tag element, the DeleteMarkerReplication
   * Status must be set to Disabled, because Amazon S3 does not support
   * replicating delete markers for tag-based rules. For an example configuration,
   * see Basic
   * Rule Configuration. See Also:
   AWS
   * API Reference
Indicates whether to replicate delete markers.
Indicates * whether to replicate delete markers.
*/ inline const DeleteMarkerReplicationStatus& GetStatus() const{ return m_status; } /** *Indicates whether to replicate delete markers.
Indicates * whether to replicate delete markers.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *Indicates whether to replicate delete markers.
Indicates * whether to replicate delete markers.
*/ inline void SetStatus(const DeleteMarkerReplicationStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *Indicates whether to replicate delete markers.
Indicates * whether to replicate delete markers.
*/ inline void SetStatus(DeleteMarkerReplicationStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *Indicates whether to replicate delete markers.
Indicates * whether to replicate delete markers.
*/ inline DeleteMarkerReplication& WithStatus(const DeleteMarkerReplicationStatus& value) { SetStatus(value); return *this;} /** *Indicates whether to replicate delete markers.
Indicates * whether to replicate delete markers.
*/ inline DeleteMarkerReplication& WithStatus(DeleteMarkerReplicationStatus&& value) { SetStatus(std::move(value)); return *this;} private: DeleteMarkerReplicationStatus m_status; bool m_statusHasBeenSet; }; } // namespace Model } // namespace S3 } // namespace Aws