/** * 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 SageMaker { namespace Model { /** *

The IAM Identity details associated with the user. These details are * associated with model package groups, model packages and project entities * only.

See Also:

AWS * API Reference

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

The Amazon Resource Name (ARN) of the IAM identity.

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

The Amazon Resource Name (ARN) of the IAM identity.

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

The Amazon Resource Name (ARN) of the IAM identity.

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

The Amazon Resource Name (ARN) of the IAM identity.

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

The Amazon Resource Name (ARN) of the IAM identity.

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

The Amazon Resource Name (ARN) of the IAM identity.

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

The Amazon Resource Name (ARN) of the IAM identity.

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

The Amazon Resource Name (ARN) of the IAM identity.

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

The ID of the principal that assumes the IAM identity.

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

The ID of the principal that assumes the IAM identity.

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

The ID of the principal that assumes the IAM identity.

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

The ID of the principal that assumes the IAM identity.

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

The ID of the principal that assumes the IAM identity.

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

The ID of the principal that assumes the IAM identity.

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

The ID of the principal that assumes the IAM identity.

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

The ID of the principal that assumes the IAM identity.

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

The person or application which assumes the IAM identity.

*/ inline const Aws::String& GetSourceIdentity() const{ return m_sourceIdentity; } /** *

The person or application which assumes the IAM identity.

*/ inline bool SourceIdentityHasBeenSet() const { return m_sourceIdentityHasBeenSet; } /** *

The person or application which assumes the IAM identity.

*/ inline void SetSourceIdentity(const Aws::String& value) { m_sourceIdentityHasBeenSet = true; m_sourceIdentity = value; } /** *

The person or application which assumes the IAM identity.

*/ inline void SetSourceIdentity(Aws::String&& value) { m_sourceIdentityHasBeenSet = true; m_sourceIdentity = std::move(value); } /** *

The person or application which assumes the IAM identity.

*/ inline void SetSourceIdentity(const char* value) { m_sourceIdentityHasBeenSet = true; m_sourceIdentity.assign(value); } /** *

The person or application which assumes the IAM identity.

*/ inline IamIdentity& WithSourceIdentity(const Aws::String& value) { SetSourceIdentity(value); return *this;} /** *

The person or application which assumes the IAM identity.

*/ inline IamIdentity& WithSourceIdentity(Aws::String&& value) { SetSourceIdentity(std::move(value)); return *this;} /** *

The person or application which assumes the IAM identity.

*/ inline IamIdentity& WithSourceIdentity(const char* value) { SetSourceIdentity(value); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_principalId; bool m_principalIdHasBeenSet = false; Aws::String m_sourceIdentity; bool m_sourceIdentityHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws