/** * 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 item metadata added to an Items dataset using the * PutItems API. For more information see Importing * Items Incrementally.

See Also:

AWS * API Reference

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

The ID associated with the item.

*/ inline const Aws::String& GetItemId() const{ return m_itemId; } /** *

The ID associated with the item.

*/ inline bool ItemIdHasBeenSet() const { return m_itemIdHasBeenSet; } /** *

The ID associated with the item.

*/ inline void SetItemId(const Aws::String& value) { m_itemIdHasBeenSet = true; m_itemId = value; } /** *

The ID associated with the item.

*/ inline void SetItemId(Aws::String&& value) { m_itemIdHasBeenSet = true; m_itemId = std::move(value); } /** *

The ID associated with the item.

*/ inline void SetItemId(const char* value) { m_itemIdHasBeenSet = true; m_itemId.assign(value); } /** *

The ID associated with the item.

*/ inline Item& WithItemId(const Aws::String& value) { SetItemId(value); return *this;} /** *

The ID associated with the item.

*/ inline Item& WithItemId(Aws::String&& value) { SetItemId(std::move(value)); return *this;} /** *

The ID associated with the item.

*/ inline Item& WithItemId(const char* value) { SetItemId(value); return *this;} /** *

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

The * keys use camel case names that match the fields in the schema for the Items * dataset. In the previous example, the numberOfRatings matches the * 'NUMBER_OF_RATINGS' field defined in the Items schema. For categorical string * data, to include multiple categories for a single item, separate each category * with a pipe separator (|). For example, * \"Horror|Action\".

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

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

The * keys use camel case names that match the fields in the schema for the Items * dataset. In the previous example, the numberOfRatings matches the * 'NUMBER_OF_RATINGS' field defined in the Items schema. For categorical string * data, to include multiple categories for a single item, separate each category * with a pipe separator (|). For example, * \"Horror|Action\".

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

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

The * keys use camel case names that match the fields in the schema for the Items * dataset. In the previous example, the numberOfRatings matches the * 'NUMBER_OF_RATINGS' field defined in the Items schema. For categorical string * data, to include multiple categories for a single item, separate each category * with a pipe separator (|). For example, * \"Horror|Action\".

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

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

The * keys use camel case names that match the fields in the schema for the Items * dataset. In the previous example, the numberOfRatings matches the * 'NUMBER_OF_RATINGS' field defined in the Items schema. For categorical string * data, to include multiple categories for a single item, separate each category * with a pipe separator (|). For example, * \"Horror|Action\".

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

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

The * keys use camel case names that match the fields in the schema for the Items * dataset. In the previous example, the numberOfRatings matches the * 'NUMBER_OF_RATINGS' field defined in the Items schema. For categorical string * data, to include multiple categories for a single item, separate each category * with a pipe separator (|). For example, * \"Horror|Action\".

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

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

The * keys use camel case names that match the fields in the schema for the Items * dataset. In the previous example, the numberOfRatings matches the * 'NUMBER_OF_RATINGS' field defined in the Items schema. For categorical string * data, to include multiple categories for a single item, separate each category * with a pipe separator (|). For example, * \"Horror|Action\".

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

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

The * keys use camel case names that match the fields in the schema for the Items * dataset. In the previous example, the numberOfRatings matches the * 'NUMBER_OF_RATINGS' field defined in the Items schema. For categorical string * data, to include multiple categories for a single item, separate each category * with a pipe separator (|). For example, * \"Horror|Action\".

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

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

The * keys use camel case names that match the fields in the schema for the Items * dataset. In the previous example, the numberOfRatings matches the * 'NUMBER_OF_RATINGS' field defined in the Items schema. For categorical string * data, to include multiple categories for a single item, separate each category * with a pipe separator (|). For example, * \"Horror|Action\".

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