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

A unique identifier for a user or group that is not the primary identifier. * This value can be an identifier from an external identity provider (IdP) that is * associated with the user, the group, or a unique attribute.

See * Also:

AWS * API Reference

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

The identifier issued to this resource by an external identity provider.

*/ inline const ExternalId& GetExternalId() const{ return m_externalId; } /** *

The identifier issued to this resource by an external identity provider.

*/ inline bool ExternalIdHasBeenSet() const { return m_externalIdHasBeenSet; } /** *

The identifier issued to this resource by an external identity provider.

*/ inline void SetExternalId(const ExternalId& value) { m_externalIdHasBeenSet = true; m_externalId = value; } /** *

The identifier issued to this resource by an external identity provider.

*/ inline void SetExternalId(ExternalId&& value) { m_externalIdHasBeenSet = true; m_externalId = std::move(value); } /** *

The identifier issued to this resource by an external identity provider.

*/ inline AlternateIdentifier& WithExternalId(const ExternalId& value) { SetExternalId(value); return *this;} /** *

The identifier issued to this resource by an external identity provider.

*/ inline AlternateIdentifier& WithExternalId(ExternalId&& value) { SetExternalId(std::move(value)); return *this;} /** *

An entity attribute that's unique to a specific entity.

*/ inline const UniqueAttribute& GetUniqueAttribute() const{ return m_uniqueAttribute; } /** *

An entity attribute that's unique to a specific entity.

*/ inline bool UniqueAttributeHasBeenSet() const { return m_uniqueAttributeHasBeenSet; } /** *

An entity attribute that's unique to a specific entity.

*/ inline void SetUniqueAttribute(const UniqueAttribute& value) { m_uniqueAttributeHasBeenSet = true; m_uniqueAttribute = value; } /** *

An entity attribute that's unique to a specific entity.

*/ inline void SetUniqueAttribute(UniqueAttribute&& value) { m_uniqueAttributeHasBeenSet = true; m_uniqueAttribute = std::move(value); } /** *

An entity attribute that's unique to a specific entity.

*/ inline AlternateIdentifier& WithUniqueAttribute(const UniqueAttribute& value) { SetUniqueAttribute(value); return *this;} /** *

An entity attribute that's unique to a specific entity.

*/ inline AlternateIdentifier& WithUniqueAttribute(UniqueAttribute&& value) { SetUniqueAttribute(std::move(value)); return *this;} private: ExternalId m_externalId; bool m_externalIdHasBeenSet = false; UniqueAttribute m_uniqueAttribute; bool m_uniqueAttributeHasBeenSet = false; }; } // namespace Model } // namespace IdentityStore } // namespace Aws