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

Provides information about the configuration, dimension, and other settings * for a segment.

See Also:

AWS * API Reference

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

The unique identifier for the application that the segment is associated * with.

*/ inline const Aws::String& GetApplicationId() const{ return m_applicationId; } /** *

The unique identifier for the application that the segment is associated * with.

*/ inline bool ApplicationIdHasBeenSet() const { return m_applicationIdHasBeenSet; } /** *

The unique identifier for the application that the segment is associated * with.

*/ inline void SetApplicationId(const Aws::String& value) { m_applicationIdHasBeenSet = true; m_applicationId = value; } /** *

The unique identifier for the application that the segment is associated * with.

*/ inline void SetApplicationId(Aws::String&& value) { m_applicationIdHasBeenSet = true; m_applicationId = std::move(value); } /** *

The unique identifier for the application that the segment is associated * with.

*/ inline void SetApplicationId(const char* value) { m_applicationIdHasBeenSet = true; m_applicationId.assign(value); } /** *

The unique identifier for the application that the segment is associated * with.

*/ inline SegmentResponse& WithApplicationId(const Aws::String& value) { SetApplicationId(value); return *this;} /** *

The unique identifier for the application that the segment is associated * with.

*/ inline SegmentResponse& WithApplicationId(Aws::String&& value) { SetApplicationId(std::move(value)); return *this;} /** *

The unique identifier for the application that the segment is associated * with.

*/ inline SegmentResponse& WithApplicationId(const char* value) { SetApplicationId(value); return *this;} /** *

The Amazon Resource Name (ARN) of the segment.

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

The Amazon Resource Name (ARN) of the segment.

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

The Amazon Resource Name (ARN) of the segment.

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

The Amazon Resource Name (ARN) of the segment.

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

The Amazon Resource Name (ARN) of the segment.

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

The Amazon Resource Name (ARN) of the segment.

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

The Amazon Resource Name (ARN) of the segment.

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

The Amazon Resource Name (ARN) of the segment.

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

The date and time when the segment was created.

*/ inline const Aws::String& GetCreationDate() const{ return m_creationDate; } /** *

The date and time when the segment was created.

*/ inline bool CreationDateHasBeenSet() const { return m_creationDateHasBeenSet; } /** *

The date and time when the segment was created.

*/ inline void SetCreationDate(const Aws::String& value) { m_creationDateHasBeenSet = true; m_creationDate = value; } /** *

The date and time when the segment was created.

*/ inline void SetCreationDate(Aws::String&& value) { m_creationDateHasBeenSet = true; m_creationDate = std::move(value); } /** *

The date and time when the segment was created.

*/ inline void SetCreationDate(const char* value) { m_creationDateHasBeenSet = true; m_creationDate.assign(value); } /** *

The date and time when the segment was created.

*/ inline SegmentResponse& WithCreationDate(const Aws::String& value) { SetCreationDate(value); return *this;} /** *

The date and time when the segment was created.

*/ inline SegmentResponse& WithCreationDate(Aws::String&& value) { SetCreationDate(std::move(value)); return *this;} /** *

The date and time when the segment was created.

*/ inline SegmentResponse& WithCreationDate(const char* value) { SetCreationDate(value); return *this;} /** *

The dimension settings for the segment.

*/ inline const SegmentDimensions& GetDimensions() const{ return m_dimensions; } /** *

The dimension settings for the segment.

*/ inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; } /** *

The dimension settings for the segment.

*/ inline void SetDimensions(const SegmentDimensions& value) { m_dimensionsHasBeenSet = true; m_dimensions = value; } /** *

The dimension settings for the segment.

*/ inline void SetDimensions(SegmentDimensions&& value) { m_dimensionsHasBeenSet = true; m_dimensions = std::move(value); } /** *

The dimension settings for the segment.

*/ inline SegmentResponse& WithDimensions(const SegmentDimensions& value) { SetDimensions(value); return *this;} /** *

The dimension settings for the segment.

*/ inline SegmentResponse& WithDimensions(SegmentDimensions&& value) { SetDimensions(std::move(value)); return *this;} /** *

The unique identifier for the segment.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

The unique identifier for the segment.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

The unique identifier for the segment.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

The unique identifier for the segment.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

The unique identifier for the segment.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

The unique identifier for the segment.

*/ inline SegmentResponse& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

The unique identifier for the segment.

*/ inline SegmentResponse& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

The unique identifier for the segment.

