/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Macie2 { namespace Model { /** *

Provides information about the source and type of temporary security * credentials that were issued to an entity.

See Also:

AWS * API Reference

*/ class SessionIssuer { public: AWS_MACIE2_API SessionIssuer(); AWS_MACIE2_API SessionIssuer(Aws::Utils::Json::JsonView jsonValue); AWS_MACIE2_API SessionIssuer& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_MACIE2_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The unique identifier for the Amazon Web Services account that owns the * entity that was used to get the credentials.

*/ inline const Aws::String& GetAccountId() const{ return m_accountId; } /** *

The unique identifier for the Amazon Web Services account that owns the * entity that was used to get the credentials.

*/ inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } /** *

The unique identifier for the Amazon Web Services account that owns the * entity that was used to get the credentials.

*/ inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } /** *

The unique identifier for the Amazon Web Services account that owns the * entity that was used to get the credentials.

*/ inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } /** *

The unique identifier for the Amazon Web Services account that owns the * entity that was used to get the credentials.

*/ inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } /** *

The unique identifier for the Amazon Web Services account that owns the * entity that was used to get the credentials.

*/ inline SessionIssuer& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} /** *

The unique identifier for the Amazon Web Services account that owns the * entity that was used to get the credentials.

*/ inline SessionIssuer& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} /** *

The unique identifier for the Amazon Web Services account that owns the * entity that was used to get the credentials.

*/ inline SessionIssuer& WithAccountId(const char* value) { SetAccountId(value); return *this;} /** *

The Amazon Resource Name (ARN) of the source account, Identity and Access * Management (IAM) user, or role that was used to get the credentials.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The Amazon Resource Name (ARN) of the source account, Identity and Access * Management (IAM) user, or role that was used to get the credentials.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the source account, Identity and Access * Management (IAM) user, or role that was used to get the credentials.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The Amazon Resource Name (ARN) of the source account, Identity and Access * Management (IAM) user, or role that was used to get the credentials.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the source account, Identity and Access * Management (IAM) user, or role that was used to get the credentials.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The Amazon Resource Name (ARN) of the source account, Identity and Access * Management (IAM) user, or role that was used to get the credentials.

*/ inline SessionIssuer& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the source account, Identity and Access * Management (IAM) user, or role that was used to get the credentials.

*/ inline SessionIssuer& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the source account, Identity and Access * Management (IAM) user, or role that was used to get the credentials.

*/ inline SessionIssuer& WithArn(const char* value) { SetArn(value); return *this;} /** *

The unique identifier for the entity that was used to get the * credentials.

*/ inline const Aws::String& GetPrincipalId() const{ return m_principalId; } /** *

The unique identifier for the entity that was used to get the * credentials.

*/ inline bool PrincipalIdHasBeenSet() const { return m_principalIdHasBeenSet; } /** *

The unique identifier for the entity that was used to get the * credentials.

*/ inline void SetPrincipalId(const Aws::String& value) { m_principalIdHasBeenSet = true; m_principalId = value; } /** *

The unique identifier for the entity that was used to get the * credentials.

*/ inline void SetPrincipalId(Aws::String&& value) { m_principalIdHasBeenSet = true; m_principalId = std::move(value); } /** *

The unique identifier for the entity that was used to get the * credentials.

*/ inline void SetPrincipalId(const char* value) { m_principalIdHasBeenSet = true; m_principalId.assign(value); } /** *

The unique identifier for the entity that was used to get the * credentials.

*/ inline SessionIssuer& WithPrincipalId(const Aws::String& value) { SetPrincipalId(value); return *this;} /** *

The unique identifier for the entity that was used to get the * credentials.

*/ inline SessionIssuer& WithPrincipalId(Aws::String&& value) { SetPrincipalId(std::move(value)); return *this;} /** *

The unique identifier for the entity that was used to get the * credentials.

*/ inline SessionIssuer& WithPrincipalId(const char* value) { SetPrincipalId(value); return *this;} /** *

The source of the temporary security credentials, such as Root, IAMUser, or * Role.

*/ inline const Aws::String& GetType() const{ return m_type; } /** *

The source of the temporary security credentials, such as Root, IAMUser, or * Role.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The source of the temporary security credentials, such as Root, IAMUser, or * Role.

*/ inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The source of the temporary security credentials, such as Root, IAMUser, or * Role.

*/ inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The source of the temporary security credentials, such as Root, IAMUser, or * Role.

*/ inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } /** *

The source of the temporary security credentials, such as Root, IAMUser, or * Role.

*/ inline SessionIssuer& WithType(const Aws::String& value) { SetType(value); return *this;} /** *

The source of the temporary security credentials, such as Root, IAMUser, or * Role.

*/ inline SessionIssuer& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} /** *

The source of the temporary security credentials, such as Root, IAMUser, or * Role.

*/ inline SessionIssuer& WithType(const char* value) { SetType(value); return *this;} /** *

The name or alias of the user or role that issued the session. This value is * null if the credentials were obtained from a root account that doesn't have an * alias.

*/ inline const Aws::String& GetUserName() const{ return m_userName; } /** *

The name or alias of the user or role that issued the session. This value is * null if the credentials were obtained from a root account that doesn't have an * alias.

*/ inline bool UserNameHasBeenSet() const { return m_userNameHasBeenSet; } /** *

The name or alias of the user or role that issued the session. This value is * null if the credentials were obtained from a root account that doesn't have an * alias.

*/ inline void SetUserName(const Aws::String& value) { m_userNameHasBeenSet = true; m_userName = value; } /** *

The name or alias of the user or role that issued the session. This value is * null if the credentials were obtained from a root account that doesn't have an * alias.

*/ inline void SetUserName(Aws::String&& value) { m_userNameHasBeenSet = true; m_userName = std::move(value); } /** *

The name or alias of the user or role that issued the session. This value is * null if the credentials were obtained from a root account that doesn't have an * alias.

*/ inline void SetUserName(const char* value) { m_userNameHasBeenSet = true; m_userName.assign(value); } /** *

The name or alias of the user or role that issued the session. This value is * null if the credentials were obtained from a root account that doesn't have an * alias.

*/ inline SessionIssuer& WithUserName(const Aws::String& value) { SetUserName(value); return *this;} /** *

The name or alias of the user or role that issued the session. This value is * null if the credentials were obtained from a root account that doesn't have an * alias.

*/ inline SessionIssuer& WithUserName(Aws::String&& value) { SetUserName(std::move(value)); return *this;} /** *

The name or alias of the user or role that issued the session. This value is * null if the credentials were obtained from a root account that doesn't have an * alias.

*/ inline SessionIssuer& WithUserName(const char* value) { SetUserName(value); return *this;} private: Aws::String m_accountId; bool m_accountIdHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_principalId; bool m_principalIdHasBeenSet = false; Aws::String m_type; bool m_typeHasBeenSet = false; Aws::String m_userName; bool m_userNameHasBeenSet = false; }; } // namespace Model } // namespace Macie2 } // namespace Aws