AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
CreateSnapshotScheduleActionParameters.h
1
6#pragma once
7#include <aws/redshift-serverless/RedshiftServerless_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/redshift-serverless/model/Tag.h>
11#include <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Json
18{
19 class JsonValue;
20 class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace RedshiftServerless
24{
25namespace Model
26{
27
39 {
40 public:
41 AWS_REDSHIFTSERVERLESS_API CreateSnapshotScheduleActionParameters() = default;
44 AWS_REDSHIFTSERVERLESS_API Aws::Utils::Json::JsonValue Jsonize() const;
45
46
48
52 inline const Aws::String& GetNamespaceName() const { return m_namespaceName; }
53 inline bool NamespaceNameHasBeenSet() const { return m_namespaceNameHasBeenSet; }
54 template<typename NamespaceNameT = Aws::String>
55 void SetNamespaceName(NamespaceNameT&& value) { m_namespaceNameHasBeenSet = true; m_namespaceName = std::forward<NamespaceNameT>(value); }
56 template<typename NamespaceNameT = Aws::String>
57 CreateSnapshotScheduleActionParameters& WithNamespaceName(NamespaceNameT&& value) { SetNamespaceName(std::forward<NamespaceNameT>(value)); return *this;}
59
61
64 inline int GetRetentionPeriod() const { return m_retentionPeriod; }
65 inline bool RetentionPeriodHasBeenSet() const { return m_retentionPeriodHasBeenSet; }
66 inline void SetRetentionPeriod(int value) { m_retentionPeriodHasBeenSet = true; m_retentionPeriod = value; }
69
71
76 inline const Aws::String& GetSnapshotNamePrefix() const { return m_snapshotNamePrefix; }
77 inline bool SnapshotNamePrefixHasBeenSet() const { return m_snapshotNamePrefixHasBeenSet; }
78 template<typename SnapshotNamePrefixT = Aws::String>
79 void SetSnapshotNamePrefix(SnapshotNamePrefixT&& value) { m_snapshotNamePrefixHasBeenSet = true; m_snapshotNamePrefix = std::forward<SnapshotNamePrefixT>(value); }
80 template<typename SnapshotNamePrefixT = Aws::String>
81 CreateSnapshotScheduleActionParameters& WithSnapshotNamePrefix(SnapshotNamePrefixT&& value) { SetSnapshotNamePrefix(std::forward<SnapshotNamePrefixT>(value)); return *this;}
83
85
90 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
91 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
92 template<typename TagsT = Aws::Vector<Tag>>
93 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
94 template<typename TagsT = Aws::Vector<Tag>>
95 CreateSnapshotScheduleActionParameters& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
96 template<typename TagsT = Tag>
97 CreateSnapshotScheduleActionParameters& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
99 private:
100
101 Aws::String m_namespaceName;
102 bool m_namespaceNameHasBeenSet = false;
103
104 int m_retentionPeriod{0};
105 bool m_retentionPeriodHasBeenSet = false;
106
107 Aws::String m_snapshotNamePrefix;
108 bool m_snapshotNamePrefixHasBeenSet = false;
109
110 Aws::Vector<Tag> m_tags;
111 bool m_tagsHasBeenSet = false;
112 };
113
114} // namespace Model
115} // namespace RedshiftServerless
116} // 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