1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/quicksight/QuickSight_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/quicksight/model/AssignmentStatus.h> 10 #include <aws/core/utils/memory/stl/AWSMap.h> 11 #include <aws/core/utils/memory/stl/AWSVector.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 template<typename RESULT_TYPE> 17 class AmazonWebServiceResult; 18 19 namespace Utils 20 { 21 namespace Json 22 { 23 class JsonValue; 24 } // namespace Json 25 } // namespace Utils 26 namespace QuickSight 27 { 28 namespace Model 29 { 30 class AWS_QUICKSIGHT_API CreateIAMPolicyAssignmentResult 31 { 32 public: 33 CreateIAMPolicyAssignmentResult(); 34 CreateIAMPolicyAssignmentResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 35 CreateIAMPolicyAssignmentResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 36 37 38 /** 39 * <p>The name of the assignment. This name must be unique within the Amazon Web 40 * Services account.</p> 41 */ GetAssignmentName()42 inline const Aws::String& GetAssignmentName() const{ return m_assignmentName; } 43 44 /** 45 * <p>The name of the assignment. This name must be unique within the Amazon Web 46 * Services account.</p> 47 */ SetAssignmentName(const Aws::String & value)48 inline void SetAssignmentName(const Aws::String& value) { m_assignmentName = value; } 49 50 /** 51 * <p>The name of the assignment. This name must be unique within the Amazon Web 52 * Services account.</p> 53 */ SetAssignmentName(Aws::String && value)54 inline void SetAssignmentName(Aws::String&& value) { m_assignmentName = std::move(value); } 55 56 /** 57 * <p>The name of the assignment. This name must be unique within the Amazon Web 58 * Services account.</p> 59 */ SetAssignmentName(const char * value)60 inline void SetAssignmentName(const char* value) { m_assignmentName.assign(value); } 61 62 /** 63 * <p>The name of the assignment. This name must be unique within the Amazon Web 64 * Services account.</p> 65 */ WithAssignmentName(const Aws::String & value)66 inline CreateIAMPolicyAssignmentResult& WithAssignmentName(const Aws::String& value) { SetAssignmentName(value); return *this;} 67 68 /** 69 * <p>The name of the assignment. This name must be unique within the Amazon Web 70 * Services account.</p> 71 */ WithAssignmentName(Aws::String && value)72 inline CreateIAMPolicyAssignmentResult& WithAssignmentName(Aws::String&& value) { SetAssignmentName(std::move(value)); return *this;} 73 74 /** 75 * <p>The name of the assignment. This name must be unique within the Amazon Web 76 * Services account.</p> 77 */ WithAssignmentName(const char * value)78 inline CreateIAMPolicyAssignmentResult& WithAssignmentName(const char* value) { SetAssignmentName(value); return *this;} 79 80 81 /** 82 * <p>The ID for the assignment.</p> 83 */ GetAssignmentId()84 inline const Aws::String& GetAssignmentId() const{ return m_assignmentId; } 85 86 /** 87 * <p>The ID for the assignment.</p> 88 */ SetAssignmentId(const Aws::String & value)89 inline void SetAssignmentId(const Aws::String& value) { m_assignmentId = value; } 90 91 /** 92 * <p>The ID for the assignment.</p> 93 */ SetAssignmentId(Aws::String && value)94 inline void SetAssignmentId(Aws::String&& value) { m_assignmentId = std::move(value); } 95 96 /** 97 * <p>The ID for the assignment.</p> 98 */ SetAssignmentId(const char * value)99 inline void SetAssignmentId(const char* value) { m_assignmentId.assign(value); } 100 101 /** 102 * <p>The ID for the assignment.</p> 103 */ WithAssignmentId(const Aws::String & value)104 inline CreateIAMPolicyAssignmentResult& WithAssignmentId(const Aws::String& value) { SetAssignmentId(value); return *this;} 105 106 /** 107 * <p>The ID for the assignment.</p> 108 */ WithAssignmentId(Aws::String && value)109 inline CreateIAMPolicyAssignmentResult& WithAssignmentId(Aws::String&& value) { SetAssignmentId(std::move(value)); return *this;} 110 111 /** 112 * <p>The ID for the assignment.</p> 113 */ WithAssignmentId(const char * value)114 inline CreateIAMPolicyAssignmentResult& WithAssignmentId(const char* value) { SetAssignmentId(value); return *this;} 115 116 117 /** 118 * <p>The status of the assignment. Possible values are as follows:</p> <ul> <li> 119 * <p> <code>ENABLED</code> - Anything specified in this assignment is used when 120 * creating the data source.</p> </li> <li> <p> <code>DISABLED</code> - This 121 * assignment isn't used when creating the data source.</p> </li> <li> <p> 122 * <code>DRAFT</code> - This assignment is an unfinished draft and isn't used when 123 * creating the data source.</p> </li> </ul> 124 */ GetAssignmentStatus()125 inline const AssignmentStatus& GetAssignmentStatus() const{ return m_assignmentStatus; } 126 127 /** 128 * <p>The status of the assignment. Possible values are as follows:</p> <ul> <li> 129 * <p> <code>ENABLED</code> - Anything specified in this assignment is used when 130 * creating the data source.</p> </li> <li> <p> <code>DISABLED</code> - This 131 * assignment isn't used when creating the data source.</p> </li> <li> <p> 132 * <code>DRAFT</code> - This assignment is an unfinished draft and isn't used when 133 * creating the data source.</p> </li> </ul> 134 */ SetAssignmentStatus(const AssignmentStatus & value)135 inline void SetAssignmentStatus(const AssignmentStatus& value) { m_assignmentStatus = value; } 136 137 /** 138 * <p>The status of the assignment. Possible values are as follows:</p> <ul> <li> 139 * <p> <code>ENABLED</code> - Anything specified in this assignment is used when 140 * creating the data source.</p> </li> <li> <p> <code>DISABLED</code> - This 141 * assignment isn't used when creating the data source.</p> </li> <li> <p> 142 * <code>DRAFT</code> - This assignment is an unfinished draft and isn't used when 143 * creating the data source.</p> </li> </ul> 144 */ SetAssignmentStatus(AssignmentStatus && value)145 inline void SetAssignmentStatus(AssignmentStatus&& value) { m_assignmentStatus = std::move(value); } 146 147 /** 148 * <p>The status of the assignment. Possible values are as follows:</p> <ul> <li> 149 * <p> <code>ENABLED</code> - Anything specified in this assignment is used when 150 * creating the data source.</p> </li> <li> <p> <code>DISABLED</code> - This 151 * assignment isn't used when creating the data source.</p> </li> <li> <p> 152 * <code>DRAFT</code> - This assignment is an unfinished draft and isn't used when 153 * creating the data source.</p> </li> </ul> 154 */ WithAssignmentStatus(const AssignmentStatus & value)155 inline CreateIAMPolicyAssignmentResult& WithAssignmentStatus(const AssignmentStatus& value) { SetAssignmentStatus(value); return *this;} 156 157 /** 158 * <p>The status of the assignment. Possible values are as follows:</p> <ul> <li> 159 * <p> <code>ENABLED</code> - Anything specified in this assignment is used when 160 * creating the data source.</p> </li> <li> <p> <code>DISABLED</code> - This 161 * assignment isn't used when creating the data source.</p> </li> <li> <p> 162 * <code>DRAFT</code> - This assignment is an unfinished draft and isn't used when 163 * creating the data source.</p> </li> </ul> 164 */ WithAssignmentStatus(AssignmentStatus && value)165 inline CreateIAMPolicyAssignmentResult& WithAssignmentStatus(AssignmentStatus&& value) { SetAssignmentStatus(std::move(value)); return *this;} 166 167 168 /** 169 * <p>The ARN for the IAMpolicy that is applied to the Amazon QuickSight users and 170 * groups specified in this assignment.</p> 171 */ GetPolicyArn()172 inline const Aws::String& GetPolicyArn() const{ return m_policyArn; } 173 174 /** 175 * <p>The ARN for the IAMpolicy that is applied to the Amazon QuickSight users and 176 * groups specified in this assignment.</p> 177 */ SetPolicyArn(const Aws::String & value)178 inline void SetPolicyArn(const Aws::String& value) { m_policyArn = value; } 179 180 /** 181 * <p>The ARN for the IAMpolicy that is applied to the Amazon QuickSight users and 182 * groups specified in this assignment.</p> 183 */ SetPolicyArn(Aws::String && value)184 inline void SetPolicyArn(Aws::String&& value) { m_policyArn = std::move(value); } 185 186 /** 187 * <p>The ARN for the IAMpolicy that is applied to the Amazon QuickSight users and 188 * groups specified in this assignment.</p> 189 */ SetPolicyArn(const char * value)190 inline void SetPolicyArn(const char* value) { m_policyArn.assign(value); } 191 192 /** 193 * <p>The ARN for the IAMpolicy that is applied to the Amazon QuickSight users and 194 * groups specified in this assignment.</p> 195 */ WithPolicyArn(const Aws::String & value)196 inline CreateIAMPolicyAssignmentResult& WithPolicyArn(const Aws::String& value) { SetPolicyArn(value); return *this;} 197 198 /** 199 * <p>The ARN for the IAMpolicy that is applied to the Amazon QuickSight users and 200 * groups specified in this assignment.</p> 201 */ WithPolicyArn(Aws::String && value)202 inline CreateIAMPolicyAssignmentResult& WithPolicyArn(Aws::String&& value) { SetPolicyArn(std::move(value)); return *this;} 203 204 /** 205 * <p>The ARN for the IAMpolicy that is applied to the Amazon QuickSight users and 206 * groups specified in this assignment.</p> 207 */ WithPolicyArn(const char * value)208 inline CreateIAMPolicyAssignmentResult& WithPolicyArn(const char* value) { SetPolicyArn(value); return *this;} 209 210 211 /** 212 * <p>The Amazon QuickSight users, groups, or both that the IAMpolicy is assigned 213 * to.</p> 214 */ GetIdentities()215 inline const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& GetIdentities() const{ return m_identities; } 216 217 /** 218 * <p>The Amazon QuickSight users, groups, or both that the IAMpolicy is assigned 219 * to.</p> 220 */ SetIdentities(const Aws::Map<Aws::String,Aws::Vector<Aws::String>> & value)221 inline void SetIdentities(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { m_identities = value; } 222 223 /** 224 * <p>The Amazon QuickSight users, groups, or both that the IAMpolicy is assigned 225 * to.</p> 226 */ SetIdentities(Aws::Map<Aws::String,Aws::Vector<Aws::String>> && value)227 inline void SetIdentities(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { m_identities = std::move(value); } 228 229 /** 230 * <p>The Amazon QuickSight users, groups, or both that the IAMpolicy is assigned 231 * to.</p> 232 */ WithIdentities(const Aws::Map<Aws::String,Aws::Vector<Aws::String>> & value)233 inline CreateIAMPolicyAssignmentResult& WithIdentities(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { SetIdentities(value); return *this;} 234 235 /** 236 * <p>The Amazon QuickSight users, groups, or both that the IAMpolicy is assigned 237 * to.</p> 238 */ WithIdentities(Aws::Map<Aws::String,Aws::Vector<Aws::String>> && value)239 inline CreateIAMPolicyAssignmentResult& WithIdentities(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { SetIdentities(std::move(value)); return *this;} 240 241 /** 242 * <p>The Amazon QuickSight users, groups, or both that the IAMpolicy is assigned 243 * to.</p> 244 */ AddIdentities(const Aws::String & key,const Aws::Vector<Aws::String> & value)245 inline CreateIAMPolicyAssignmentResult& AddIdentities(const Aws::String& key, const Aws::Vector<Aws::String>& value) { m_identities.emplace(key, value); return *this; } 246 247 /** 248 * <p>The Amazon QuickSight users, groups, or both that the IAMpolicy is assigned 249 * to.</p> 250 */ AddIdentities(Aws::String && key,const Aws::Vector<Aws::String> & value)251 inline CreateIAMPolicyAssignmentResult& AddIdentities(Aws::String&& key, const Aws::Vector<Aws::String>& value) { m_identities.emplace(std::move(key), value); return *this; } 252 253 /** 254 * <p>The Amazon QuickSight users, groups, or both that the IAMpolicy is assigned 255 * to.</p> 256 */ AddIdentities(const Aws::String & key,Aws::Vector<Aws::String> && value)257 inline CreateIAMPolicyAssignmentResult& AddIdentities(const Aws::String& key, Aws::Vector<Aws::String>&& value) { m_identities.emplace(key, std::move(value)); return *this; } 258 259 /** 260 * <p>The Amazon QuickSight users, groups, or both that the IAMpolicy is assigned 261 * to.</p> 262 */ AddIdentities(Aws::String && key,Aws::Vector<Aws::String> && value)263 inline CreateIAMPolicyAssignmentResult& AddIdentities(Aws::String&& key, Aws::Vector<Aws::String>&& value) { m_identities.emplace(std::move(key), std::move(value)); return *this; } 264 265 /** 266 * <p>The Amazon QuickSight users, groups, or both that the IAMpolicy is assigned 267 * to.</p> 268 */ AddIdentities(const char * key,Aws::Vector<Aws::String> && value)269 inline CreateIAMPolicyAssignmentResult& AddIdentities(const char* key, Aws::Vector<Aws::String>&& value) { m_identities.emplace(key, std::move(value)); return *this; } 270 271 /** 272 * <p>The Amazon QuickSight users, groups, or both that the IAMpolicy is assigned 273 * to.</p> 274 */ AddIdentities(const char * key,const Aws::Vector<Aws::String> & value)275 inline CreateIAMPolicyAssignmentResult& AddIdentities(const char* key, const Aws::Vector<Aws::String>& value) { m_identities.emplace(key, value); return *this; } 276 277 278 /** 279 * <p>The Amazon Web Services request ID for this operation.</p> 280 */ GetRequestId()281 inline const Aws::String& GetRequestId() const{ return m_requestId; } 282 283 /** 284 * <p>The Amazon Web Services request ID for this operation.</p> 285 */ SetRequestId(const Aws::String & value)286 inline void SetRequestId(const Aws::String& value) { m_requestId = value; } 287 288 /** 289 * <p>The Amazon Web Services request ID for this operation.</p> 290 */ SetRequestId(Aws::String && value)291 inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } 292 293 /** 294 * <p>The Amazon Web Services request ID for this operation.</p> 295 */ SetRequestId(const char * value)296 inline void SetRequestId(const char* value) { m_requestId.assign(value); } 297 298 /** 299 * <p>The Amazon Web Services request ID for this operation.</p> 300 */ WithRequestId(const Aws::String & value)301 inline CreateIAMPolicyAssignmentResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} 302 303 /** 304 * <p>The Amazon Web Services request ID for this operation.</p> 305 */ WithRequestId(Aws::String && value)306 inline CreateIAMPolicyAssignmentResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} 307 308 /** 309 * <p>The Amazon Web Services request ID for this operation.</p> 310 */ WithRequestId(const char * value)311 inline CreateIAMPolicyAssignmentResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} 312 313 314 /** 315 * <p>The HTTP status of the request.</p> 316 */ GetStatus()317 inline int GetStatus() const{ return m_status; } 318 319 /** 320 * <p>The HTTP status of the request.</p> 321 */ SetStatus(int value)322 inline void SetStatus(int value) { m_status = value; } 323 324 /** 325 * <p>The HTTP status of the request.</p> 326 */ WithStatus(int value)327 inline CreateIAMPolicyAssignmentResult& WithStatus(int value) { SetStatus(value); return *this;} 328 329 private: 330 331 Aws::String m_assignmentName; 332 333 Aws::String m_assignmentId; 334 335 AssignmentStatus m_assignmentStatus; 336 337 Aws::String m_policyArn; 338 339 Aws::Map<Aws::String, Aws::Vector<Aws::String>> m_identities; 340 341 Aws::String m_requestId; 342 343 int m_status; 344 }; 345 346 } // namespace Model 347 } // namespace QuickSight 348 } // namespace Aws 349