AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
CreateSnapshotScheduleActionParameters.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/redshift-serverless/RedshiftServerless_EXPORTS.h>
10#include <aws/redshift-serverless/model/Tag.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace RedshiftServerless {
22namespace Model {
23
35 public:
36 AWS_REDSHIFTSERVERLESS_API CreateSnapshotScheduleActionParameters() = default;
39 AWS_REDSHIFTSERVERLESS_API Aws::Utils::Json::JsonValue Jsonize() const;
40
42
46 inline const Aws::String& GetNamespaceName() const { return m_namespaceName; }
47 inline bool NamespaceNameHasBeenSet() const { return m_namespaceNameHasBeenSet; }
48 template <typename NamespaceNameT = Aws::String>
49 void SetNamespaceName(NamespaceNameT&& value) {
50 m_namespaceNameHasBeenSet = true;
51 m_namespaceName = std::forward<NamespaceNameT>(value);
52 }
53 template <typename NamespaceNameT = Aws::String>
55 SetNamespaceName(std::forward<NamespaceNameT>(value));
56 return *this;
57 }
59
61
64 inline int GetRetentionPeriod() const { return m_retentionPeriod; }
65 inline bool RetentionPeriodHasBeenSet() const { return m_retentionPeriodHasBeenSet; }
66 inline void SetRetentionPeriod(int value) {
67 m_retentionPeriodHasBeenSet = true;
68 m_retentionPeriod = value;
69 }
71 SetRetentionPeriod(value);
72 return *this;
73 }
75
77
82 inline const Aws::String& GetSnapshotNamePrefix() const { return m_snapshotNamePrefix; }
83 inline bool SnapshotNamePrefixHasBeenSet() const { return m_snapshotNamePrefixHasBeenSet; }
84 template <typename SnapshotNamePrefixT = Aws::String>
85 void SetSnapshotNamePrefix(SnapshotNamePrefixT&& value) {
86 m_snapshotNamePrefixHasBeenSet = true;
87 m_snapshotNamePrefix = std::forward<SnapshotNamePrefixT>(value);
88 }
89 template <typename SnapshotNamePrefixT = Aws::String>
91 SetSnapshotNamePrefix(std::forward<SnapshotNamePrefixT>(value));
92 return *this;
93 }
95
97
102 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
103 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
104 template <typename TagsT = Aws::Vector<Tag>>
105 void SetTags(TagsT&& value) {
106 m_tagsHasBeenSet = true;
107 m_tags = std::forward<TagsT>(value);
108 }
109 template <typename TagsT = Aws::Vector<Tag>>
111 SetTags(std::forward<TagsT>(value));
112 return *this;
113 }
114 template <typename TagsT = Tag>
116 m_tagsHasBeenSet = true;
117 m_tags.emplace_back(std::forward<TagsT>(value));
118 return *this;
119 }
121 private:
122 Aws::String m_namespaceName;
123
124 int m_retentionPeriod{0};
125
126 Aws::String m_snapshotNamePrefix;
127
128 Aws::Vector<Tag> m_tags;
129 bool m_namespaceNameHasBeenSet = false;
130 bool m_retentionPeriodHasBeenSet = false;
131 bool m_snapshotNamePrefixHasBeenSet = false;
132 bool m_tagsHasBeenSet = false;
133};
134
135} // namespace Model
136} // namespace RedshiftServerless
137} // namespace Aws
AWS_REDSHIFTSERVERLESS_API CreateSnapshotScheduleActionParameters & operator=(Aws::Utils::Json::JsonView jsonValue)
CreateSnapshotScheduleActionParameters & WithSnapshotNamePrefix(SnapshotNamePrefixT &&value)
AWS_REDSHIFTSERVERLESS_API Aws::Utils::Json::JsonValue Jsonize() const
CreateSnapshotScheduleActionParameters & WithNamespaceName(NamespaceNameT &&value)
AWS_REDSHIFTSERVERLESS_API CreateSnapshotScheduleActionParameters()=default
AWS_REDSHIFTSERVERLESS_API CreateSnapshotScheduleActionParameters(Aws::Utils::Json::JsonView jsonValue)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue