AWS SDK for C++  0.12.9
AWS SDK for C++
ModifyDocumentPermissionRequest.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/ssm/SSM_EXPORTS.h>
17 #include <aws/ssm/SSMRequest.h>
21 
22 namespace Aws
23 {
24 namespace SSM
25 {
26 namespace Model
27 {
28 
32  {
33  public:
35  Aws::String SerializePayload() const override;
36 
37  Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
38 
42  inline const Aws::String& GetName() const{ return m_name; }
43 
47  inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
48 
52  inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = value; }
53 
57  inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
58 
62  inline ModifyDocumentPermissionRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
63 
67  inline ModifyDocumentPermissionRequest& WithName(Aws::String&& value) { SetName(value); return *this;}
68 
72  inline ModifyDocumentPermissionRequest& WithName(const char* value) { SetName(value); return *this;}
73 
78  inline const DocumentPermissionType& GetPermissionType() const{ return m_permissionType; }
79 
84  inline void SetPermissionType(const DocumentPermissionType& value) { m_permissionTypeHasBeenSet = true; m_permissionType = value; }
85 
90  inline void SetPermissionType(DocumentPermissionType&& value) { m_permissionTypeHasBeenSet = true; m_permissionType = value; }
91 
96  inline ModifyDocumentPermissionRequest& WithPermissionType(const DocumentPermissionType& value) { SetPermissionType(value); return *this;}
97 
102  inline ModifyDocumentPermissionRequest& WithPermissionType(DocumentPermissionType&& value) { SetPermissionType(value); return *this;}
103 
108  inline const Aws::Vector<Aws::String>& GetAccountIdsToAdd() const{ return m_accountIdsToAdd; }
109 
114  inline void SetAccountIdsToAdd(const Aws::Vector<Aws::String>& value) { m_accountIdsToAddHasBeenSet = true; m_accountIdsToAdd = value; }
115 
120  inline void SetAccountIdsToAdd(Aws::Vector<Aws::String>&& value) { m_accountIdsToAddHasBeenSet = true; m_accountIdsToAdd = value; }
121 
126  inline ModifyDocumentPermissionRequest& WithAccountIdsToAdd(const Aws::Vector<Aws::String>& value) { SetAccountIdsToAdd(value); return *this;}
127 
132  inline ModifyDocumentPermissionRequest& WithAccountIdsToAdd(Aws::Vector<Aws::String>&& value) { SetAccountIdsToAdd(value); return *this;}
133 
138  inline ModifyDocumentPermissionRequest& AddAccountIdsToAdd(const Aws::String& value) { m_accountIdsToAddHasBeenSet = true; m_accountIdsToAdd.push_back(value); return *this; }
139 
144  inline ModifyDocumentPermissionRequest& AddAccountIdsToAdd(Aws::String&& value) { m_accountIdsToAddHasBeenSet = true; m_accountIdsToAdd.push_back(value); return *this; }
145 
150  inline ModifyDocumentPermissionRequest& AddAccountIdsToAdd(const char* value) { m_accountIdsToAddHasBeenSet = true; m_accountIdsToAdd.push_back(value); return *this; }
151 
158  inline const Aws::Vector<Aws::String>& GetAccountIdsToRemove() const{ return m_accountIdsToRemove; }
159 
166  inline void SetAccountIdsToRemove(const Aws::Vector<Aws::String>& value) { m_accountIdsToRemoveHasBeenSet = true; m_accountIdsToRemove = value; }
167 
174  inline void SetAccountIdsToRemove(Aws::Vector<Aws::String>&& value) { m_accountIdsToRemoveHasBeenSet = true; m_accountIdsToRemove = value; }
175 
182  inline ModifyDocumentPermissionRequest& WithAccountIdsToRemove(const Aws::Vector<Aws::String>& value) { SetAccountIdsToRemove(value); return *this;}
183 
190  inline ModifyDocumentPermissionRequest& WithAccountIdsToRemove(Aws::Vector<Aws::String>&& value) { SetAccountIdsToRemove(value); return *this;}
191 
198  inline ModifyDocumentPermissionRequest& AddAccountIdsToRemove(const Aws::String& value) { m_accountIdsToRemoveHasBeenSet = true; m_accountIdsToRemove.push_back(value); return *this; }
199 
206  inline ModifyDocumentPermissionRequest& AddAccountIdsToRemove(Aws::String&& value) { m_accountIdsToRemoveHasBeenSet = true; m_accountIdsToRemove.push_back(value); return *this; }
207 
214  inline ModifyDocumentPermissionRequest& AddAccountIdsToRemove(const char* value) { m_accountIdsToRemoveHasBeenSet = true; m_accountIdsToRemove.push_back(value); return *this; }
215 
216  private:
217  Aws::String m_name;
218  bool m_nameHasBeenSet;
219  DocumentPermissionType m_permissionType;
220  bool m_permissionTypeHasBeenSet;
221  Aws::Vector<Aws::String> m_accountIdsToAdd;
222  bool m_accountIdsToAddHasBeenSet;
223  Aws::Vector<Aws::String> m_accountIdsToRemove;
224  bool m_accountIdsToRemoveHasBeenSet;
225  };
226 
227 } // namespace Model
228 } // namespace SSM
229 } // namespace Aws
ModifyDocumentPermissionRequest & AddAccountIdsToAdd(Aws::String &&value)
void SetAccountIdsToRemove(Aws::Vector< Aws::String > &&value)
const Aws::Vector< Aws::String > & GetAccountIdsToRemove() const
void SetPermissionType(const DocumentPermissionType &value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
Definition: HttpTypes.h:63
ModifyDocumentPermissionRequest & WithName(const char *value)
ModifyDocumentPermissionRequest & WithAccountIdsToAdd(const Aws::Vector< Aws::String > &value)
ModifyDocumentPermissionRequest & WithAccountIdsToRemove(Aws::Vector< Aws::String > &&value)
void SetAccountIdsToRemove(const Aws::Vector< Aws::String > &value)
ModifyDocumentPermissionRequest & WithAccountIdsToRemove(const Aws::Vector< Aws::String > &value)
ModifyDocumentPermissionRequest & WithName(const Aws::String &value)
const Aws::Vector< Aws::String > & GetAccountIdsToAdd() const
const DocumentPermissionType & GetPermissionType() const
ModifyDocumentPermissionRequest & WithName(Aws::String &&value)
ModifyDocumentPermissionRequest & WithAccountIdsToAdd(Aws::Vector< Aws::String > &&value)
ModifyDocumentPermissionRequest & WithPermissionType(const DocumentPermissionType &value)
ModifyDocumentPermissionRequest & AddAccountIdsToRemove(const Aws::String &value)
ModifyDocumentPermissionRequest & AddAccountIdsToAdd(const Aws::String &value)
ModifyDocumentPermissionRequest & AddAccountIdsToRemove(const char *value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
ModifyDocumentPermissionRequest & AddAccountIdsToAdd(const char *value)
void SetAccountIdsToAdd(const Aws::Vector< Aws::String > &value)
#define AWS_SSM_API
Definition: SSM_EXPORTS.h:34
void SetAccountIdsToAdd(Aws::Vector< Aws::String > &&value)
ModifyDocumentPermissionRequest & AddAccountIdsToRemove(Aws::String &&value)
JSON (JavaScript Object Notation).
ModifyDocumentPermissionRequest & WithPermissionType(DocumentPermissionType &&value)