*/ inline SegmentResponse& WithId(const char* value) { SetId(value); return *this;} /** *

The settings for the import job that's associated with the segment.

*/ inline const SegmentImportResource& GetImportDefinition() const{ return m_importDefinition; } /** *

The settings for the import job that's associated with the segment.

*/ inline bool ImportDefinitionHasBeenSet() const { return m_importDefinitionHasBeenSet; } /** *

The settings for the import job that's associated with the segment.

*/ inline void SetImportDefinition(const SegmentImportResource& value) { m_importDefinitionHasBeenSet = true; m_importDefinition = value; } /** *

The settings for the import job that's associated with the segment.

*/ inline void SetImportDefinition(SegmentImportResource&& value) { m_importDefinitionHasBeenSet = true; m_importDefinition = std::move(value); } /** *

The settings for the import job that's associated with the segment.

*/ inline SegmentResponse& WithImportDefinition(const SegmentImportResource& value) { SetImportDefinition(value); return *this;} /** *

The settings for the import job that's associated with the segment.

*/ inline SegmentResponse& WithImportDefinition(SegmentImportResource&& value) { SetImportDefinition(std::move(value)); return *this;} /** *

The date and time when the segment was last modified.

*/ inline const Aws::String& GetLastModifiedDate() const{ return m_lastModifiedDate; } /** *

The date and time when the segment was last modified.

*/ inline bool LastModifiedDateHasBeenSet() const { return m_lastModifiedDateHasBeenSet; } /** *

The date and time when the segment was last modified.

*/ inline void SetLastModifiedDate(const Aws::String& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = value; } /** *

The date and time when the segment was last modified.

*/ inline void SetLastModifiedDate(Aws::String&& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = std::move(value); } /** *

The date and time when the segment was last modified.

*/ inline void SetLastModifiedDate(const char* value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate.assign(value); } /** *

The date and time when the segment was last modified.

*/ inline SegmentResponse& WithLastModifiedDate(const Aws::String& value) { SetLastModifiedDate(value); return *this;} /** *

The date and time when the segment was last modified.

*/ inline SegmentResponse& WithLastModifiedDate(Aws::String&& value) { SetLastModifiedDate(std::move(value)); return *this;} /** *

The date and time when the segment was last modified.

*/ inline SegmentResponse& WithLastModifiedDate(const char* value) { SetLastModifiedDate(value); return *this;} /** *

The name of the segment.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the segment.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the segment.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the segment.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the segment.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the segment.

*/ inline SegmentResponse& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the segment.

*/ inline SegmentResponse& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the segment.

*/ inline SegmentResponse& WithName(const char* value) { SetName(value); return *this;} /** *

A list of one or more segment groups that apply to the segment. Each segment * group consists of zero or more base segments and the dimensions that are applied * to those base segments.

*/ inline const SegmentGroupList& GetSegmentGroups() const{ return m_segmentGroups; } /** *

A list of one or more segment groups that apply to the segment. Each segment * group consists of zero or more base segments and the dimensions that are applied * to those base segments.

*/ inline bool SegmentGroupsHasBeenSet() const { return m_segmentGroupsHasBeenSet; } /** *

A list of one or more segment groups that apply to the segment. Each segment * group consists of zero or more base segments and the dimensions that are applied * to those base segments.

*/ inline void SetSegmentGroups(const SegmentGroupList& value) { m_segmentGroupsHasBeenSet = true; m_segmentGroups = value; } /** *

A list of one or more segment groups that apply to the segment. Each segment * group consists of zero or more base segments and the dimensions that are applied * to those base segments.

*/ inline void SetSegmentGroups(SegmentGroupList&& value) { m_segmentGroupsHasBeenSet = true; m_segmentGroups = std::move(value); } /** *

A list of one or more segment groups that apply to the segment. Each segment * group consists of zero or more base segments and the dimensions that are applied * to those base segments.

*/ inline SegmentResponse& WithSegmentGroups(const SegmentGroupList& value) { SetSegmentGroups(value); return *this;} /** *

A list of one or more segment groups that apply to the segment. Each segment * group consists of zero or more base segments and the dimensions that are applied * to those base segments.

*/ inline SegmentResponse& WithSegmentGroups(SegmentGroupList&& value) { SetSegmentGroups(std::move(value)); return *this;} /** *

The segment type. Valid values are:

  • DIMENSIONAL - A dynamic * segment, which is a segment that uses selection criteria that you specify and is * based on endpoint data that's reported by your app. Dynamic segments can change * over time.

  • IMPORT - A static segment, which is a segment that * uses selection criteria that you specify and is based on endpoint definitions * that you import from a file. Imported segments are static; they don't change * over time.

*/ inline const SegmentType& GetSegmentType() const{ return m_segmentType; } /** *

The segment type. Valid values are:

  • DIMENSIONAL - A dynamic * segment, which is a segment that uses selection criteria that you specify and is * based on endpoint data that's reported by your app. Dynamic segments can change * over time.

  • IMPORT - A static segment, which is a segment that * uses selection criteria that you specify and is based on endpoint definitions * that you import from a file. Imported segments are static; they don't change * over time.

*/ inline bool SegmentTypeHasBeenSet() const { return m_segmentTypeHasBeenSet; } /** *

The segment type. Valid values are:

  • DIMENSIONAL - A dynamic * segment, which is a segment that uses selection criteria that you specify and is * based on endpoint data that's reported by your app. Dynamic segments can change * over time.

  • IMPORT - A static segment, which is a segment that * uses selection criteria that you specify and is based on endpoint definitions * that you import from a file. Imported segments are static; they don't change * over time.

*/ inline void SetSegmentType(const SegmentType& value) { m_segmentTypeHasBeenSet = true; m_segmentType = value; } /** *

The segment type. Valid values are:

  • DIMENSIONAL - A dynamic * segment, which is a segment that uses selection criteria that you specify and is * based on endpoint data that's reported by your app. Dynamic segments can change * over time.

  • IMPORT - A static segment, which is a segment that * uses selection criteria that you specify and is based on endpoint definitions * that you import from a file. Imported segments are static; they don't change * over time.

*/ inline void SetSegmentType(SegmentType&& value) { m_segmentTypeHasBeenSet = true; m_segmentType = std::move(value); } /** *

The segment type. Valid values are:

  • DIMENSIONAL - A dynamic * segment, which is a segment that uses selection criteria that you specify and is * based on endpoint data that's reported by your app. Dynamic segments can change * over time.

  • IMPORT - A static segment, which is a segment that * uses selection criteria that you specify and is based on endpoint definitions * that you import from a file. Imported segments are static; they don't change * over time.

*/ inline SegmentResponse& WithSegmentType(const SegmentType& value) { SetSegmentType(value); return *this;} /** *

The segment type. Valid values are:

  • DIMENSIONAL - A dynamic * segment, which is a segment that uses selection criteria that you specify and is * based on endpoint data that's reported by your app. Dynamic segments can change * over time.

  • IMPORT - A static segment, which is a segment that * uses selection criteria that you specify and is based on endpoint definitions * that you import from a file. Imported segments are static; they don't change * over time.

*/ inline SegmentResponse& WithSegmentType(SegmentType&& value) { SetSegmentType(std::move(value)); return *this;} /** *

A string-to-string map of key-value pairs that identifies the tags that are * associated with the segment. Each tag consists of a required tag key and an * associated tag value.

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** *

A string-to-string map of key-value pairs that identifies the tags that are * associated with the segment. Each tag consists of a required tag key and an * associated tag value.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

A string-to-string map of key-value pairs that identifies the tags that are * associated with the segment. Each tag consists of a required tag key and an * associated tag value.

*/ inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

