/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Xml { class XmlDocument; } // namespace Xml } // namespace Utils namespace STS { namespace Model { /** *

Contains the response to a successful GetCallerIdentity request, * including information about the entity making the request.

See * Also:

AWS * API Reference

*/ class GetCallerIdentityResult { public: AWS_STS_API GetCallerIdentityResult(); AWS_STS_API GetCallerIdentityResult(const Aws::AmazonWebServiceResult& result); AWS_STS_API GetCallerIdentityResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The unique identifier of the calling entity. The exact value depends on the * type of entity that is making the call. The values returned are those listed in * the aws:userid column in the Principal * table found on the Policy Variables reference page in the IAM User * Guide.

*/ inline const Aws::String& GetUserId() const{ return m_userId; } /** *

The unique identifier of the calling entity. The exact value depends on the * type of entity that is making the call. The values returned are those listed in * the aws:userid column in the Principal * table found on the Policy Variables reference page in the IAM User * Guide.

*/ inline void SetUserId(const Aws::String& value) { m_userId = value; } /** *

The unique identifier of the calling entity. The exact value depends on the * type of entity that is making the call. The values returned are those listed in * the aws:userid column in the Principal * table found on the Policy Variables reference page in the IAM User * Guide.

*/ inline void SetUserId(Aws::String&& value) { m_userId = std::move(value); } /** *

The unique identifier of the calling entity. The exact value depends on the * type of entity that is making the call. The values returned are those listed in * the aws:userid column in the Principal * table found on the Policy Variables reference page in the IAM User * Guide.

*/ inline void SetUserId(const char* value) { m_userId.assign(value); } /** *

The unique identifier of the calling entity. The exact value depends on the * type of entity that is making the call. The values returned are those listed in * the aws:userid column in the Principal * table found on the Policy Variables reference page in the IAM User * Guide.

*/ inline GetCallerIdentityResult& WithUserId(const Aws::String& value) { SetUserId(value); return *this;} /** *

The unique identifier of the calling entity. The exact value depends on the * type of entity that is making the call. The values returned are those listed in * the aws:userid column in the Principal * table found on the Policy Variables reference page in the IAM User * Guide.

*/ inline GetCallerIdentityResult& WithUserId(Aws::String&& value) { SetUserId(std::move(value)); return *this;} /** *

The unique identifier of the calling entity. The exact value depends on the * type of entity that is making the call. The values returned are those listed in * the aws:userid column in the Principal * table found on the Policy Variables reference page in the IAM User * Guide.

*/ inline GetCallerIdentityResult& WithUserId(const char* value) { SetUserId(value); return *this;} /** *

The Amazon Web Services account ID number of the account that owns or * contains the calling entity.

*/ inline const Aws::String& GetAccount() const{ return m_account; } /** *

The Amazon Web Services account ID number of the account that owns or * contains the calling entity.

*/ inline void SetAccount(const Aws::String& value) { m_account = value; } /** *

The Amazon Web Services account ID number of the account that owns or * contains the calling entity.

*/ inline void SetAccount(Aws::String&& value) { m_account = std::move(value); } /** *

The Amazon Web Services account ID number of the account that owns or * contains the calling entity.

*/ inline void SetAccount(const char* value) { m_account.assign(value); } /** *

The Amazon Web Services account ID number of the account that owns or * contains the calling entity.

*/ inline GetCallerIdentityResult& WithAccount(const Aws::String& value) { SetAccount(value); return *this;} /** *

The Amazon Web Services account ID number of the account that owns or * contains the calling entity.

*/ inline GetCallerIdentityResult& WithAccount(Aws::String&& value) { SetAccount(std::move(value)); return *this;} /** *

The Amazon Web Services account ID number of the account that owns or * contains the calling entity.

*/ inline GetCallerIdentityResult& WithAccount(const char* value) { SetAccount(value); return *this;} /** *

The Amazon Web Services ARN associated with the calling entity.

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

The Amazon Web Services ARN associated with the calling entity.

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

The Amazon Web Services ARN associated with the calling entity.

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

The Amazon Web Services ARN associated with the calling entity.

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

The Amazon Web Services ARN associated with the calling entity.

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

The Amazon Web Services ARN associated with the calling entity.

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

The Amazon Web Services ARN associated with the calling entity.

*/ inline GetCallerIdentityResult& WithArn(const char* value) { SetArn(value); return *this;} inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } inline GetCallerIdentityResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} inline GetCallerIdentityResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} private: Aws::String m_userId; Aws::String m_account; Aws::String m_arn; ResponseMetadata m_responseMetadata; }; } // namespace Model } // namespace STS } // namespace Aws