/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Macie2 { namespace Model { /** *

Specifies the location of 1-15 occurrences of sensitive data that was * detected by a managed data identifier or a custom data identifier and produced a * sensitive data finding.

See Also:

AWS * API Reference

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

An array of objects, one for each occurrence of sensitive data in a Microsoft * Excel workbook, CSV file, or TSV file. This value is null for all other types of * files.

Each Cell object specifies a cell or field that contains the * sensitive data.

*/ inline const Aws::Vector& GetCells() const{ return m_cells; } /** *

An array of objects, one for each occurrence of sensitive data in a Microsoft * Excel workbook, CSV file, or TSV file. This value is null for all other types of * files.

Each Cell object specifies a cell or field that contains the * sensitive data.

*/ inline bool CellsHasBeenSet() const { return m_cellsHasBeenSet; } /** *

An array of objects, one for each occurrence of sensitive data in a Microsoft * Excel workbook, CSV file, or TSV file. This value is null for all other types of * files.

Each Cell object specifies a cell or field that contains the * sensitive data.

*/ inline void SetCells(const Aws::Vector& value) { m_cellsHasBeenSet = true; m_cells = value; } /** *

An array of objects, one for each occurrence of sensitive data in a Microsoft * Excel workbook, CSV file, or TSV file. This value is null for all other types of * files.

Each Cell object specifies a cell or field that contains the * sensitive data.

*/ inline void SetCells(Aws::Vector&& value) { m_cellsHasBeenSet = true; m_cells = std::move(value); } /** *

An array of objects, one for each occurrence of sensitive data in a Microsoft * Excel workbook, CSV file, or TSV file. This value is null for all other types of * files.

Each Cell object specifies a cell or field that contains the * sensitive data.

*/ inline Occurrences& WithCells(const Aws::Vector& value) { SetCells(value); return *this;} /** *

An array of objects, one for each occurrence of sensitive data in a Microsoft * Excel workbook, CSV file, or TSV file. This value is null for all other types of * files.

Each Cell object specifies a cell or field that contains the * sensitive data.

*/ inline Occurrences& WithCells(Aws::Vector&& value) { SetCells(std::move(value)); return *this;} /** *

An array of objects, one for each occurrence of sensitive data in a Microsoft * Excel workbook, CSV file, or TSV file. This value is null for all other types of * files.

Each Cell object specifies a cell or field that contains the * sensitive data.

*/ inline Occurrences& AddCells(const Cell& value) { m_cellsHasBeenSet = true; m_cells.push_back(value); return *this; } /** *

An array of objects, one for each occurrence of sensitive data in a Microsoft * Excel workbook, CSV file, or TSV file. This value is null for all other types of * files.

Each Cell object specifies a cell or field that contains the * sensitive data.

*/ inline Occurrences& AddCells(Cell&& value) { m_cellsHasBeenSet = true; m_cells.push_back(std::move(value)); return *this; } /** *

An array of objects, one for each occurrence of sensitive data in an email * message or a non-binary text file such as an HTML, TXT, or XML file. Each Range * object specifies a line or inclusive range of lines that contains the sensitive * data, and the position of the data on the specified line or lines.

This * value is often null for file types that are supported by Cell, Page, or Record * objects. Exceptions are the location of sensitive data in: unstructured sections * of an otherwise structured file, such as a comment in a file; a malformed file * that Amazon Macie analyzes as plain text; and, a CSV or TSV file that has any * column names that contain sensitive data.

*/ inline const Aws::Vector& GetLineRanges() const{ return m_lineRanges; } /** *

An array of objects, one for each occurrence of sensitive data in an email * message or a non-binary text file such as an HTML, TXT, or XML file. Each Range * object specifies a line or inclusive range of lines that contains the sensitive * data, and the position of the data on the specified line or lines.

This * value is often null for file types that are supported by Cell, Page, or Record * objects. Exceptions are the location of sensitive data in: unstructured sections * of an otherwise structured file, such as a comment in a file; a malformed file * that Amazon Macie analyzes as plain text; and, a CSV or TSV file that has any * column names that contain sensitive data.

*/ inline bool LineRangesHasBeenSet() const { return m_lineRangesHasBeenSet; } /** *

An array of objects, one for each occurrence of sensitive data in an email * message or a non-binary text file such as an HTML, TXT, or XML file. Each Range * object specifies a line or inclusive range of lines that contains the sensitive * data, and the position of the data on the specified line or lines.

This * value is often null for file types that are supported by Cell, Page, or Record * objects. Exceptions are the location of sensitive data in: unstructured sections * of an otherwise structured file, such as a comment in a file; a malformed file * that Amazon Macie analyzes as plain text; and, a CSV or TSV file that has any * column names that contain sensitive data.

*/ inline void SetLineRanges(const Aws::Vector& value) { m_lineRangesHasBeenSet = true; m_lineRanges = value; } /** *

An array of objects, one for each occurrence of sensitive data in an email * message or a non-binary text file such as an HTML, TXT, or XML file. Each Range * object specifies a line or inclusive range of lines that contains the sensitive * data, and the position of the data on the specified line or lines.

This * value is often null for file types that are supported by Cell, Page, or Record * objects. Exceptions are the location of sensitive data in: unstructured sections * of an otherwise structured file, such as a comment in a file; a malformed file * that Amazon Macie analyzes as plain text; and, a CSV or TSV file that has any * column names that contain sensitive data.

*/ inline void SetLineRanges(Aws::Vector&& value) { m_lineRangesHasBeenSet = true; m_lineRanges = std::move(value); } /** *

An array of objects, one for each occurrence of sensitive data in an email * message or a non-binary text file such as an HTML, TXT, or XML file. Each Range * object specifies a line or inclusive range of lines that contains the sensitive * data, and the position of the data on the specified line or lines.

This * value is often null for file types that are supported by Cell, Page, or Record * objects. Exceptions are the location of sensitive data in: unstructured sections * of an otherwise structured file, such as a comment in a file; a malformed file * that Amazon Macie analyzes as plain text; and, a CSV or TSV file that has any * column names that contain sensitive data.

*/ inline Occurrences& WithLineRanges(const Aws::Vector& value) { SetLineRanges(value); return *this;} /** *

An array of objects, one for each occurrence of sensitive data in an email * message or a non-binary text file such as an HTML, TXT, or XML file. Each Range * object specifies a line or inclusive range of lines that contains the sensitive * data, and the position of the data on the specified line or lines.

This * value is often null for file types that are supported by Cell, Page, or Record * objects. Exceptions are the location of sensitive data in: unstructured sections * of an otherwise structured file, such as a comment in a file; a malformed file * that Amazon Macie analyzes as plain text; and, a CSV or TSV file that has any * column names that contain sensitive data.

*/ inline Occurrences& WithLineRanges(Aws::Vector&& value) { SetLineRanges(std::move(value)); return *this;} /** *

An array of objects, one for each occurrence of sensitive data in an email * message or a non-binary text file such as an HTML, TXT, or XML file. Each Range * object specifies a line or inclusive range of lines that contains the sensitive * data, and the position of the data on the specified line or lines.

This * value is often null for file types that are supported by Cell, Page, or Record * objects. Exceptions are the location of sensitive data in: unstructured sections * of an otherwise structured file, such as a comment in a file; a malformed file * that Amazon Macie analyzes as plain text; and, a CSV or TSV file that has any * column names that contain sensitive data.

*/ inline Occurrences& AddLineRanges(const Range& value) { m_lineRangesHasBeenSet = true; m_lineRanges.push_back(value); return *this; } /** *

An array of objects, one for each occurrence of sensitive data in an email * message or a non-binary text file such as an HTML, TXT, or XML file. Each Range * object specifies a line or inclusive range of lines that contains the sensitive * data, and the position of the data on the specified line or lines.

This * value is often null for file types that are supported by Cell, Page, or Record * objects. Exceptions are the location of sensitive data in: unstructured sections * of an otherwise structured file, such as a comment in a file; a malformed file * that Amazon Macie analyzes as plain text; and, a CSV or TSV file that has any * column names that contain sensitive data.

*/ inline Occurrences& AddLineRanges(Range&& value) { m_lineRangesHasBeenSet = true; m_lineRanges.push_back(std::move(value)); return *this; } /** *

Reserved for future use.

*/ inline const Aws::Vector& GetOffsetRanges() const{ return m_offsetRanges; } /** *

Reserved for future use.

*/ inline bool OffsetRangesHasBeenSet() const { return m_offsetRangesHasBeenSet; } /** *

Reserved for future use.

*/ inline void SetOffsetRanges(const Aws::Vector& value) { m_offsetRangesHasBeenSet = true; m_offsetRanges = value; } /** *

Reserved for future use.

*/ inline void SetOffsetRanges(Aws::Vector&& value) { m_offsetRangesHasBeenSet = true; m_offsetRanges = std::move(value); } /** *

Reserved for future use.

*/ inline Occurrences& WithOffsetRanges(const Aws::Vector& value) { SetOffsetRanges(value); return *this;} /** *

Reserved for future use.

*/ inline Occurrences& WithOffsetRanges(Aws::Vector&& value) { SetOffsetRanges(std::move(value)); return *this;} /** *

Reserved for future use.

*/ inline Occurrences& AddOffsetRanges(const Range& value) { m_offsetRangesHasBeenSet = true; m_offsetRanges.push_back(value); return *this; } /** *

Reserved for future use.

*/ inline Occurrences& AddOffsetRanges(Range&& value) { m_offsetRangesHasBeenSet = true; m_offsetRanges.push_back(std::move(value)); return *this; } /** *

An array of objects, one for each occurrence of sensitive data in an Adobe * Portable Document Format file. This value is null for all other types of * files.

Each Page object specifies a page that contains the sensitive * data.

*/ inline const Aws::Vector& GetPages() const{ return m_pages; } /** *

An array of objects, one for each occurrence of sensitive data in an Adobe * Portable Document Format file. This value is null for all other types of * files.

Each Page object specifies a page that contains the sensitive * data.

*/ inline bool PagesHasBeenSet() const { return m_pagesHasBeenSet; } /** *

An array of objects, one for each occurrence of sensitive data in an Adobe * Portable Document Format file. This value is null for all other types of * files.

Each Page object specifies a page that contains the sensitive * data.

*/ inline void SetPages(const Aws::Vector& value) { m_pagesHasBeenSet = true; m_pages = value; } /** *

An array of objects, one for each occurrence of sensitive data in an Adobe * Portable Document Format file. This value is null for all other types of * files.

Each Page object specifies a page that contains the sensitive * data.

*/ inline void SetPages(Aws::Vector&& value) { m_pagesHasBeenSet = true; m_pages = std::move(value); } /** *

An array of objects, one for each occurrence of sensitive data in an Adobe * Portable Document Format file. This value is null for all other types of * files.

Each Page object specifies a page that contains the sensitive * data.

*/ inline Occurrences& WithPages(const Aws::Vector& value) { SetPages(value); return *this;} /** *

An array of objects, one for each occurrence of sensitive data in an Adobe * Portable Document Format file. This value is null for all other types of * files.

Each Page object specifies a page that contains the sensitive * data.

*/ inline Occurrences& WithPages(Aws::Vector&& value) { SetPages(std::move(value)); return *this;} /** *

An array of objects, one for each occurrence of sensitive data in an Adobe * Portable Document Format file. This value is null for all other types of * files.

Each Page object specifies a page that contains the sensitive * data.

*/ inline Occurrences& AddPages(const Page& value) { m_pagesHasBeenSet = true; m_pages.push_back(value); return *this; } /** *

An array of objects, one for each occurrence of sensitive data in an Adobe * Portable Document Format file. This value is null for all other types of * files.

Each Page object specifies a page that contains the sensitive * data.

*/ inline Occurrences& AddPages(Page&& value) { m_pagesHasBeenSet = true; m_pages.push_back(std::move(value)); return *this; } /** *

An array of objects, one for each occurrence of sensitive data in an Apache * Avro object container, Apache Parquet file, JSON file, or JSON Lines file. This * value is null for all other types of files.

For an Avro object container * or Parquet file, each Record object specifies a record index and the path to a * field in a record that contains the sensitive data. For a JSON or JSON Lines * file, each Record object specifies the path to a field or array that contains * the sensitive data. For a JSON Lines file, it also specifies the index of the * line that contains the data.

*/ inline const Aws::Vector& GetRecords() const{ return m_records; } /** *

An array of objects, one for each occurrence of sensitive data in an Apache * Avro object container, Apache Parquet file, JSON file, or JSON Lines file. This * value is null for all other types of files.

For an Avro object container * or Parquet file, each Record object specifies a record index and the path to a * field in a record that contains the sensitive data. For a JSON or JSON Lines * file, each Record object specifies the path to a field or array that contains * the sensitive data. For a JSON Lines file, it also specifies the index of the * line that contains the data.

*/ inline bool RecordsHasBeenSet() const { return m_recordsHasBeenSet; } /** *

An array of objects, one for each occurrence of sensitive data in an Apache * Avro object container, Apache Parquet file, JSON file, or JSON Lines file. This * value is null for all other types of files.

For an Avro object container * or Parquet file, each Record object specifies a record index and the path to a * field in a record that contains the sensitive data. For a JSON or JSON Lines * file, each Record object specifies the path to a field or array that contains * the sensitive data. For a JSON Lines file, it also specifies the index of the * line that contains the data.

*/ inline void SetRecords(const Aws::Vector& value) { m_recordsHasBeenSet = true; m_records = value; } /** *

An array of objects, one for each occurrence of sensitive data in an Apache * Avro object container, Apache Parquet file, JSON file, or JSON Lines file. This * value is null for all other types of files.

For an Avro object container * or Parquet file, each Record object specifies a record index and the path to a * field in a record that contains the sensitive data. For a JSON or JSON Lines * file, each Record object specifies the path to a field or array that contains * the sensitive data. For a JSON Lines file, it also specifies the index of the * line that contains the data.

*/ inline void SetRecords(Aws::Vector&& value) { m_recordsHasBeenSet = true; m_records = std::move(value); } /** *

An array of objects, one for each occurrence of sensitive data in an Apache * Avro object container, Apache Parquet file, JSON file, or JSON Lines file. This * value is null for all other types of files.

For an Avro object container * or Parquet file, each Record object specifies a record index and the path to a * field in a record that contains the sensitive data. For a JSON or JSON Lines * file, each Record object specifies the path to a field or array that contains * the sensitive data. For a JSON Lines file, it also specifies the index of the * line that contains the data.

*/ inline Occurrences& WithRecords(const Aws::Vector& value) { SetRecords(value); return *this;} /** *

An array of objects, one for each occurrence of sensitive data in an Apache * Avro object container, Apache Parquet file, JSON file, or JSON Lines file. This * value is null for all other types of files.

For an Avro object container * or Parquet file, each Record object specifies a record index and the path to a * field in a record that contains the sensitive data. For a JSON or JSON Lines * file, each Record object specifies the path to a field or array that contains * the sensitive data. For a JSON Lines file, it also specifies the index of the * line that contains the data.

*/ inline Occurrences& WithRecords(Aws::Vector&& value) { SetRecords(std::move(value)); return *this;} /** *

An array of objects, one for each occurrence of sensitive data in an Apache * Avro object container, Apache Parquet file, JSON file, or JSON Lines file. This * value is null for all other types of files.

For an Avro object container * or Parquet file, each Record object specifies a record index and the path to a * field in a record that contains the sensitive data. For a JSON or JSON Lines * file, each Record object specifies the path to a field or array that contains * the sensitive data. For a JSON Lines file, it also specifies the index of the * line that contains the data.

*/ inline Occurrences& AddRecords(const Record& value) { m_recordsHasBeenSet = true; m_records.push_back(value); return *this; } /** *

An array of objects, one for each occurrence of sensitive data in an Apache * Avro object container, Apache Parquet file, JSON file, or JSON Lines file. This * value is null for all other types of files.

For an Avro object container * or Parquet file, each Record object specifies a record index and the path to a * field in a record that contains the sensitive data. For a JSON or JSON Lines * file, each Record object specifies the path to a field or array that contains * the sensitive data. For a JSON Lines file, it also specifies the index of the * line that contains the data.

*/ inline Occurrences& AddRecords(Record&& value) { m_recordsHasBeenSet = true; m_records.push_back(std::move(value)); return *this; } private: Aws::Vector m_cells; bool m_cellsHasBeenSet = false; Aws::Vector m_lineRanges; bool m_lineRangesHasBeenSet = false; Aws::Vector m_offsetRanges; bool m_offsetRangesHasBeenSet = false; Aws::Vector m_pages; bool m_pagesHasBeenSet = false; Aws::Vector m_records; bool m_recordsHasBeenSet = false; }; } // namespace Model } // namespace Macie2 } // namespace Aws