A string-to-string map of key-value pairs that identifies the tags that are * associated with the segment. Each tag consists of a required tag key and an * associated tag value.

*/ inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

A string-to-string map of key-value pairs that identifies the tags that are * associated with the segment. Each tag consists of a required tag key and an * associated tag value.

*/ inline SegmentResponse& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

A string-to-string map of key-value pairs that identifies the tags that are * associated with the segment. Each tag consists of a required tag key and an * associated tag value.

*/ inline SegmentResponse& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

A string-to-string map of key-value pairs that identifies the tags that are * associated with the segment. Each tag consists of a required tag key and an * associated tag value.

*/ inline SegmentResponse& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

A string-to-string map of key-value pairs that identifies the tags that are * associated with the segment. Each tag consists of a required tag key and an * associated tag value.

*/ inline SegmentResponse& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

A string-to-string map of key-value pairs that identifies the tags that are * associated with the segment. Each tag consists of a required tag key and an * associated tag value.

*/ inline SegmentResponse& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

A string-to-string map of key-value pairs that identifies the tags that are * associated with the segment. Each tag consists of a required tag key and an * associated tag value.

*/ inline SegmentResponse& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

A string-to-string map of key-value pairs that identifies the tags that are * associated with the segment. Each tag consists of a required tag key and an * associated tag value.

*/ inline SegmentResponse& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

A string-to-string map of key-value pairs that identifies the tags that are * associated with the segment. Each tag consists of a required tag key and an * associated tag value.

*/ inline SegmentResponse& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

A string-to-string map of key-value pairs that identifies the tags that are * associated with the segment. Each tag consists of a required tag key and an * associated tag value.

*/ inline SegmentResponse& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

The version number of the segment.

*/ inline int GetVersion() const{ return m_version; } /** *

The version number of the segment.

*/ inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; } /** *

The version number of the segment.

*/ inline void SetVersion(int value) { m_versionHasBeenSet = true; m_version = value; } /** *

The version number of the segment.

*/ inline SegmentResponse& WithVersion(int value) { SetVersion(value); return *this;} private: Aws::String m_applicationId; bool m_applicationIdHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_creationDate; bool m_creationDateHasBeenSet = false; SegmentDimensions m_dimensions; bool m_dimensionsHasBeenSet = false; Aws::String m_id; bool m_idHasBeenSet = false; SegmentImportResource m_importDefinition; bool m_importDefinitionHasBeenSet = false; Aws::String m_lastModifiedDate; bool m_lastModifiedDateHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; SegmentGroupList m_segmentGroups; bool m_segmentGroupsHasBeenSet = false; SegmentType m_segmentType; bool m_segmentTypeHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; int m_version; bool m_versionHasBeenSet = false; }; } // namespace Model } // namespace Pinpoint } // namespace Aws