AWS SDK for C++

AWS SDK for C++ Version 1.11.750

Loading...
Searching...
No Matches
AddPermissionRequest.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/sns/SNSRequest.h>
10#include <aws/sns/SNS_EXPORTS.h>
11
12#include <utility>
13
14namespace Aws {
15namespace SNS {
16namespace Model {
17
21 public:
22 AWS_SNS_API AddPermissionRequest() = default;
23
24 // Service request name is the Operation name which will send this request out,
25 // each operation should has unique request name, so that we can get operation's name from this request.
26 // Note: this is not true for response, multiple operations may have the same response name,
27 // so we can not get operation's name from response.
28 inline virtual const char* GetServiceRequestName() const override { return "AddPermission"; }
29
30 AWS_SNS_API Aws::String SerializePayload() const override;
31
32 protected:
33 AWS_SNS_API void DumpBodyToUrl(Aws::Http::URI& uri) const override;
34
35 public:
37
40 inline const Aws::String& GetTopicArn() const { return m_topicArn; }
41 inline bool TopicArnHasBeenSet() const { return m_topicArnHasBeenSet; }
42 template <typename TopicArnT = Aws::String>
43 void SetTopicArn(TopicArnT&& value) {
44 m_topicArnHasBeenSet = true;
45 m_topicArn = std::forward<TopicArnT>(value);
46 }
47 template <typename TopicArnT = Aws::String>
48 AddPermissionRequest& WithTopicArn(TopicArnT&& value) {
49 SetTopicArn(std::forward<TopicArnT>(value));
50 return *this;
51 }
53
55
58 inline const Aws::String& GetLabel() const { return m_label; }
59 inline bool LabelHasBeenSet() const { return m_labelHasBeenSet; }
60 template <typename LabelT = Aws::String>
61 void SetLabel(LabelT&& value) {
62 m_labelHasBeenSet = true;
63 m_label = std::forward<LabelT>(value);
64 }
65 template <typename LabelT = Aws::String>
67 SetLabel(std::forward<LabelT>(value));
68 return *this;
69 }
71
73
78 inline const Aws::Vector<Aws::String>& GetAWSAccountId() const { return m_aWSAccountId; }
79 inline bool AWSAccountIdHasBeenSet() const { return m_aWSAccountIdHasBeenSet; }
80 template <typename AWSAccountIdT = Aws::Vector<Aws::String>>
81 void SetAWSAccountId(AWSAccountIdT&& value) {
82 m_aWSAccountIdHasBeenSet = true;
83 m_aWSAccountId = std::forward<AWSAccountIdT>(value);
84 }
85 template <typename AWSAccountIdT = Aws::Vector<Aws::String>>
86 AddPermissionRequest& WithAWSAccountId(AWSAccountIdT&& value) {
87 SetAWSAccountId(std::forward<AWSAccountIdT>(value));
88 return *this;
89 }
90 template <typename AWSAccountIdT = Aws::String>
91 AddPermissionRequest& AddAWSAccountId(AWSAccountIdT&& value) {
92 m_aWSAccountIdHasBeenSet = true;
93 m_aWSAccountId.emplace_back(std::forward<AWSAccountIdT>(value));
94 return *this;
95 }
97
99
103 inline const Aws::Vector<Aws::String>& GetActionName() const { return m_actionName; }
104 inline bool ActionNameHasBeenSet() const { return m_actionNameHasBeenSet; }
105 template <typename ActionNameT = Aws::Vector<Aws::String>>
106 void SetActionName(ActionNameT&& value) {
107 m_actionNameHasBeenSet = true;
108 m_actionName = std::forward<ActionNameT>(value);
109 }
110 template <typename ActionNameT = Aws::Vector<Aws::String>>
111 AddPermissionRequest& WithActionName(ActionNameT&& value) {
112 SetActionName(std::forward<ActionNameT>(value));
113 return *this;
114 }
115 template <typename ActionNameT = Aws::String>
116 AddPermissionRequest& AddActionName(ActionNameT&& value) {
117 m_actionNameHasBeenSet = true;
118 m_actionName.emplace_back(std::forward<ActionNameT>(value));
119 return *this;
120 }
122 private:
123 Aws::String m_topicArn;
124
125 Aws::String m_label;
126
127 Aws::Vector<Aws::String> m_aWSAccountId;
128
129 Aws::Vector<Aws::String> m_actionName;
130 bool m_topicArnHasBeenSet = false;
131 bool m_labelHasBeenSet = false;
132 bool m_aWSAccountIdHasBeenSet = false;
133 bool m_actionNameHasBeenSet = false;
134};
135
136} // namespace Model
137} // namespace SNS
138} // namespace Aws
AddPermissionRequest & WithLabel(LabelT &&value)
AWS_SNS_API AddPermissionRequest()=default
const Aws::String & GetTopicArn() const
AWS_SNS_API Aws::String SerializePayload() const override
AddPermissionRequest & WithActionName(ActionNameT &&value)
AddPermissionRequest & WithTopicArn(TopicArnT &&value)
void SetAWSAccountId(AWSAccountIdT &&value)
const Aws::Vector< Aws::String > & GetActionName() const
AddPermissionRequest & WithAWSAccountId(AWSAccountIdT &&value)
const Aws::Vector< Aws::String > & GetAWSAccountId() const
AddPermissionRequest & AddAWSAccountId(AWSAccountIdT &&value)
AddPermissionRequest & AddActionName(ActionNameT &&value)
virtual const char * GetServiceRequestName() const override
AWS_SNS_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector