1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/pinpoint/Pinpoint_EXPORTS.h> 8 #include <aws/pinpoint/model/DimensionType.h> 9 #include <aws/core/utils/memory/stl/AWSVector.h> 10 #include <aws/core/utils/memory/stl/AWSString.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace Utils 16 { 17 namespace Json 18 { 19 class JsonValue; 20 class JsonView; 21 } // namespace Json 22 } // namespace Utils 23 namespace Pinpoint 24 { 25 namespace Model 26 { 27 28 /** 29 * <p>Specifies the dimension type and values for a segment 30 * dimension.</p><p><h3>See Also:</h3> <a 31 * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SetDimension">AWS 32 * API Reference</a></p> 33 */ 34 class AWS_PINPOINT_API SetDimension 35 { 36 public: 37 SetDimension(); 38 SetDimension(Aws::Utils::Json::JsonView jsonValue); 39 SetDimension& operator=(Aws::Utils::Json::JsonView jsonValue); 40 Aws::Utils::Json::JsonValue Jsonize() const; 41 42 43 /** 44 * <p>The type of segment dimension to use. Valid values are: INCLUSIVE, endpoints 45 * that match the criteria are included in the segment; and, EXCLUSIVE, endpoints 46 * that match the criteria are excluded from the segment.</p> 47 */ GetDimensionType()48 inline const DimensionType& GetDimensionType() const{ return m_dimensionType; } 49 50 /** 51 * <p>The type of segment dimension to use. Valid values are: INCLUSIVE, endpoints 52 * that match the criteria are included in the segment; and, EXCLUSIVE, endpoints 53 * that match the criteria are excluded from the segment.</p> 54 */ DimensionTypeHasBeenSet()55 inline bool DimensionTypeHasBeenSet() const { return m_dimensionTypeHasBeenSet; } 56 57 /** 58 * <p>The type of segment dimension to use. Valid values are: INCLUSIVE, endpoints 59 * that match the criteria are included in the segment; and, EXCLUSIVE, endpoints 60 * that match the criteria are excluded from the segment.</p> 61 */ SetDimensionType(const DimensionType & value)62 inline void SetDimensionType(const DimensionType& value) { m_dimensionTypeHasBeenSet = true; m_dimensionType = value; } 63 64 /** 65 * <p>The type of segment dimension to use. Valid values are: INCLUSIVE, endpoints 66 * that match the criteria are included in the segment; and, EXCLUSIVE, endpoints 67 * that match the criteria are excluded from the segment.</p> 68 */ SetDimensionType(DimensionType && value)69 inline void SetDimensionType(DimensionType&& value) { m_dimensionTypeHasBeenSet = true; m_dimensionType = std::move(value); } 70 71 /** 72 * <p>The type of segment dimension to use. Valid values are: INCLUSIVE, endpoints 73 * that match the criteria are included in the segment; and, EXCLUSIVE, endpoints 74 * that match the criteria are excluded from the segment.</p> 75 */ WithDimensionType(const DimensionType & value)76 inline SetDimension& WithDimensionType(const DimensionType& value) { SetDimensionType(value); return *this;} 77 78 /** 79 * <p>The type of segment dimension to use. Valid values are: INCLUSIVE, endpoints 80 * that match the criteria are included in the segment; and, EXCLUSIVE, endpoints 81 * that match the criteria are excluded from the segment.</p> 82 */ WithDimensionType(DimensionType && value)83 inline SetDimension& WithDimensionType(DimensionType&& value) { SetDimensionType(std::move(value)); return *this;} 84 85 86 /** 87 * <p>The criteria values to use for the segment dimension. Depending on the value 88 * of the DimensionType property, endpoints are included or excluded from the 89 * segment if their values match the criteria values.</p> 90 */ GetValues()91 inline const Aws::Vector<Aws::String>& GetValues() const{ return m_values; } 92 93 /** 94 * <p>The criteria values to use for the segment dimension. Depending on the value 95 * of the DimensionType property, endpoints are included or excluded from the 96 * segment if their values match the criteria values.</p> 97 */ ValuesHasBeenSet()98 inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; } 99 100 /** 101 * <p>The criteria values to use for the segment dimension. Depending on the value 102 * of the DimensionType property, endpoints are included or excluded from the 103 * segment if their values match the criteria values.</p> 104 */ SetValues(const Aws::Vector<Aws::String> & value)105 inline void SetValues(const Aws::Vector<Aws::String>& value) { m_valuesHasBeenSet = true; m_values = value; } 106 107 /** 108 * <p>The criteria values to use for the segment dimension. Depending on the value 109 * of the DimensionType property, endpoints are included or excluded from the 110 * segment if their values match the criteria values.</p> 111 */ SetValues(Aws::Vector<Aws::String> && value)112 inline void SetValues(Aws::Vector<Aws::String>&& value) { m_valuesHasBeenSet = true; m_values = std::move(value); } 113 114 /** 115 * <p>The criteria values to use for the segment dimension. Depending on the value 116 * of the DimensionType property, endpoints are included or excluded from the 117 * segment if their values match the criteria values.</p> 118 */ WithValues(const Aws::Vector<Aws::String> & value)119 inline SetDimension& WithValues(const Aws::Vector<Aws::String>& value) { SetValues(value); return *this;} 120 121 /** 122 * <p>The criteria values to use for the segment dimension. Depending on the value 123 * of the DimensionType property, endpoints are included or excluded from the 124 * segment if their values match the criteria values.</p> 125 */ WithValues(Aws::Vector<Aws::String> && value)126 inline SetDimension& WithValues(Aws::Vector<Aws::String>&& value) { SetValues(std::move(value)); return *this;} 127 128 /** 129 * <p>The criteria values to use for the segment dimension. Depending on the value 130 * of the DimensionType property, endpoints are included or excluded from the 131 * segment if their values match the criteria values.</p> 132 */ AddValues(const Aws::String & value)133 inline SetDimension& AddValues(const Aws::String& value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } 134 135 /** 136 * <p>The criteria values to use for the segment dimension. Depending on the value 137 * of the DimensionType property, endpoints are included or excluded from the 138 * segment if their values match the criteria values.</p> 139 */ AddValues(Aws::String && value)140 inline SetDimension& AddValues(Aws::String&& value) { m_valuesHasBeenSet = true; m_values.push_back(std::move(value)); return *this; } 141 142 /** 143 * <p>The criteria values to use for the segment dimension. Depending on the value 144 * of the DimensionType property, endpoints are included or excluded from the 145 * segment if their values match the criteria values.</p> 146 */ AddValues(const char * value)147 inline SetDimension& AddValues(const char* value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } 148 149 private: 150 151 DimensionType m_dimensionType; 152 bool m_dimensionTypeHasBeenSet; 153 154 Aws::Vector<Aws::String> m_values; 155 bool m_valuesHasBeenSet; 156 }; 157 158 } // namespace Model 159 } // namespace Pinpoint 160 } // namespace Aws 161