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

Specifies demographic information about an endpoint, such as the applicable * time zone and platform.

See Also:

AWS * API Reference

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

The version of the app that's associated with the endpoint.

*/ inline const Aws::String& GetAppVersion() const{ return m_appVersion; } /** *

The version of the app that's associated with the endpoint.

*/ inline bool AppVersionHasBeenSet() const { return m_appVersionHasBeenSet; } /** *

The version of the app that's associated with the endpoint.

*/ inline void SetAppVersion(const Aws::String& value) { m_appVersionHasBeenSet = true; m_appVersion = value; } /** *

The version of the app that's associated with the endpoint.

*/ inline void SetAppVersion(Aws::String&& value) { m_appVersionHasBeenSet = true; m_appVersion = std::move(value); } /** *

The version of the app that's associated with the endpoint.

*/ inline void SetAppVersion(const char* value) { m_appVersionHasBeenSet = true; m_appVersion.assign(value); } /** *

The version of the app that's associated with the endpoint.

*/ inline EndpointDemographic& WithAppVersion(const Aws::String& value) { SetAppVersion(value); return *this;} /** *

The version of the app that's associated with the endpoint.

*/ inline EndpointDemographic& WithAppVersion(Aws::String&& value) { SetAppVersion(std::move(value)); return *this;} /** *

The version of the app that's associated with the endpoint.

*/ inline EndpointDemographic& WithAppVersion(const char* value) { SetAppVersion(value); return *this;} /** *

The locale of the endpoint, in the following format: the ISO 639-1 alpha-2 * code, followed by an underscore (_), followed by an ISO 3166-1 alpha-2 * value.

*/ inline const Aws::String& GetLocale() const{ return m_locale; } /** *

The locale of the endpoint, in the following format: the ISO 639-1 alpha-2 * code, followed by an underscore (_), followed by an ISO 3166-1 alpha-2 * value.

*/ inline bool LocaleHasBeenSet() const { return m_localeHasBeenSet; } /** *

The locale of the endpoint, in the following format: the ISO 639-1 alpha-2 * code, followed by an underscore (_), followed by an ISO 3166-1 alpha-2 * value.

*/ inline void SetLocale(const Aws::String& value) { m_localeHasBeenSet = true; m_locale = value; } /** *

The locale of the endpoint, in the following format: the ISO 639-1 alpha-2 * code, followed by an underscore (_), followed by an ISO 3166-1 alpha-2 * value.

*/ inline void SetLocale(Aws::String&& value) { m_localeHasBeenSet = true; m_locale = std::move(value); } /** *

The locale of the endpoint, in the following format: the ISO 639-1 alpha-2 * code, followed by an underscore (_), followed by an ISO 3166-1 alpha-2 * value.

*/ inline void SetLocale(const char* value) { m_localeHasBeenSet = true; m_locale.assign(value); } /** *

The locale of the endpoint, in the following format: the ISO 639-1 alpha-2 * code, followed by an underscore (_), followed by an ISO 3166-1 alpha-2 * value.

*/ inline EndpointDemographic& WithLocale(const Aws::String& value) { SetLocale(value); return *this;} /** *

The locale of the endpoint, in the following format: the ISO 639-1 alpha-2 * code, followed by an underscore (_), followed by an ISO 3166-1 alpha-2 * value.

*/ inline EndpointDemographic& WithLocale(Aws::String&& value) { SetLocale(std::move(value)); return *this;} /** *

The locale of the endpoint, in the following format: the ISO 639-1 alpha-2 * code, followed by an underscore (_), followed by an ISO 3166-1 alpha-2 * value.

*/ inline EndpointDemographic& WithLocale(const char* value) { SetLocale(value); return *this;} /** *

The manufacturer of the endpoint device, such as apple or samsung.

*/ inline const Aws::String& GetMake() const{ return m_make; } /** *

The manufacturer of the endpoint device, such as apple or samsung.

*/ inline bool MakeHasBeenSet() const { return m_makeHasBeenSet; } /** *

The manufacturer of the endpoint device, such as apple or samsung.

*/ inline void SetMake(const Aws::String& value) { m_makeHasBeenSet = true; m_make = value; } /** *

The manufacturer of the endpoint device, such as apple or samsung.

*/ inline void SetMake(Aws::String&& value) { m_makeHasBeenSet = true; m_make = std::move(value); } /** *

The manufacturer of the endpoint device, such as apple or samsung.

*/ inline void SetMake(const char* value) { m_makeHasBeenSet = true; m_make.assign(value); } /** *

The manufacturer of the endpoint device, such as apple or samsung.

*/ inline EndpointDemographic& WithMake(const Aws::String& value) { SetMake(value); return *this;} /** *

The manufacturer of the endpoint device, such as apple or samsung.

*/ inline EndpointDemographic& WithMake(Aws::String&& value) { SetMake(std::move(value)); return *this;} /** *

The manufacturer of the endpoint device, such as apple or samsung.

*/ inline EndpointDemographic& WithMake(const char* value) { SetMake(value); return *this;} /** *

The model name or number of the endpoint device, such as iPhone or * SM-G900F.

*/ inline const Aws::String& GetModel() const{ return m_model; } /** *

The model name or number of the endpoint device, such as iPhone or * SM-G900F.

*/ inline bool ModelHasBeenSet() const { return m_modelHasBeenSet; } /** *

The model name or number of the endpoint device, such as iPhone or * SM-G900F.

*/ inline void SetModel(const Aws::String& value) { m_modelHasBeenSet = true; m_model = value; } /** *

The model name or number of the endpoint device, such as iPhone or * SM-G900F.

*/ inline void SetModel(Aws::String&& value) { m_modelHasBeenSet = true; m_model = std::move(value); } /** *

The model name or number of the endpoint device, such as iPhone or * SM-G900F.

*/ inline void SetModel(const char* value) { m_modelHasBeenSet = true; m_model.assign(value); } /** *

The model name or number of the endpoint device, such as iPhone or * SM-G900F.

*/ inline EndpointDemographic& WithModel(const Aws::String& value) { SetModel(value); return *this;} /** *

The model name or number of the endpoint device, such as iPhone or * SM-G900F.

*/ inline EndpointDemographic& WithModel(Aws::String&& value) { SetModel(std::move(value)); return *this;} /** *

The model name or number of the endpoint device, such as iPhone or * SM-G900F.

*/ inline EndpointDemographic& WithModel(const char* value) { SetModel(value); return *this;} /** *

The model version of the endpoint device.

*/ inline const Aws::String& GetModelVersion() const{ return m_modelVersion; } /** *

The model version of the endpoint device.

*/ inline bool ModelVersionHasBeenSet() const { return m_modelVersionHasBeenSet; } /** *

The model version of the endpoint device.

*/ inline void SetModelVersion(const Aws::String& value) { m_modelVersionHasBeenSet = true; m_modelVersion = value; } /** *

The model version of the endpoint device.

*/ inline void SetModelVersion(Aws::String&& value) { m_modelVersionHasBeenSet = true; m_modelVersion = std::move(value); } /** *

The model version of the endpoint device.

*/ inline void SetModelVersion(const char* value) { m_modelVersionHasBeenSet = true; m_modelVersion.assign(value); } /** *

The model version of the endpoint device.

*/ inline EndpointDemographic& WithModelVersion(const Aws::String& value) { SetModelVersion(value); return *this;} /** *

The model version of the endpoint device.

*/ inline EndpointDemographic& WithModelVersion(Aws::String&& value) { SetModelVersion(std::move(value)); return *this;} /** *

The model version of the endpoint device.

*/ inline EndpointDemographic& WithModelVersion(const char* value) { SetModelVersion(value); return *this;} /** *

The platform of the endpoint device, such as ios.

*/ inline const Aws::String& GetPlatform() const{ return m_platform; } /** *

The platform of the endpoint device, such as ios.

*/ inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; } /** *

The platform of the endpoint device, such as ios.

*/ inline void SetPlatform(const Aws::String& value) { m_platformHasBeenSet = true; m_platform = value; } /** *

The platform of the endpoint device, such as ios.

*/ inline void SetPlatform(Aws::String&& value) { m_platformHasBeenSet = true; m_platform = std::move(value); } /** *

The platform of the endpoint device, such as ios.

*/ inline void SetPlatform(const char* value) { m_platformHasBeenSet = true; m_platform.assign(value); } /** *

The platform of the endpoint device, such as ios.

*/ inline EndpointDemographic& WithPlatform(const Aws::String& value) { SetPlatform(value); return *this;} /** *

The platform of the endpoint device, such as ios.

*/ inline EndpointDemographic& WithPlatform(Aws::String&& value) { SetPlatform(std::move(value)); return *this;} /** *

The platform of the endpoint device, such as ios.

*/ inline EndpointDemographic& WithPlatform(const char* value) { SetPlatform(value); return *this;} /** *

The platform version of the endpoint device.

*/ inline const Aws::String& GetPlatformVersion() const{ return m_platformVersion; } /** *

The platform version of the endpoint device.

*/ inline bool PlatformVersionHasBeenSet() const { return m_platformVersionHasBeenSet; } /** *

The platform version of the endpoint device.

*/ inline void SetPlatformVersion(const Aws::String& value) { m_platformVersionHasBeenSet = true; m_platformVersion = value; } /** *

The platform version of the endpoint device.

*/ inline void SetPlatformVersion(Aws::String&& value) { m_platformVersionHasBeenSet = true; m_platformVersion = std::move(value); } /** *

The platform version of the endpoint device.

*/ inline void SetPlatformVersion(const char* value) { m_platformVersionHasBeenSet = true; m_platformVersion.assign(value); } /** *

The platform version of the endpoint device.

*/ inline EndpointDemographic& WithPlatformVersion(const Aws::String& value) { SetPlatformVersion(value); return *this;} /** *

The platform version of the endpoint device.

*/ inline EndpointDemographic& WithPlatformVersion(Aws::String&& value) { SetPlatformVersion(std::move(value)); return *this;} /** *

The platform version of the endpoint device.

*/ inline EndpointDemographic& WithPlatformVersion(const char* value) { SetPlatformVersion(value); return *this;} /** *

The time zone of the endpoint, specified as a tz database name value, such as * America/Los_Angeles.

*/ inline const Aws::String& GetTimezone() const{ return m_timezone; } /** *

The time zone of the endpoint, specified as a tz database name value, such as * America/Los_Angeles.

*/ inline bool TimezoneHasBeenSet() const { return m_timezoneHasBeenSet; } /** *

The time zone of the endpoint, specified as a tz database name value, such as * America/Los_Angeles.

*/ inline void SetTimezone(const Aws::String& value) { m_timezoneHasBeenSet = true; m_timezone = value; } /** *

The time zone of the endpoint, specified as a tz database name value, such as * America/Los_Angeles.

*/ inline void SetTimezone(Aws::String&& value) { m_timezoneHasBeenSet = true; m_timezone = std::move(value); } /** *

The time zone of the endpoint, specified as a tz database name value, such as * America/Los_Angeles.

*/ inline void SetTimezone(const char* value) { m_timezoneHasBeenSet = true; m_timezone.assign(value); } /** *

The time zone of the endpoint, specified as a tz database name value, such as * America/Los_Angeles.

*/ inline EndpointDemographic& WithTimezone(const Aws::String& value) { SetTimezone(value); return *this;} /** *

The time zone of the endpoint, specified as a tz database name value, such as * America/Los_Angeles.

*/ inline EndpointDemographic& WithTimezone(Aws::String&& value) { SetTimezone(std::move(value)); return *this;} /** *

The time zone of the endpoint, specified as a tz database name value, such as * America/Los_Angeles.

*/ inline EndpointDemographic& WithTimezone(const char* value) { SetTimezone(value); return *this;} private: Aws::String m_appVersion; bool m_appVersionHasBeenSet = false; Aws::String m_locale; bool m_localeHasBeenSet = false; Aws::String m_make; bool m_makeHasBeenSet = false; Aws::String m_model; bool m_modelHasBeenSet = false; Aws::String m_modelVersion; bool m_modelVersionHasBeenSet = false; Aws::String m_platform; bool m_platformHasBeenSet = false; Aws::String m_platformVersion; bool m_platformVersionHasBeenSet = false; Aws::String m_timezone; bool m_timezoneHasBeenSet = false; }; } // namespace Model } // namespace Pinpoint } // namespace Aws