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/databrew/GlueDataBrew_EXPORTS.h> 8 #include <aws/databrew/model/StatisticsConfiguration.h> 9 #include <aws/core/utils/memory/stl/AWSVector.h> 10 #include <aws/databrew/model/ColumnSelector.h> 11 #include <aws/databrew/model/ColumnStatisticsConfiguration.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 namespace Utils 17 { 18 namespace Json 19 { 20 class JsonValue; 21 class JsonView; 22 } // namespace Json 23 } // namespace Utils 24 namespace GlueDataBrew 25 { 26 namespace Model 27 { 28 29 /** 30 * <p>Configuration for profile jobs. Configuration can be used to select columns, 31 * do evaluations, and override default parameters of evaluations. When 32 * configuration is undefined, the profile job will apply default settings to all 33 * supported columns. </p><p><h3>See Also:</h3> <a 34 * href="http://docs.aws.amazon.com/goto/WebAPI/databrew-2017-07-25/ProfileConfiguration">AWS 35 * API Reference</a></p> 36 */ 37 class AWS_GLUEDATABREW_API ProfileConfiguration 38 { 39 public: 40 ProfileConfiguration(); 41 ProfileConfiguration(Aws::Utils::Json::JsonView jsonValue); 42 ProfileConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); 43 Aws::Utils::Json::JsonValue Jsonize() const; 44 45 46 /** 47 * <p>Configuration for inter-column evaluations. Configuration can be used to 48 * select evaluations and override parameters of evaluations. When configuration is 49 * undefined, the profile job will run all supported inter-column evaluations. </p> 50 */ GetDatasetStatisticsConfiguration()51 inline const StatisticsConfiguration& GetDatasetStatisticsConfiguration() const{ return m_datasetStatisticsConfiguration; } 52 53 /** 54 * <p>Configuration for inter-column evaluations. Configuration can be used to 55 * select evaluations and override parameters of evaluations. When configuration is 56 * undefined, the profile job will run all supported inter-column evaluations. </p> 57 */ DatasetStatisticsConfigurationHasBeenSet()58 inline bool DatasetStatisticsConfigurationHasBeenSet() const { return m_datasetStatisticsConfigurationHasBeenSet; } 59 60 /** 61 * <p>Configuration for inter-column evaluations. Configuration can be used to 62 * select evaluations and override parameters of evaluations. When configuration is 63 * undefined, the profile job will run all supported inter-column evaluations. </p> 64 */ SetDatasetStatisticsConfiguration(const StatisticsConfiguration & value)65 inline void SetDatasetStatisticsConfiguration(const StatisticsConfiguration& value) { m_datasetStatisticsConfigurationHasBeenSet = true; m_datasetStatisticsConfiguration = value; } 66 67 /** 68 * <p>Configuration for inter-column evaluations. Configuration can be used to 69 * select evaluations and override parameters of evaluations. When configuration is 70 * undefined, the profile job will run all supported inter-column evaluations. </p> 71 */ SetDatasetStatisticsConfiguration(StatisticsConfiguration && value)72 inline void SetDatasetStatisticsConfiguration(StatisticsConfiguration&& value) { m_datasetStatisticsConfigurationHasBeenSet = true; m_datasetStatisticsConfiguration = std::move(value); } 73 74 /** 75 * <p>Configuration for inter-column evaluations. Configuration can be used to 76 * select evaluations and override parameters of evaluations. When configuration is 77 * undefined, the profile job will run all supported inter-column evaluations. </p> 78 */ WithDatasetStatisticsConfiguration(const StatisticsConfiguration & value)79 inline ProfileConfiguration& WithDatasetStatisticsConfiguration(const StatisticsConfiguration& value) { SetDatasetStatisticsConfiguration(value); return *this;} 80 81 /** 82 * <p>Configuration for inter-column evaluations. Configuration can be used to 83 * select evaluations and override parameters of evaluations. When configuration is 84 * undefined, the profile job will run all supported inter-column evaluations. </p> 85 */ WithDatasetStatisticsConfiguration(StatisticsConfiguration && value)86 inline ProfileConfiguration& WithDatasetStatisticsConfiguration(StatisticsConfiguration&& value) { SetDatasetStatisticsConfiguration(std::move(value)); return *this;} 87 88 89 /** 90 * <p>List of column selectors. ProfileColumns can be used to select columns from 91 * the dataset. When ProfileColumns is undefined, the profile job will profile all 92 * supported columns. </p> 93 */ GetProfileColumns()94 inline const Aws::Vector<ColumnSelector>& GetProfileColumns() const{ return m_profileColumns; } 95 96 /** 97 * <p>List of column selectors. ProfileColumns can be used to select columns from 98 * the dataset. When ProfileColumns is undefined, the profile job will profile all 99 * supported columns. </p> 100 */ ProfileColumnsHasBeenSet()101 inline bool ProfileColumnsHasBeenSet() const { return m_profileColumnsHasBeenSet; } 102 103 /** 104 * <p>List of column selectors. ProfileColumns can be used to select columns from 105 * the dataset. When ProfileColumns is undefined, the profile job will profile all 106 * supported columns. </p> 107 */ SetProfileColumns(const Aws::Vector<ColumnSelector> & value)108 inline void SetProfileColumns(const Aws::Vector<ColumnSelector>& value) { m_profileColumnsHasBeenSet = true; m_profileColumns = value; } 109 110 /** 111 * <p>List of column selectors. ProfileColumns can be used to select columns from 112 * the dataset. When ProfileColumns is undefined, the profile job will profile all 113 * supported columns. </p> 114 */ SetProfileColumns(Aws::Vector<ColumnSelector> && value)115 inline void SetProfileColumns(Aws::Vector<ColumnSelector>&& value) { m_profileColumnsHasBeenSet = true; m_profileColumns = std::move(value); } 116 117 /** 118 * <p>List of column selectors. ProfileColumns can be used to select columns from 119 * the dataset. When ProfileColumns is undefined, the profile job will profile all 120 * supported columns. </p> 121 */ WithProfileColumns(const Aws::Vector<ColumnSelector> & value)122 inline ProfileConfiguration& WithProfileColumns(const Aws::Vector<ColumnSelector>& value) { SetProfileColumns(value); return *this;} 123 124 /** 125 * <p>List of column selectors. ProfileColumns can be used to select columns from 126 * the dataset. When ProfileColumns is undefined, the profile job will profile all 127 * supported columns. </p> 128 */ WithProfileColumns(Aws::Vector<ColumnSelector> && value)129 inline ProfileConfiguration& WithProfileColumns(Aws::Vector<ColumnSelector>&& value) { SetProfileColumns(std::move(value)); return *this;} 130 131 /** 132 * <p>List of column selectors. ProfileColumns can be used to select columns from 133 * the dataset. When ProfileColumns is undefined, the profile job will profile all 134 * supported columns. </p> 135 */ AddProfileColumns(const ColumnSelector & value)136 inline ProfileConfiguration& AddProfileColumns(const ColumnSelector& value) { m_profileColumnsHasBeenSet = true; m_profileColumns.push_back(value); return *this; } 137 138 /** 139 * <p>List of column selectors. ProfileColumns can be used to select columns from 140 * the dataset. When ProfileColumns is undefined, the profile job will profile all 141 * supported columns. </p> 142 */ AddProfileColumns(ColumnSelector && value)143 inline ProfileConfiguration& AddProfileColumns(ColumnSelector&& value) { m_profileColumnsHasBeenSet = true; m_profileColumns.push_back(std::move(value)); return *this; } 144 145 146 /** 147 * <p>List of configurations for column evaluations. ColumnStatisticsConfigurations 148 * are used to select evaluations and override parameters of evaluations for 149 * particular columns. When ColumnStatisticsConfigurations is undefined, the 150 * profile job will profile all supported columns and run all supported 151 * evaluations. </p> 152 */ GetColumnStatisticsConfigurations()153 inline const Aws::Vector<ColumnStatisticsConfiguration>& GetColumnStatisticsConfigurations() const{ return m_columnStatisticsConfigurations; } 154 155 /** 156 * <p>List of configurations for column evaluations. ColumnStatisticsConfigurations 157 * are used to select evaluations and override parameters of evaluations for 158 * particular columns. When ColumnStatisticsConfigurations is undefined, the 159 * profile job will profile all supported columns and run all supported 160 * evaluations. </p> 161 */ ColumnStatisticsConfigurationsHasBeenSet()162 inline bool ColumnStatisticsConfigurationsHasBeenSet() const { return m_columnStatisticsConfigurationsHasBeenSet; } 163 164 /** 165 * <p>List of configurations for column evaluations. ColumnStatisticsConfigurations 166 * are used to select evaluations and override parameters of evaluations for 167 * particular columns. When ColumnStatisticsConfigurations is undefined, the 168 * profile job will profile all supported columns and run all supported 169 * evaluations. </p> 170 */ SetColumnStatisticsConfigurations(const Aws::Vector<ColumnStatisticsConfiguration> & value)171 inline void SetColumnStatisticsConfigurations(const Aws::Vector<ColumnStatisticsConfiguration>& value) { m_columnStatisticsConfigurationsHasBeenSet = true; m_columnStatisticsConfigurations = value; } 172 173 /** 174 * <p>List of configurations for column evaluations. ColumnStatisticsConfigurations 175 * are used to select evaluations and override parameters of evaluations for 176 * particular columns. When ColumnStatisticsConfigurations is undefined, the 177 * profile job will profile all supported columns and run all supported 178 * evaluations. </p> 179 */ SetColumnStatisticsConfigurations(Aws::Vector<ColumnStatisticsConfiguration> && value)180 inline void SetColumnStatisticsConfigurations(Aws::Vector<ColumnStatisticsConfiguration>&& value) { m_columnStatisticsConfigurationsHasBeenSet = true; m_columnStatisticsConfigurations = std::move(value); } 181 182 /** 183 * <p>List of configurations for column evaluations. ColumnStatisticsConfigurations 184 * are used to select evaluations and override parameters of evaluations for 185 * particular columns. When ColumnStatisticsConfigurations is undefined, the 186 * profile job will profile all supported columns and run all supported 187 * evaluations. </p> 188 */ WithColumnStatisticsConfigurations(const Aws::Vector<ColumnStatisticsConfiguration> & value)189 inline ProfileConfiguration& WithColumnStatisticsConfigurations(const Aws::Vector<ColumnStatisticsConfiguration>& value) { SetColumnStatisticsConfigurations(value); return *this;} 190 191 /** 192 * <p>List of configurations for column evaluations. ColumnStatisticsConfigurations 193 * are used to select evaluations and override parameters of evaluations for 194 * particular columns. When ColumnStatisticsConfigurations is undefined, the 195 * profile job will profile all supported columns and run all supported 196 * evaluations. </p> 197 */ WithColumnStatisticsConfigurations(Aws::Vector<ColumnStatisticsConfiguration> && value)198 inline ProfileConfiguration& WithColumnStatisticsConfigurations(Aws::Vector<ColumnStatisticsConfiguration>&& value) { SetColumnStatisticsConfigurations(std::move(value)); return *this;} 199 200 /** 201 * <p>List of configurations for column evaluations. ColumnStatisticsConfigurations 202 * are used to select evaluations and override parameters of evaluations for 203 * particular columns. When ColumnStatisticsConfigurations is undefined, the 204 * profile job will profile all supported columns and run all supported 205 * evaluations. </p> 206 */ AddColumnStatisticsConfigurations(const ColumnStatisticsConfiguration & value)207 inline ProfileConfiguration& AddColumnStatisticsConfigurations(const ColumnStatisticsConfiguration& value) { m_columnStatisticsConfigurationsHasBeenSet = true; m_columnStatisticsConfigurations.push_back(value); return *this; } 208 209 /** 210 * <p>List of configurations for column evaluations. ColumnStatisticsConfigurations 211 * are used to select evaluations and override parameters of evaluations for 212 * particular columns. When ColumnStatisticsConfigurations is undefined, the 213 * profile job will profile all supported columns and run all supported 214 * evaluations. </p> 215 */ AddColumnStatisticsConfigurations(ColumnStatisticsConfiguration && value)216 inline ProfileConfiguration& AddColumnStatisticsConfigurations(ColumnStatisticsConfiguration&& value) { m_columnStatisticsConfigurationsHasBeenSet = true; m_columnStatisticsConfigurations.push_back(std::move(value)); return *this; } 217 218 private: 219 220 StatisticsConfiguration m_datasetStatisticsConfiguration; 221 bool m_datasetStatisticsConfigurationHasBeenSet; 222 223 Aws::Vector<ColumnSelector> m_profileColumns; 224 bool m_profileColumnsHasBeenSet; 225 226 Aws::Vector<ColumnStatisticsConfiguration> m_columnStatisticsConfigurations; 227 bool m_columnStatisticsConfigurationsHasBeenSet; 228 }; 229 230 } // namespace Model 231 } // namespace GlueDataBrew 232 } // namespace Aws 233