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/sso-admin/SSOAdmin_EXPORTS.h> 8 #include <aws/sso-admin/model/StatusValues.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/sso-admin/model/TargetType.h> 11 #include <aws/sso-admin/model/PrincipalType.h> 12 #include <aws/core/utils/DateTime.h> 13 #include <utility> 14 15 namespace Aws 16 { 17 namespace Utils 18 { 19 namespace Json 20 { 21 class JsonValue; 22 class JsonView; 23 } // namespace Json 24 } // namespace Utils 25 namespace SSOAdmin 26 { 27 namespace Model 28 { 29 30 /** 31 * <p>The status of the creation or deletion operation of an assignment that a 32 * principal needs to access an account.</p><p><h3>See Also:</h3> <a 33 * href="http://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/AccountAssignmentOperationStatus">AWS 34 * API Reference</a></p> 35 */ 36 class AWS_SSOADMIN_API AccountAssignmentOperationStatus 37 { 38 public: 39 AccountAssignmentOperationStatus(); 40 AccountAssignmentOperationStatus(Aws::Utils::Json::JsonView jsonValue); 41 AccountAssignmentOperationStatus& operator=(Aws::Utils::Json::JsonView jsonValue); 42 Aws::Utils::Json::JsonValue Jsonize() const; 43 44 45 /** 46 * <p>The status of the permission set provisioning process.</p> 47 */ GetStatus()48 inline const StatusValues& GetStatus() const{ return m_status; } 49 50 /** 51 * <p>The status of the permission set provisioning process.</p> 52 */ StatusHasBeenSet()53 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } 54 55 /** 56 * <p>The status of the permission set provisioning process.</p> 57 */ SetStatus(const StatusValues & value)58 inline void SetStatus(const StatusValues& value) { m_statusHasBeenSet = true; m_status = value; } 59 60 /** 61 * <p>The status of the permission set provisioning process.</p> 62 */ SetStatus(StatusValues && value)63 inline void SetStatus(StatusValues&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } 64 65 /** 66 * <p>The status of the permission set provisioning process.</p> 67 */ WithStatus(const StatusValues & value)68 inline AccountAssignmentOperationStatus& WithStatus(const StatusValues& value) { SetStatus(value); return *this;} 69 70 /** 71 * <p>The status of the permission set provisioning process.</p> 72 */ WithStatus(StatusValues && value)73 inline AccountAssignmentOperationStatus& WithStatus(StatusValues&& value) { SetStatus(std::move(value)); return *this;} 74 75 76 /** 77 * <p>The identifier for tracking the request operation that is generated by the 78 * universally unique identifier (UUID) workflow.</p> 79 */ GetRequestId()80 inline const Aws::String& GetRequestId() const{ return m_requestId; } 81 82 /** 83 * <p>The identifier for tracking the request operation that is generated by the 84 * universally unique identifier (UUID) workflow.</p> 85 */ RequestIdHasBeenSet()86 inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } 87 88 /** 89 * <p>The identifier for tracking the request operation that is generated by the 90 * universally unique identifier (UUID) workflow.</p> 91 */ SetRequestId(const Aws::String & value)92 inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } 93 94 /** 95 * <p>The identifier for tracking the request operation that is generated by the 96 * universally unique identifier (UUID) workflow.</p> 97 */ SetRequestId(Aws::String && value)98 inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } 99 100 /** 101 * <p>The identifier for tracking the request operation that is generated by the 102 * universally unique identifier (UUID) workflow.</p> 103 */ SetRequestId(const char * value)104 inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } 105 106 /** 107 * <p>The identifier for tracking the request operation that is generated by the 108 * universally unique identifier (UUID) workflow.</p> 109 */ WithRequestId(const Aws::String & value)110 inline AccountAssignmentOperationStatus& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} 111 112 /** 113 * <p>The identifier for tracking the request operation that is generated by the 114 * universally unique identifier (UUID) workflow.</p> 115 */ WithRequestId(Aws::String && value)116 inline AccountAssignmentOperationStatus& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} 117 118 /** 119 * <p>The identifier for tracking the request operation that is generated by the 120 * universally unique identifier (UUID) workflow.</p> 121 */ WithRequestId(const char * value)122 inline AccountAssignmentOperationStatus& WithRequestId(const char* value) { SetRequestId(value); return *this;} 123 124 125 /** 126 * <p>The message that contains an error or exception in case of an operation 127 * failure.</p> 128 */ GetFailureReason()129 inline const Aws::String& GetFailureReason() const{ return m_failureReason; } 130 131 /** 132 * <p>The message that contains an error or exception in case of an operation 133 * failure.</p> 134 */ FailureReasonHasBeenSet()135 inline bool FailureReasonHasBeenSet() const { return m_failureReasonHasBeenSet; } 136 137 /** 138 * <p>The message that contains an error or exception in case of an operation 139 * failure.</p> 140 */ SetFailureReason(const Aws::String & value)141 inline void SetFailureReason(const Aws::String& value) { m_failureReasonHasBeenSet = true; m_failureReason = value; } 142 143 /** 144 * <p>The message that contains an error or exception in case of an operation 145 * failure.</p> 146 */ SetFailureReason(Aws::String && value)147 inline void SetFailureReason(Aws::String&& value) { m_failureReasonHasBeenSet = true; m_failureReason = std::move(value); } 148 149 /** 150 * <p>The message that contains an error or exception in case of an operation 151 * failure.</p> 152 */ SetFailureReason(const char * value)153 inline void SetFailureReason(const char* value) { m_failureReasonHasBeenSet = true; m_failureReason.assign(value); } 154 155 /** 156 * <p>The message that contains an error or exception in case of an operation 157 * failure.</p> 158 */ WithFailureReason(const Aws::String & value)159 inline AccountAssignmentOperationStatus& WithFailureReason(const Aws::String& value) { SetFailureReason(value); return *this;} 160 161 /** 162 * <p>The message that contains an error or exception in case of an operation 163 * failure.</p> 164 */ WithFailureReason(Aws::String && value)165 inline AccountAssignmentOperationStatus& WithFailureReason(Aws::String&& value) { SetFailureReason(std::move(value)); return *this;} 166 167 /** 168 * <p>The message that contains an error or exception in case of an operation 169 * failure.</p> 170 */ WithFailureReason(const char * value)171 inline AccountAssignmentOperationStatus& WithFailureReason(const char* value) { SetFailureReason(value); return *this;} 172 173 174 /** 175 * <p>TargetID is an Amazon Web Services account identifier, typically a 10-12 176 * digit string (For example, 123456789012).</p> 177 */ GetTargetId()178 inline const Aws::String& GetTargetId() const{ return m_targetId; } 179 180 /** 181 * <p>TargetID is an Amazon Web Services account identifier, typically a 10-12 182 * digit string (For example, 123456789012).</p> 183 */ TargetIdHasBeenSet()184 inline bool TargetIdHasBeenSet() const { return m_targetIdHasBeenSet; } 185 186 /** 187 * <p>TargetID is an Amazon Web Services account identifier, typically a 10-12 188 * digit string (For example, 123456789012).</p> 189 */ SetTargetId(const Aws::String & value)190 inline void SetTargetId(const Aws::String& value) { m_targetIdHasBeenSet = true; m_targetId = value; } 191 192 /** 193 * <p>TargetID is an Amazon Web Services account identifier, typically a 10-12 194 * digit string (For example, 123456789012).</p> 195 */ SetTargetId(Aws::String && value)196 inline void SetTargetId(Aws::String&& value) { m_targetIdHasBeenSet = true; m_targetId = std::move(value); } 197 198 /** 199 * <p>TargetID is an Amazon Web Services account identifier, typically a 10-12 200 * digit string (For example, 123456789012).</p> 201 */ SetTargetId(const char * value)202 inline void SetTargetId(const char* value) { m_targetIdHasBeenSet = true; m_targetId.assign(value); } 203 204 /** 205 * <p>TargetID is an Amazon Web Services account identifier, typically a 10-12 206 * digit string (For example, 123456789012).</p> 207 */ WithTargetId(const Aws::String & value)208 inline AccountAssignmentOperationStatus& WithTargetId(const Aws::String& value) { SetTargetId(value); return *this;} 209 210 /** 211 * <p>TargetID is an Amazon Web Services account identifier, typically a 10-12 212 * digit string (For example, 123456789012).</p> 213 */ WithTargetId(Aws::String && value)214 inline AccountAssignmentOperationStatus& WithTargetId(Aws::String&& value) { SetTargetId(std::move(value)); return *this;} 215 216 /** 217 * <p>TargetID is an Amazon Web Services account identifier, typically a 10-12 218 * digit string (For example, 123456789012).</p> 219 */ WithTargetId(const char * value)220 inline AccountAssignmentOperationStatus& WithTargetId(const char* value) { SetTargetId(value); return *this;} 221 222 223 /** 224 * <p>The entity type for which the assignment will be created.</p> 225 */ GetTargetType()226 inline const TargetType& GetTargetType() const{ return m_targetType; } 227 228 /** 229 * <p>The entity type for which the assignment will be created.</p> 230 */ TargetTypeHasBeenSet()231 inline bool TargetTypeHasBeenSet() const { return m_targetTypeHasBeenSet; } 232 233 /** 234 * <p>The entity type for which the assignment will be created.</p> 235 */ SetTargetType(const TargetType & value)236 inline void SetTargetType(const TargetType& value) { m_targetTypeHasBeenSet = true; m_targetType = value; } 237 238 /** 239 * <p>The entity type for which the assignment will be created.</p> 240 */ SetTargetType(TargetType && value)241 inline void SetTargetType(TargetType&& value) { m_targetTypeHasBeenSet = true; m_targetType = std::move(value); } 242 243 /** 244 * <p>The entity type for which the assignment will be created.</p> 245 */ WithTargetType(const TargetType & value)246 inline AccountAssignmentOperationStatus& WithTargetType(const TargetType& value) { SetTargetType(value); return *this;} 247 248 /** 249 * <p>The entity type for which the assignment will be created.</p> 250 */ WithTargetType(TargetType && value)251 inline AccountAssignmentOperationStatus& WithTargetType(TargetType&& value) { SetTargetType(std::move(value)); return *this;} 252 253 254 /** 255 * <p>The ARN of the permission set. For more information about ARNs, see <a 256 * href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names 257 * (ARNs) and Amazon Web Services Service Namespaces</a> in the <i>Amazon Web 258 * Services General Reference</i>.</p> 259 */ GetPermissionSetArn()260 inline const Aws::String& GetPermissionSetArn() const{ return m_permissionSetArn; } 261 262 /** 263 * <p>The ARN of the permission set. For more information about ARNs, see <a 264 * href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names 265 * (ARNs) and Amazon Web Services Service Namespaces</a> in the <i>Amazon Web 266 * Services General Reference</i>.</p> 267 */ PermissionSetArnHasBeenSet()268 inline bool PermissionSetArnHasBeenSet() const { return m_permissionSetArnHasBeenSet; } 269 270 /** 271 * <p>The ARN of the permission set. For more information about ARNs, see <a 272 * href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names 273 * (ARNs) and Amazon Web Services Service Namespaces</a> in the <i>Amazon Web 274 * Services General Reference</i>.</p> 275 */ SetPermissionSetArn(const Aws::String & value)276 inline void SetPermissionSetArn(const Aws::String& value) { m_permissionSetArnHasBeenSet = true; m_permissionSetArn = value; } 277 278 /** 279 * <p>The ARN of the permission set. For more information about ARNs, see <a 280 * href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names 281 * (ARNs) and Amazon Web Services Service Namespaces</a> in the <i>Amazon Web 282 * Services General Reference</i>.</p> 283 */ SetPermissionSetArn(Aws::String && value)284 inline void SetPermissionSetArn(Aws::String&& value) { m_permissionSetArnHasBeenSet = true; m_permissionSetArn = std::move(value); } 285 286 /** 287 * <p>The ARN of the permission set. For more information about ARNs, see <a 288 * href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names 289 * (ARNs) and Amazon Web Services Service Namespaces</a> in the <i>Amazon Web 290 * Services General Reference</i>.</p> 291 */ SetPermissionSetArn(const char * value)292 inline void SetPermissionSetArn(const char* value) { m_permissionSetArnHasBeenSet = true; m_permissionSetArn.assign(value); } 293 294 /** 295 * <p>The ARN of the permission set. For more information about ARNs, see <a 296 * href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names 297 * (ARNs) and Amazon Web Services Service Namespaces</a> in the <i>Amazon Web 298 * Services General Reference</i>.</p> 299 */ WithPermissionSetArn(const Aws::String & value)300 inline AccountAssignmentOperationStatus& WithPermissionSetArn(const Aws::String& value) { SetPermissionSetArn(value); return *this;} 301 302 /** 303 * <p>The ARN of the permission set. For more information about ARNs, see <a 304 * href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names 305 * (ARNs) and Amazon Web Services Service Namespaces</a> in the <i>Amazon Web 306 * Services General Reference</i>.</p> 307 */ WithPermissionSetArn(Aws::String && value)308 inline AccountAssignmentOperationStatus& WithPermissionSetArn(Aws::String&& value) { SetPermissionSetArn(std::move(value)); return *this;} 309 310 /** 311 * <p>The ARN of the permission set. For more information about ARNs, see <a 312 * href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names 313 * (ARNs) and Amazon Web Services Service Namespaces</a> in the <i>Amazon Web 314 * Services General Reference</i>.</p> 315 */ WithPermissionSetArn(const char * value)316 inline AccountAssignmentOperationStatus& WithPermissionSetArn(const char* value) { SetPermissionSetArn(value); return *this;} 317 318 319 /** 320 * <p>The entity type for which the assignment will be created.</p> 321 */ GetPrincipalType()322 inline const PrincipalType& GetPrincipalType() const{ return m_principalType; } 323 324 /** 325 * <p>The entity type for which the assignment will be created.</p> 326 */ PrincipalTypeHasBeenSet()327 inline bool PrincipalTypeHasBeenSet() const { return m_principalTypeHasBeenSet; } 328 329 /** 330 * <p>The entity type for which the assignment will be created.</p> 331 */ SetPrincipalType(const PrincipalType & value)332 inline void SetPrincipalType(const PrincipalType& value) { m_principalTypeHasBeenSet = true; m_principalType = value; } 333 334 /** 335 * <p>The entity type for which the assignment will be created.</p> 336 */ SetPrincipalType(PrincipalType && value)337 inline void SetPrincipalType(PrincipalType&& value) { m_principalTypeHasBeenSet = true; m_principalType = std::move(value); } 338 339 /** 340 * <p>The entity type for which the assignment will be created.</p> 341 */ WithPrincipalType(const PrincipalType & value)342 inline AccountAssignmentOperationStatus& WithPrincipalType(const PrincipalType& value) { SetPrincipalType(value); return *this;} 343 344 /** 345 * <p>The entity type for which the assignment will be created.</p> 346 */ WithPrincipalType(PrincipalType && value)347 inline AccountAssignmentOperationStatus& WithPrincipalType(PrincipalType&& value) { SetPrincipalType(std::move(value)); return *this;} 348 349 350 /** 351 * <p>An identifier for an object in Amazon Web Services SSO, such as a user or 352 * group. PrincipalIds are GUIDs (For example, 353 * f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds 354 * in Amazon Web Services SSO, see the <a 355 * href="/singlesignon/latest/IdentityStoreAPIReference/welcome.html">Amazon Web 356 * Services SSO Identity Store API Reference</a>.</p> 357 */ GetPrincipalId()358 inline const Aws::String& GetPrincipalId() const{ return m_principalId; } 359 360 /** 361 * <p>An identifier for an object in Amazon Web Services SSO, such as a user or 362 * group. PrincipalIds are GUIDs (For example, 363 * f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds 364 * in Amazon Web Services SSO, see the <a 365 * href="/singlesignon/latest/IdentityStoreAPIReference/welcome.html">Amazon Web 366 * Services SSO Identity Store API Reference</a>.</p> 367 */ PrincipalIdHasBeenSet()368 inline bool PrincipalIdHasBeenSet() const { return m_principalIdHasBeenSet; } 369 370 /** 371 * <p>An identifier for an object in Amazon Web Services SSO, such as a user or 372 * group. PrincipalIds are GUIDs (For example, 373 * f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds 374 * in Amazon Web Services SSO, see the <a 375 * href="/singlesignon/latest/IdentityStoreAPIReference/welcome.html">Amazon Web 376 * Services SSO Identity Store API Reference</a>.</p> 377 */ SetPrincipalId(const Aws::String & value)378 inline void SetPrincipalId(const Aws::String& value) { m_principalIdHasBeenSet = true; m_principalId = value; } 379 380 /** 381 * <p>An identifier for an object in Amazon Web Services SSO, such as a user or 382 * group. PrincipalIds are GUIDs (For example, 383 * f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds 384 * in Amazon Web Services SSO, see the <a 385 * href="/singlesignon/latest/IdentityStoreAPIReference/welcome.html">Amazon Web 386 * Services SSO Identity Store API Reference</a>.</p> 387 */ SetPrincipalId(Aws::String && value)388 inline void SetPrincipalId(Aws::String&& value) { m_principalIdHasBeenSet = true; m_principalId = std::move(value); } 389 390 /** 391 * <p>An identifier for an object in Amazon Web Services SSO, such as a user or 392 * group. PrincipalIds are GUIDs (For example, 393 * f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds 394 * in Amazon Web Services SSO, see the <a 395 * href="/singlesignon/latest/IdentityStoreAPIReference/welcome.html">Amazon Web 396 * Services SSO Identity Store API Reference</a>.</p> 397 */ SetPrincipalId(const char * value)398 inline void SetPrincipalId(const char* value) { m_principalIdHasBeenSet = true; m_principalId.assign(value); } 399 400 /** 401 * <p>An identifier for an object in Amazon Web Services SSO, such as a user or 402 * group. PrincipalIds are GUIDs (For example, 403 * f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds 404 * in Amazon Web Services SSO, see the <a 405 * href="/singlesignon/latest/IdentityStoreAPIReference/welcome.html">Amazon Web 406 * Services SSO Identity Store API Reference</a>.</p> 407 */ WithPrincipalId(const Aws::String & value)408 inline AccountAssignmentOperationStatus& WithPrincipalId(const Aws::String& value) { SetPrincipalId(value); return *this;} 409 410 /** 411 * <p>An identifier for an object in Amazon Web Services SSO, such as a user or 412 * group. PrincipalIds are GUIDs (For example, 413 * f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds 414 * in Amazon Web Services SSO, see the <a 415 * href="/singlesignon/latest/IdentityStoreAPIReference/welcome.html">Amazon Web 416 * Services SSO Identity Store API Reference</a>.</p> 417 */ WithPrincipalId(Aws::String && value)418 inline AccountAssignmentOperationStatus& WithPrincipalId(Aws::String&& value) { SetPrincipalId(std::move(value)); return *this;} 419 420 /** 421 * <p>An identifier for an object in Amazon Web Services SSO, such as a user or 422 * group. PrincipalIds are GUIDs (For example, 423 * f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds 424 * in Amazon Web Services SSO, see the <a 425 * href="/singlesignon/latest/IdentityStoreAPIReference/welcome.html">Amazon Web 426 * Services SSO Identity Store API Reference</a>.</p> 427 */ WithPrincipalId(const char * value)428 inline AccountAssignmentOperationStatus& WithPrincipalId(const char* value) { SetPrincipalId(value); return *this;} 429 430 431 /** 432 * <p>The date that the permission set was created.</p> 433 */ GetCreatedDate()434 inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; } 435 436 /** 437 * <p>The date that the permission set was created.</p> 438 */ CreatedDateHasBeenSet()439 inline bool CreatedDateHasBeenSet() const { return m_createdDateHasBeenSet; } 440 441 /** 442 * <p>The date that the permission set was created.</p> 443 */ SetCreatedDate(const Aws::Utils::DateTime & value)444 inline void SetCreatedDate(const Aws::Utils::DateTime& value) { m_createdDateHasBeenSet = true; m_createdDate = value; } 445 446 /** 447 * <p>The date that the permission set was created.</p> 448 */ SetCreatedDate(Aws::Utils::DateTime && value)449 inline void SetCreatedDate(Aws::Utils::DateTime&& value) { m_createdDateHasBeenSet = true; m_createdDate = std::move(value); } 450 451 /** 452 * <p>The date that the permission set was created.</p> 453 */ WithCreatedDate(const Aws::Utils::DateTime & value)454 inline AccountAssignmentOperationStatus& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;} 455 456 /** 457 * <p>The date that the permission set was created.</p> 458 */ WithCreatedDate(Aws::Utils::DateTime && value)459 inline AccountAssignmentOperationStatus& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;} 460 461 private: 462 463 StatusValues m_status; 464 bool m_statusHasBeenSet; 465 466 Aws::String m_requestId; 467 bool m_requestIdHasBeenSet; 468 469 Aws::String m_failureReason; 470 bool m_failureReasonHasBeenSet; 471 472 Aws::String m_targetId; 473 bool m_targetIdHasBeenSet; 474 475 TargetType m_targetType; 476 bool m_targetTypeHasBeenSet; 477 478 Aws::String m_permissionSetArn; 479 bool m_permissionSetArnHasBeenSet; 480 481 PrincipalType m_principalType; 482 bool m_principalTypeHasBeenSet; 483 484 Aws::String m_principalId; 485 bool m_principalIdHasBeenSet; 486 487 Aws::Utils::DateTime m_createdDate; 488 bool m_createdDateHasBeenSet; 489 }; 490 491 } // namespace Model 492 } // namespace SSOAdmin 493 } // namespace Aws 494