AWS SDK for C++

AWS SDK for C++ Version 1.11.748

Loading...
Searching...
No Matches
SnapshotCopyGrant.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/redshift/Redshift_EXPORTS.h>
11#include <aws/redshift/model/Tag.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Xml {
18class XmlNode;
19} // namespace Xml
20} // namespace Utils
21namespace Redshift {
22namespace Model {
23
36 public:
37 AWS_REDSHIFT_API SnapshotCopyGrant() = default;
38 AWS_REDSHIFT_API SnapshotCopyGrant(const Aws::Utils::Xml::XmlNode& xmlNode);
39 AWS_REDSHIFT_API SnapshotCopyGrant& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
40
41 AWS_REDSHIFT_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
42 AWS_REDSHIFT_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
43
45
48 inline const Aws::String& GetSnapshotCopyGrantName() const { return m_snapshotCopyGrantName; }
49 inline bool SnapshotCopyGrantNameHasBeenSet() const { return m_snapshotCopyGrantNameHasBeenSet; }
50 template <typename SnapshotCopyGrantNameT = Aws::String>
51 void SetSnapshotCopyGrantName(SnapshotCopyGrantNameT&& value) {
52 m_snapshotCopyGrantNameHasBeenSet = true;
53 m_snapshotCopyGrantName = std::forward<SnapshotCopyGrantNameT>(value);
54 }
55 template <typename SnapshotCopyGrantNameT = Aws::String>
56 SnapshotCopyGrant& WithSnapshotCopyGrantName(SnapshotCopyGrantNameT&& value) {
57 SetSnapshotCopyGrantName(std::forward<SnapshotCopyGrantNameT>(value));
58 return *this;
59 }
61
63
67 inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; }
68 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
69 template <typename KmsKeyIdT = Aws::String>
70 void SetKmsKeyId(KmsKeyIdT&& value) {
71 m_kmsKeyIdHasBeenSet = true;
72 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
73 }
74 template <typename KmsKeyIdT = Aws::String>
75 SnapshotCopyGrant& WithKmsKeyId(KmsKeyIdT&& value) {
76 SetKmsKeyId(std::forward<KmsKeyIdT>(value));
77 return *this;
78 }
80
82
85 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
86 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
87 template <typename TagsT = Aws::Vector<Tag>>
88 void SetTags(TagsT&& value) {
89 m_tagsHasBeenSet = true;
90 m_tags = std::forward<TagsT>(value);
91 }
92 template <typename TagsT = Aws::Vector<Tag>>
93 SnapshotCopyGrant& WithTags(TagsT&& value) {
94 SetTags(std::forward<TagsT>(value));
95 return *this;
96 }
97 template <typename TagsT = Tag>
98 SnapshotCopyGrant& AddTags(TagsT&& value) {
99 m_tagsHasBeenSet = true;
100 m_tags.emplace_back(std::forward<TagsT>(value));
101 return *this;
102 }
104 private:
105 Aws::String m_snapshotCopyGrantName;
106
107 Aws::String m_kmsKeyId;
108
109 Aws::Vector<Tag> m_tags;
110 bool m_snapshotCopyGrantNameHasBeenSet = false;
111 bool m_kmsKeyIdHasBeenSet = false;
112 bool m_tagsHasBeenSet = false;
113};
114
115} // namespace Model
116} // namespace Redshift
117} // namespace Aws
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
SnapshotCopyGrant & AddTags(TagsT &&value)
AWS_REDSHIFT_API SnapshotCopyGrant(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::Vector< Tag > & GetTags() const
SnapshotCopyGrant & WithTags(TagsT &&value)
AWS_REDSHIFT_API SnapshotCopyGrant & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &oStream, const char *location) const
const Aws::String & GetKmsKeyId() const
SnapshotCopyGrant & WithKmsKeyId(KmsKeyIdT &&value)
AWS_REDSHIFT_API SnapshotCopyGrant()=default
void SetSnapshotCopyGrantName(SnapshotCopyGrantNameT &&value)
SnapshotCopyGrant & WithSnapshotCopyGrantName(SnapshotCopyGrantNameT &&value)
const Aws::String & GetSnapshotCopyGrantName() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream