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

A sample configuration for profile jobs only, which determines the number of * rows on which the profile job is run. If a JobSample value isn't * provided, the default is used. The default value is CUSTOM_ROWS for the mode * parameter and 20,000 for the size parameter.

See Also:

AWS * API Reference

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

A value that determines whether the profile job is run on the entire dataset * or a specified number of rows. This value must be one of the following:

    *
  • FULL_DATASET - The profile job is run on the entire dataset.

  • *
  • CUSTOM_ROWS - The profile job is run on the number of rows specified in * the Size parameter.

*/ inline const SampleMode& GetMode() const{ return m_mode; } /** *

A value that determines whether the profile job is run on the entire dataset * or a specified number of rows. This value must be one of the following:

    *
  • FULL_DATASET - The profile job is run on the entire dataset.

  • *
  • CUSTOM_ROWS - The profile job is run on the number of rows specified in * the Size parameter.

*/ inline bool ModeHasBeenSet() const { return m_modeHasBeenSet; } /** *

A value that determines whether the profile job is run on the entire dataset * or a specified number of rows. This value must be one of the following:

    *
  • FULL_DATASET - The profile job is run on the entire dataset.

  • *
  • CUSTOM_ROWS - The profile job is run on the number of rows specified in * the Size parameter.

*/ inline void SetMode(const SampleMode& value) { m_modeHasBeenSet = true; m_mode = value; } /** *

A value that determines whether the profile job is run on the entire dataset * or a specified number of rows. This value must be one of the following:

    *
  • FULL_DATASET - The profile job is run on the entire dataset.

  • *
  • CUSTOM_ROWS - The profile job is run on the number of rows specified in * the Size parameter.

*/ inline void SetMode(SampleMode&& value) { m_modeHasBeenSet = true; m_mode = std::move(value); } /** *

A value that determines whether the profile job is run on the entire dataset * or a specified number of rows. This value must be one of the following:

    *
  • FULL_DATASET - The profile job is run on the entire dataset.

  • *
  • CUSTOM_ROWS - The profile job is run on the number of rows specified in * the Size parameter.

*/ inline JobSample& WithMode(const SampleMode& value) { SetMode(value); return *this;} /** *

A value that determines whether the profile job is run on the entire dataset * or a specified number of rows. This value must be one of the following:

    *
  • FULL_DATASET - The profile job is run on the entire dataset.

  • *
  • CUSTOM_ROWS - The profile job is run on the number of rows specified in * the Size parameter.

*/ inline JobSample& WithMode(SampleMode&& value) { SetMode(std::move(value)); return *this;} /** *

The Size parameter is only required when the mode is * CUSTOM_ROWS. The profile job is run on the specified number of rows. The maximum * value for size is Long.MAX_VALUE.

Long.MAX_VALUE = * 9223372036854775807

*/ inline long long GetSize() const{ return m_size; } /** *

The Size parameter is only required when the mode is * CUSTOM_ROWS. The profile job is run on the specified number of rows. The maximum * value for size is Long.MAX_VALUE.

Long.MAX_VALUE = * 9223372036854775807

*/ inline bool SizeHasBeenSet() const { return m_sizeHasBeenSet; } /** *

The Size parameter is only required when the mode is * CUSTOM_ROWS. The profile job is run on the specified number of rows. The maximum * value for size is Long.MAX_VALUE.

Long.MAX_VALUE = * 9223372036854775807

*/ inline void SetSize(long long value) { m_sizeHasBeenSet = true; m_size = value; } /** *

The Size parameter is only required when the mode is * CUSTOM_ROWS. The profile job is run on the specified number of rows. The maximum * value for size is Long.MAX_VALUE.

Long.MAX_VALUE = * 9223372036854775807

*/ inline JobSample& WithSize(long long value) { SetSize(value); return *this;} private: SampleMode m_mode; bool m_modeHasBeenSet = false; long long m_size; bool m_sizeHasBeenSet = false; }; } // namespace Model } // namespace GlueDataBrew } // namespace Aws