/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include [Event-based policies only] Specifies a cross-Region copy action for
* event-based policies. To specify a cross-Region copy rule for
* snapshot and AMI policies, use CrossRegionCopyRule.See
* Also:
AWS
* API Reference
The target Region.
*/ inline const Aws::String& GetTarget() const{ return m_target; } /** *The target Region.
*/ inline bool TargetHasBeenSet() const { return m_targetHasBeenSet; } /** *The target Region.
*/ inline void SetTarget(const Aws::String& value) { m_targetHasBeenSet = true; m_target = value; } /** *The target Region.
*/ inline void SetTarget(Aws::String&& value) { m_targetHasBeenSet = true; m_target = std::move(value); } /** *The target Region.
*/ inline void SetTarget(const char* value) { m_targetHasBeenSet = true; m_target.assign(value); } /** *The target Region.
*/ inline CrossRegionCopyAction& WithTarget(const Aws::String& value) { SetTarget(value); return *this;} /** *The target Region.
*/ inline CrossRegionCopyAction& WithTarget(Aws::String&& value) { SetTarget(std::move(value)); return *this;} /** *The target Region.
*/ inline CrossRegionCopyAction& WithTarget(const char* value) { SetTarget(value); return *this;} /** *The encryption settings for the copied snapshot.
*/ inline const EncryptionConfiguration& GetEncryptionConfiguration() const{ return m_encryptionConfiguration; } /** *The encryption settings for the copied snapshot.
*/ inline bool EncryptionConfigurationHasBeenSet() const { return m_encryptionConfigurationHasBeenSet; } /** *The encryption settings for the copied snapshot.
*/ inline void SetEncryptionConfiguration(const EncryptionConfiguration& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = value; } /** *The encryption settings for the copied snapshot.
*/ inline void SetEncryptionConfiguration(EncryptionConfiguration&& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = std::move(value); } /** *The encryption settings for the copied snapshot.
*/ inline CrossRegionCopyAction& WithEncryptionConfiguration(const EncryptionConfiguration& value) { SetEncryptionConfiguration(value); return *this;} /** *The encryption settings for the copied snapshot.
*/ inline CrossRegionCopyAction& WithEncryptionConfiguration(EncryptionConfiguration&& value) { SetEncryptionConfiguration(std::move(value)); return *this;} inline const CrossRegionCopyRetainRule& GetRetainRule() const{ return m_retainRule; } inline bool RetainRuleHasBeenSet() const { return m_retainRuleHasBeenSet; } inline void SetRetainRule(const CrossRegionCopyRetainRule& value) { m_retainRuleHasBeenSet = true; m_retainRule = value; } inline void SetRetainRule(CrossRegionCopyRetainRule&& value) { m_retainRuleHasBeenSet = true; m_retainRule = std::move(value); } inline CrossRegionCopyAction& WithRetainRule(const CrossRegionCopyRetainRule& value) { SetRetainRule(value); return *this;} inline CrossRegionCopyAction& WithRetainRule(CrossRegionCopyRetainRule&& value) { SetRetainRule(std::move(value)); return *this;} private: Aws::String m_target; bool m_targetHasBeenSet = false; EncryptionConfiguration m_encryptionConfiguration; bool m_encryptionConfigurationHasBeenSet = false; CrossRegionCopyRetainRule m_retainRule; bool m_retainRuleHasBeenSet = false; }; } // namespace Model } // namespace DLM } // namespace Aws