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

Input structure for the BandMath operation type. Defines Predefined and * CustomIndices to be computed using BandMath.

See Also:

AWS * API Reference

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

CustomIndices that are computed.

*/ inline const CustomIndicesInput& GetCustomIndices() const{ return m_customIndices; } /** *

CustomIndices that are computed.

*/ inline bool CustomIndicesHasBeenSet() const { return m_customIndicesHasBeenSet; } /** *

CustomIndices that are computed.

*/ inline void SetCustomIndices(const CustomIndicesInput& value) { m_customIndicesHasBeenSet = true; m_customIndices = value; } /** *

CustomIndices that are computed.

*/ inline void SetCustomIndices(CustomIndicesInput&& value) { m_customIndicesHasBeenSet = true; m_customIndices = std::move(value); } /** *

CustomIndices that are computed.

*/ inline BandMathConfigInput& WithCustomIndices(const CustomIndicesInput& value) { SetCustomIndices(value); return *this;} /** *

CustomIndices that are computed.

*/ inline BandMathConfigInput& WithCustomIndices(CustomIndicesInput&& value) { SetCustomIndices(std::move(value)); return *this;} /** *

One or many of the supported predefined indices to compute. Allowed values: * NDVI, EVI2, MSAVI, NDWI, * NDMI, NDSI, and WDRVI.

*/ inline const Aws::Vector& GetPredefinedIndices() const{ return m_predefinedIndices; } /** *

One or many of the supported predefined indices to compute. Allowed values: * NDVI, EVI2, MSAVI, NDWI, * NDMI, NDSI, and WDRVI.

*/ inline bool PredefinedIndicesHasBeenSet() const { return m_predefinedIndicesHasBeenSet; } /** *

One or many of the supported predefined indices to compute. Allowed values: * NDVI, EVI2, MSAVI, NDWI, * NDMI, NDSI, and WDRVI.

*/ inline void SetPredefinedIndices(const Aws::Vector& value) { m_predefinedIndicesHasBeenSet = true; m_predefinedIndices = value; } /** *

One or many of the supported predefined indices to compute. Allowed values: * NDVI, EVI2, MSAVI, NDWI, * NDMI, NDSI, and WDRVI.

*/ inline void SetPredefinedIndices(Aws::Vector&& value) { m_predefinedIndicesHasBeenSet = true; m_predefinedIndices = std::move(value); } /** *

One or many of the supported predefined indices to compute. Allowed values: * NDVI, EVI2, MSAVI, NDWI, * NDMI, NDSI, and WDRVI.

*/ inline BandMathConfigInput& WithPredefinedIndices(const Aws::Vector& value) { SetPredefinedIndices(value); return *this;} /** *

One or many of the supported predefined indices to compute. Allowed values: * NDVI, EVI2, MSAVI, NDWI, * NDMI, NDSI, and WDRVI.

*/ inline BandMathConfigInput& WithPredefinedIndices(Aws::Vector&& value) { SetPredefinedIndices(std::move(value)); return *this;} /** *

One or many of the supported predefined indices to compute. Allowed values: * NDVI, EVI2, MSAVI, NDWI, * NDMI, NDSI, and WDRVI.

*/ inline BandMathConfigInput& AddPredefinedIndices(const Aws::String& value) { m_predefinedIndicesHasBeenSet = true; m_predefinedIndices.push_back(value); return *this; } /** *

One or many of the supported predefined indices to compute. Allowed values: * NDVI, EVI2, MSAVI, NDWI, * NDMI, NDSI, and WDRVI.

*/ inline BandMathConfigInput& AddPredefinedIndices(Aws::String&& value) { m_predefinedIndicesHasBeenSet = true; m_predefinedIndices.push_back(std::move(value)); return *this; } /** *

One or many of the supported predefined indices to compute. Allowed values: * NDVI, EVI2, MSAVI, NDWI, * NDMI, NDSI, and WDRVI.

*/ inline BandMathConfigInput& AddPredefinedIndices(const char* value) { m_predefinedIndicesHasBeenSet = true; m_predefinedIndices.push_back(value); return *this; } private: CustomIndicesInput m_customIndices; bool m_customIndicesHasBeenSet = false; Aws::Vector m_predefinedIndices; bool m_predefinedIndicesHasBeenSet = false; }; } // namespace Model } // namespace SageMakerGeospatial } // namespace Aws