AWS SDK for C++  0.14.3
AWS SDK for C++
AddPermissionRequest.h
Go to the documentation of this file.
1 /*
2 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License").
5 * You may not use this file except in compliance with the License.
6 * A copy of the License is located at
7 *
8 * http://aws.amazon.com/apache2.0
9 *
10 * or in the "license" file accompanying this file. This file is distributed
11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12 * express or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15 #pragma once
16 #include <aws/sns/SNS_EXPORTS.h>
17 #include <aws/sns/SNSRequest.h>
20 
21 namespace Aws
22 {
23 namespace SNS
24 {
25 namespace Model
26 {
27 
31  {
32  public:
34  Aws::String SerializePayload() const override;
35 
39  inline const Aws::String& GetTopicArn() const{ return m_topicArn; }
40 
44  inline void SetTopicArn(const Aws::String& value) { m_topicArnHasBeenSet = true; m_topicArn = value; }
45 
49  inline void SetTopicArn(Aws::String&& value) { m_topicArnHasBeenSet = true; m_topicArn = value; }
50 
54  inline void SetTopicArn(const char* value) { m_topicArnHasBeenSet = true; m_topicArn.assign(value); }
55 
59  inline AddPermissionRequest& WithTopicArn(const Aws::String& value) { SetTopicArn(value); return *this;}
60 
64  inline AddPermissionRequest& WithTopicArn(Aws::String&& value) { SetTopicArn(value); return *this;}
65 
69  inline AddPermissionRequest& WithTopicArn(const char* value) { SetTopicArn(value); return *this;}
70 
74  inline const Aws::String& GetLabel() const{ return m_label; }
75 
79  inline void SetLabel(const Aws::String& value) { m_labelHasBeenSet = true; m_label = value; }
80 
84  inline void SetLabel(Aws::String&& value) { m_labelHasBeenSet = true; m_label = value; }
85 
89  inline void SetLabel(const char* value) { m_labelHasBeenSet = true; m_label.assign(value); }
90 
94  inline AddPermissionRequest& WithLabel(const Aws::String& value) { SetLabel(value); return *this;}
95 
99  inline AddPermissionRequest& WithLabel(Aws::String&& value) { SetLabel(value); return *this;}
100 
104  inline AddPermissionRequest& WithLabel(const char* value) { SetLabel(value); return *this;}
105 
111  inline const Aws::Vector<Aws::String>& GetAWSAccountId() const{ return m_aWSAccountId; }
112 
118  inline void SetAWSAccountId(const Aws::Vector<Aws::String>& value) { m_aWSAccountIdHasBeenSet = true; m_aWSAccountId = value; }
119 
125  inline void SetAWSAccountId(Aws::Vector<Aws::String>&& value) { m_aWSAccountIdHasBeenSet = true; m_aWSAccountId = value; }
126 
132  inline AddPermissionRequest& WithAWSAccountId(const Aws::Vector<Aws::String>& value) { SetAWSAccountId(value); return *this;}
133 
139  inline AddPermissionRequest& WithAWSAccountId(Aws::Vector<Aws::String>&& value) { SetAWSAccountId(value); return *this;}
140 
146  inline AddPermissionRequest& AddAWSAccountId(const Aws::String& value) { m_aWSAccountIdHasBeenSet = true; m_aWSAccountId.push_back(value); return *this; }
147 
153  inline AddPermissionRequest& AddAWSAccountId(Aws::String&& value) { m_aWSAccountIdHasBeenSet = true; m_aWSAccountId.push_back(value); return *this; }
154 
160  inline AddPermissionRequest& AddAWSAccountId(const char* value) { m_aWSAccountIdHasBeenSet = true; m_aWSAccountId.push_back(value); return *this; }
161 
166  inline const Aws::Vector<Aws::String>& GetActionName() const{ return m_actionName; }
167 
172  inline void SetActionName(const Aws::Vector<Aws::String>& value) { m_actionNameHasBeenSet = true; m_actionName = value; }
173 
178  inline void SetActionName(Aws::Vector<Aws::String>&& value) { m_actionNameHasBeenSet = true; m_actionName = value; }
179 
184  inline AddPermissionRequest& WithActionName(const Aws::Vector<Aws::String>& value) { SetActionName(value); return *this;}
185 
190  inline AddPermissionRequest& WithActionName(Aws::Vector<Aws::String>&& value) { SetActionName(value); return *this;}
191 
196  inline AddPermissionRequest& AddActionName(const Aws::String& value) { m_actionNameHasBeenSet = true; m_actionName.push_back(value); return *this; }
197 
202  inline AddPermissionRequest& AddActionName(Aws::String&& value) { m_actionNameHasBeenSet = true; m_actionName.push_back(value); return *this; }
203 
208  inline AddPermissionRequest& AddActionName(const char* value) { m_actionNameHasBeenSet = true; m_actionName.push_back(value); return *this; }
209 
210  private:
211  Aws::String m_topicArn;
212  bool m_topicArnHasBeenSet;
213  Aws::String m_label;
214  bool m_labelHasBeenSet;
215  Aws::Vector<Aws::String> m_aWSAccountId;
216  bool m_aWSAccountIdHasBeenSet;
217  Aws::Vector<Aws::String> m_actionName;
218  bool m_actionNameHasBeenSet;
219  };
220 
221 } // namespace Model
222 } // namespace SNS
223 } // namespace Aws
AddPermissionRequest & AddActionName(const Aws::String &value)
AddPermissionRequest & AddAWSAccountId(Aws::String &&value)
const Aws::Vector< Aws::String > & GetAWSAccountId() const
void SetLabel(const Aws::String &value)
void SetAWSAccountId(Aws::Vector< Aws::String > &&value)
AddPermissionRequest & WithAWSAccountId(const Aws::Vector< Aws::String > &value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
AddPermissionRequest & AddAWSAccountId(const Aws::String &value)
AddPermissionRequest & WithTopicArn(const Aws::String &value)
const Aws::String & GetTopicArn() const
AddPermissionRequest & AddAWSAccountId(const char *value)
void SetActionName(const Aws::Vector< Aws::String > &value)
const Aws::String & GetLabel() const
AddPermissionRequest & WithLabel(const char *value)
AddPermissionRequest & WithAWSAccountId(Aws::Vector< Aws::String > &&value)
AddPermissionRequest & WithTopicArn(Aws::String &&value)
AddPermissionRequest & AddActionName(const char *value)
AddPermissionRequest & WithTopicArn(const char *value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
AddPermissionRequest & WithLabel(const Aws::String &value)
#define AWS_SNS_API
Definition: SNS_EXPORTS.h:37
void SetActionName(Aws::Vector< Aws::String > &&value)
AddPermissionRequest & AddActionName(Aws::String &&value)
void SetTopicArn(const Aws::String &value)
const Aws::Vector< Aws::String > & GetActionName() const
AddPermissionRequest & WithActionName(Aws::Vector< Aws::String > &&value)
AddPermissionRequest & WithLabel(Aws::String &&value)
AddPermissionRequest & WithActionName(const Aws::Vector< Aws::String > &value)
void SetAWSAccountId(const Aws::Vector< Aws::String > &value)
JSON (JavaScript Object Notation).