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

Represents user metadata added to a Users dataset using the * PutUsers API. For more information see Importing * Users Incrementally.

See Also:

AWS * API Reference

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

The ID associated with the user.

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

The ID associated with the user.

*/ inline bool UserIdHasBeenSet() const { return m_userIdHasBeenSet; } /** *

The ID associated with the user.

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

The ID associated with the user.

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

The ID associated with the user.

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

The ID associated with the user.

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

The ID associated with the user.

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

The ID associated with the user.

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

A string map of user-specific metadata. Each element in the map consists of a * key-value pair. For example, {"numberOfVideosWatched": "45"}.

*

The keys use camel case names that match the fields in the schema for the * Users dataset. In the previous example, the numberOfVideosWatched * matches the 'NUMBER_OF_VIDEOS_WATCHED' field defined in the Users schema. For * categorical string data, to include multiple categories for a single user, * separate each category with a pipe separator (|). For example, * \"Member|Frequent shopper\".

*/ inline const Aws::String& GetProperties() const{ return m_properties; } /** *

A string map of user-specific metadata. Each element in the map consists of a * key-value pair. For example, {"numberOfVideosWatched": "45"}.

*

The keys use camel case names that match the fields in the schema for the * Users dataset. In the previous example, the numberOfVideosWatched * matches the 'NUMBER_OF_VIDEOS_WATCHED' field defined in the Users schema. For * categorical string data, to include multiple categories for a single user, * separate each category with a pipe separator (|). For example, * \"Member|Frequent shopper\".

*/ inline bool PropertiesHasBeenSet() const { return m_propertiesHasBeenSet; } /** *

A string map of user-specific metadata. Each element in the map consists of a * key-value pair. For example, {"numberOfVideosWatched": "45"}.

*

The keys use camel case names that match the fields in the schema for the * Users dataset. In the previous example, the numberOfVideosWatched * matches the 'NUMBER_OF_VIDEOS_WATCHED' field defined in the Users schema. For * categorical string data, to include multiple categories for a single user, * separate each category with a pipe separator (|). For example, * \"Member|Frequent shopper\".

*/ inline void SetProperties(const Aws::String& value) { m_propertiesHasBeenSet = true; m_properties = value; } /** *

A string map of user-specific metadata. Each element in the map consists of a * key-value pair. For example, {"numberOfVideosWatched": "45"}.

*

The keys use camel case names that match the fields in the schema for the * Users dataset. In the previous example, the numberOfVideosWatched * matches the 'NUMBER_OF_VIDEOS_WATCHED' field defined in the Users schema. For * categorical string data, to include multiple categories for a single user, * separate each category with a pipe separator (|). For example, * \"Member|Frequent shopper\".

*/ inline void SetProperties(Aws::String&& value) { m_propertiesHasBeenSet = true; m_properties = std::move(value); } /** *

A string map of user-specific metadata. Each element in the map consists of a * key-value pair. For example, {"numberOfVideosWatched": "45"}.

*

The keys use camel case names that match the fields in the schema for the * Users dataset. In the previous example, the numberOfVideosWatched * matches the 'NUMBER_OF_VIDEOS_WATCHED' field defined in the Users schema. For * categorical string data, to include multiple categories for a single user, * separate each category with a pipe separator (|). For example, * \"Member|Frequent shopper\".

*/ inline void SetProperties(const char* value) { m_propertiesHasBeenSet = true; m_properties.assign(value); } /** *

A string map of user-specific metadata. Each element in the map consists of a * key-value pair. For example, {"numberOfVideosWatched": "45"}.

*

The keys use camel case names that match the fields in the schema for the * Users dataset. In the previous example, the numberOfVideosWatched * matches the 'NUMBER_OF_VIDEOS_WATCHED' field defined in the Users schema. For * categorical string data, to include multiple categories for a single user, * separate each category with a pipe separator (|). For example, * \"Member|Frequent shopper\".

*/ inline User& WithProperties(const Aws::String& value) { SetProperties(value); return *this;} /** *

A string map of user-specific metadata. Each element in the map consists of a * key-value pair. For example, {"numberOfVideosWatched": "45"}.

*

The keys use camel case names that match the fields in the schema for the * Users dataset. In the previous example, the numberOfVideosWatched * matches the 'NUMBER_OF_VIDEOS_WATCHED' field defined in the Users schema. For * categorical string data, to include multiple categories for a single user, * separate each category with a pipe separator (|). For example, * \"Member|Frequent shopper\".

*/ inline User& WithProperties(Aws::String&& value) { SetProperties(std::move(value)); return *this;} /** *

A string map of user-specific metadata. Each element in the map consists of a * key-value pair. For example, {"numberOfVideosWatched": "45"}.

*

The keys use camel case names that match the fields in the schema for the * Users dataset. In the previous example, the numberOfVideosWatched * matches the 'NUMBER_OF_VIDEOS_WATCHED' field defined in the Users schema. For * categorical string data, to include multiple categories for a single user, * separate each category with a pipe separator (|). For example, * \"Member|Frequent shopper\".

*/ inline User& WithProperties(const char* value) { SetProperties(value); return *this;} private: Aws::String m_userId; bool m_userIdHasBeenSet = false; Aws::String m_properties; bool m_propertiesHasBeenSet = false; }; } // namespace Model } // namespace PersonalizeEvents } // namespace Aws