AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
CrossRegionCopyAction.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/dlm/DLM_EXPORTS.h>
9#include <aws/dlm/model/CrossRegionCopyRetainRule.h>
10#include <aws/dlm/model/EncryptionConfiguration.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace DLM {
22namespace Model {
23
34 public:
35 AWS_DLM_API CrossRegionCopyAction() = default;
39
41
44 inline const Aws::String& GetTarget() const { return m_target; }
45 inline bool TargetHasBeenSet() const { return m_targetHasBeenSet; }
46 template <typename TargetT = Aws::String>
47 void SetTarget(TargetT&& value) {
48 m_targetHasBeenSet = true;
49 m_target = std::forward<TargetT>(value);
50 }
51 template <typename TargetT = Aws::String>
53 SetTarget(std::forward<TargetT>(value));
54 return *this;
55 }
57
59
62 inline const EncryptionConfiguration& GetEncryptionConfiguration() const { return m_encryptionConfiguration; }
63 inline bool EncryptionConfigurationHasBeenSet() const { return m_encryptionConfigurationHasBeenSet; }
64 template <typename EncryptionConfigurationT = EncryptionConfiguration>
65 void SetEncryptionConfiguration(EncryptionConfigurationT&& value) {
66 m_encryptionConfigurationHasBeenSet = true;
67 m_encryptionConfiguration = std::forward<EncryptionConfigurationT>(value);
68 }
69 template <typename EncryptionConfigurationT = EncryptionConfiguration>
70 CrossRegionCopyAction& WithEncryptionConfiguration(EncryptionConfigurationT&& value) {
71 SetEncryptionConfiguration(std::forward<EncryptionConfigurationT>(value));
72 return *this;
73 }
75
77
78 inline const CrossRegionCopyRetainRule& GetRetainRule() const { return m_retainRule; }
79 inline bool RetainRuleHasBeenSet() const { return m_retainRuleHasBeenSet; }
80 template <typename RetainRuleT = CrossRegionCopyRetainRule>
81 void SetRetainRule(RetainRuleT&& value) {
82 m_retainRuleHasBeenSet = true;
83 m_retainRule = std::forward<RetainRuleT>(value);
84 }
85 template <typename RetainRuleT = CrossRegionCopyRetainRule>
86 CrossRegionCopyAction& WithRetainRule(RetainRuleT&& value) {
87 SetRetainRule(std::forward<RetainRuleT>(value));
88 return *this;
89 }
91 private:
92 Aws::String m_target;
93
94 EncryptionConfiguration m_encryptionConfiguration;
95
96 CrossRegionCopyRetainRule m_retainRule;
97 bool m_targetHasBeenSet = false;
98 bool m_encryptionConfigurationHasBeenSet = false;
99 bool m_retainRuleHasBeenSet = false;
100};
101
102} // namespace Model
103} // namespace DLM
104} // namespace Aws
AWS_DLM_API CrossRegionCopyAction & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_DLM_API CrossRegionCopyAction(Aws::Utils::Json::JsonView jsonValue)
CrossRegionCopyAction & WithRetainRule(RetainRuleT &&value)
void SetEncryptionConfiguration(EncryptionConfigurationT &&value)
AWS_DLM_API CrossRegionCopyAction()=default
AWS_DLM_API Aws::Utils::Json::JsonValue Jsonize() const
const CrossRegionCopyRetainRule & GetRetainRule() const
CrossRegionCopyAction & WithTarget(TargetT &&value)
const EncryptionConfiguration & GetEncryptionConfiguration() const
CrossRegionCopyAction & WithEncryptionConfiguration(EncryptionConfigurationT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue