AWS SDK for C++

AWS SDK for C++ Version 1.11.743

Loading...
Searching...
No Matches
Topic.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/datazone/DataZone_EXPORTS.h>
9#include <aws/datazone/model/NotificationResource.h>
10#include <aws/datazone/model/NotificationRole.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace DataZone {
22namespace Model {
23
29class Topic {
30 public:
31 AWS_DATAZONE_API Topic() = default;
32 AWS_DATAZONE_API Topic(Aws::Utils::Json::JsonView jsonValue);
33 AWS_DATAZONE_API Topic& operator=(Aws::Utils::Json::JsonView jsonValue);
34 AWS_DATAZONE_API Aws::Utils::Json::JsonValue Jsonize() const;
35
37
40 inline const Aws::String& GetSubject() const { return m_subject; }
41 inline bool SubjectHasBeenSet() const { return m_subjectHasBeenSet; }
42 template <typename SubjectT = Aws::String>
43 void SetSubject(SubjectT&& value) {
44 m_subjectHasBeenSet = true;
45 m_subject = std::forward<SubjectT>(value);
46 }
47 template <typename SubjectT = Aws::String>
48 Topic& WithSubject(SubjectT&& value) {
49 SetSubject(std::forward<SubjectT>(value));
50 return *this;
51 }
53
55
56 inline const NotificationResource& GetResource() const { return m_resource; }
57 inline bool ResourceHasBeenSet() const { return m_resourceHasBeenSet; }
58 template <typename ResourceT = NotificationResource>
59 void SetResource(ResourceT&& value) {
60 m_resourceHasBeenSet = true;
61 m_resource = std::forward<ResourceT>(value);
62 }
63 template <typename ResourceT = NotificationResource>
64 Topic& WithResource(ResourceT&& value) {
65 SetResource(std::forward<ResourceT>(value));
66 return *this;
67 }
69
71
74 inline NotificationRole GetRole() const { return m_role; }
75 inline bool RoleHasBeenSet() const { return m_roleHasBeenSet; }
76 inline void SetRole(NotificationRole value) {
77 m_roleHasBeenSet = true;
78 m_role = value;
79 }
81 SetRole(value);
82 return *this;
83 }
85 private:
86 Aws::String m_subject;
87
88 NotificationResource m_resource;
89
91 bool m_subjectHasBeenSet = false;
92 bool m_resourceHasBeenSet = false;
93 bool m_roleHasBeenSet = false;
94};
95
96} // namespace Model
97} // namespace DataZone
98} // namespace Aws
AWS_DATAZONE_API Topic()=default
AWS_DATAZONE_API Topic(Aws::Utils::Json::JsonView jsonValue)
const NotificationResource & GetResource() const
Definition Topic.h:56
void SetSubject(SubjectT &&value)
Definition Topic.h:43
Topic & WithSubject(SubjectT &&value)
Definition Topic.h:48
void SetResource(ResourceT &&value)
Definition Topic.h:59
AWS_DATAZONE_API Aws::Utils::Json::JsonValue Jsonize() const
Topic & WithResource(ResourceT &&value)
Definition Topic.h:64
AWS_DATAZONE_API Topic & operator=(Aws::Utils::Json::JsonView jsonValue)
Topic & WithRole(NotificationRole value)
Definition Topic.h:80
NotificationRole GetRole() const
Definition Topic.h:74
void SetRole(NotificationRole value)
Definition Topic.h:76
bool RoleHasBeenSet() const
Definition Topic.h:75
bool SubjectHasBeenSet() const
Definition Topic.h:41
bool ResourceHasBeenSet() const
Definition Topic.h:57
const Aws::String & GetSubject() const
Definition Topic.h:40
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue