/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Specifies the location of an occurrence of sensitive data in an Apache Avro
* object container, Apache Parquet file, JSON file, or JSON Lines
* file.See Also:
AWS API
* Reference
The path, as a JSONPath expression, to the sensitive data. For an Avro object * container or Parquet file, this is the path to the field in the record * (recordIndex) that contains the data. For a JSON or JSON Lines file, this is the * path to the field or array that contains the data. If the data is a value in an * array, the path also indicates which value contains the data.
If Amazon * Macie detects sensitive data in the name of any element in the path, Macie omits * this field. If the name of an element exceeds 20 characters, Macie truncates the * name by removing characters from the beginning of the name. If the resulting * full path exceeds 250 characters, Macie also truncates the path, starting with * the first element in the path, until the path contains 250 or fewer * characters.
*/ inline const Aws::String& GetJsonPath() const{ return m_jsonPath; } /** *The path, as a JSONPath expression, to the sensitive data. For an Avro object * container or Parquet file, this is the path to the field in the record * (recordIndex) that contains the data. For a JSON or JSON Lines file, this is the * path to the field or array that contains the data. If the data is a value in an * array, the path also indicates which value contains the data.
If Amazon * Macie detects sensitive data in the name of any element in the path, Macie omits * this field. If the name of an element exceeds 20 characters, Macie truncates the * name by removing characters from the beginning of the name. If the resulting * full path exceeds 250 characters, Macie also truncates the path, starting with * the first element in the path, until the path contains 250 or fewer * characters.
*/ inline bool JsonPathHasBeenSet() const { return m_jsonPathHasBeenSet; } /** *The path, as a JSONPath expression, to the sensitive data. For an Avro object * container or Parquet file, this is the path to the field in the record * (recordIndex) that contains the data. For a JSON or JSON Lines file, this is the * path to the field or array that contains the data. If the data is a value in an * array, the path also indicates which value contains the data.
If Amazon * Macie detects sensitive data in the name of any element in the path, Macie omits * this field. If the name of an element exceeds 20 characters, Macie truncates the * name by removing characters from the beginning of the name. If the resulting * full path exceeds 250 characters, Macie also truncates the path, starting with * the first element in the path, until the path contains 250 or fewer * characters.
*/ inline void SetJsonPath(const Aws::String& value) { m_jsonPathHasBeenSet = true; m_jsonPath = value; } /** *The path, as a JSONPath expression, to the sensitive data. For an Avro object * container or Parquet file, this is the path to the field in the record * (recordIndex) that contains the data. For a JSON or JSON Lines file, this is the * path to the field or array that contains the data. If the data is a value in an * array, the path also indicates which value contains the data.
If Amazon * Macie detects sensitive data in the name of any element in the path, Macie omits * this field. If the name of an element exceeds 20 characters, Macie truncates the * name by removing characters from the beginning of the name. If the resulting * full path exceeds 250 characters, Macie also truncates the path, starting with * the first element in the path, until the path contains 250 or fewer * characters.
*/ inline void SetJsonPath(Aws::String&& value) { m_jsonPathHasBeenSet = true; m_jsonPath = std::move(value); } /** *The path, as a JSONPath expression, to the sensitive data. For an Avro object * container or Parquet file, this is the path to the field in the record * (recordIndex) that contains the data. For a JSON or JSON Lines file, this is the * path to the field or array that contains the data. If the data is a value in an * array, the path also indicates which value contains the data.
If Amazon * Macie detects sensitive data in the name of any element in the path, Macie omits * this field. If the name of an element exceeds 20 characters, Macie truncates the * name by removing characters from the beginning of the name. If the resulting * full path exceeds 250 characters, Macie also truncates the path, starting with * the first element in the path, until the path contains 250 or fewer * characters.
*/ inline void SetJsonPath(const char* value) { m_jsonPathHasBeenSet = true; m_jsonPath.assign(value); } /** *The path, as a JSONPath expression, to the sensitive data. For an Avro object * container or Parquet file, this is the path to the field in the record * (recordIndex) that contains the data. For a JSON or JSON Lines file, this is the * path to the field or array that contains the data. If the data is a value in an * array, the path also indicates which value contains the data.
If Amazon * Macie detects sensitive data in the name of any element in the path, Macie omits * this field. If the name of an element exceeds 20 characters, Macie truncates the * name by removing characters from the beginning of the name. If the resulting * full path exceeds 250 characters, Macie also truncates the path, starting with * the first element in the path, until the path contains 250 or fewer * characters.
*/ inline Record& WithJsonPath(const Aws::String& value) { SetJsonPath(value); return *this;} /** *The path, as a JSONPath expression, to the sensitive data. For an Avro object * container or Parquet file, this is the path to the field in the record * (recordIndex) that contains the data. For a JSON or JSON Lines file, this is the * path to the field or array that contains the data. If the data is a value in an * array, the path also indicates which value contains the data.
If Amazon * Macie detects sensitive data in the name of any element in the path, Macie omits * this field. If the name of an element exceeds 20 characters, Macie truncates the * name by removing characters from the beginning of the name. If the resulting * full path exceeds 250 characters, Macie also truncates the path, starting with * the first element in the path, until the path contains 250 or fewer * characters.
*/ inline Record& WithJsonPath(Aws::String&& value) { SetJsonPath(std::move(value)); return *this;} /** *The path, as a JSONPath expression, to the sensitive data. For an Avro object * container or Parquet file, this is the path to the field in the record * (recordIndex) that contains the data. For a JSON or JSON Lines file, this is the * path to the field or array that contains the data. If the data is a value in an * array, the path also indicates which value contains the data.
If Amazon * Macie detects sensitive data in the name of any element in the path, Macie omits * this field. If the name of an element exceeds 20 characters, Macie truncates the * name by removing characters from the beginning of the name. If the resulting * full path exceeds 250 characters, Macie also truncates the path, starting with * the first element in the path, until the path contains 250 or fewer * characters.
*/ inline Record& WithJsonPath(const char* value) { SetJsonPath(value); return *this;} /** *For an Avro object container or Parquet file, the record index, starting from * 0, for the record that contains the sensitive data. For a JSON Lines file, the * line index, starting from 0, for the line that contains the sensitive data. This * value is always 0 for JSON files.
*/ inline long long GetRecordIndex() const{ return m_recordIndex; } /** *For an Avro object container or Parquet file, the record index, starting from * 0, for the record that contains the sensitive data. For a JSON Lines file, the * line index, starting from 0, for the line that contains the sensitive data. This * value is always 0 for JSON files.
*/ inline bool RecordIndexHasBeenSet() const { return m_recordIndexHasBeenSet; } /** *For an Avro object container or Parquet file, the record index, starting from * 0, for the record that contains the sensitive data. For a JSON Lines file, the * line index, starting from 0, for the line that contains the sensitive data. This * value is always 0 for JSON files.
*/ inline void SetRecordIndex(long long value) { m_recordIndexHasBeenSet = true; m_recordIndex = value; } /** *For an Avro object container or Parquet file, the record index, starting from * 0, for the record that contains the sensitive data. For a JSON Lines file, the * line index, starting from 0, for the line that contains the sensitive data. This * value is always 0 for JSON files.
*/ inline Record& WithRecordIndex(long long value) { SetRecordIndex(value); return *this;} private: Aws::String m_jsonPath; bool m_jsonPathHasBeenSet = false; long long m_recordIndex; bool m_recordIndexHasBeenSet = false; }; } // namespace Model } // namespace Macie2 } // namespace Aws