/** * 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 { /** *

The structure representing input configuration of ZonalStatistics * operation.

See Also:

AWS * API Reference

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

List of zonal statistics to compute.

*/ inline const Aws::Vector& GetStatistics() const{ return m_statistics; } /** *

List of zonal statistics to compute.

*/ inline bool StatisticsHasBeenSet() const { return m_statisticsHasBeenSet; } /** *

List of zonal statistics to compute.

*/ inline void SetStatistics(const Aws::Vector& value) { m_statisticsHasBeenSet = true; m_statistics = value; } /** *

List of zonal statistics to compute.

*/ inline void SetStatistics(Aws::Vector&& value) { m_statisticsHasBeenSet = true; m_statistics = std::move(value); } /** *

List of zonal statistics to compute.

*/ inline ZonalStatisticsConfigInput& WithStatistics(const Aws::Vector& value) { SetStatistics(value); return *this;} /** *

List of zonal statistics to compute.

*/ inline ZonalStatisticsConfigInput& WithStatistics(Aws::Vector&& value) { SetStatistics(std::move(value)); return *this;} /** *

List of zonal statistics to compute.

*/ inline ZonalStatisticsConfigInput& AddStatistics(const ZonalStatistics& value) { m_statisticsHasBeenSet = true; m_statistics.push_back(value); return *this; } /** *

List of zonal statistics to compute.

*/ inline ZonalStatisticsConfigInput& AddStatistics(ZonalStatistics&& value) { m_statisticsHasBeenSet = true; m_statistics.push_back(std::move(value)); return *this; } /** *

Bands used in the operation. If no target bands are specified, it uses all * bands available input.

*/ inline const Aws::Vector& GetTargetBands() const{ return m_targetBands; } /** *

Bands used in the operation. If no target bands are specified, it uses all * bands available input.

*/ inline bool TargetBandsHasBeenSet() const { return m_targetBandsHasBeenSet; } /** *

Bands used in the operation. If no target bands are specified, it uses all * bands available input.

*/ inline void SetTargetBands(const Aws::Vector& value) { m_targetBandsHasBeenSet = true; m_targetBands = value; } /** *

Bands used in the operation. If no target bands are specified, it uses all * bands available input.

*/ inline void SetTargetBands(Aws::Vector&& value) { m_targetBandsHasBeenSet = true; m_targetBands = std::move(value); } /** *

Bands used in the operation. If no target bands are specified, it uses all * bands available input.

*/ inline ZonalStatisticsConfigInput& WithTargetBands(const Aws::Vector& value) { SetTargetBands(value); return *this;} /** *

Bands used in the operation. If no target bands are specified, it uses all * bands available input.

*/ inline ZonalStatisticsConfigInput& WithTargetBands(Aws::Vector&& value) { SetTargetBands(std::move(value)); return *this;} /** *

Bands used in the operation. If no target bands are specified, it uses all * bands available input.

*/ inline ZonalStatisticsConfigInput& AddTargetBands(const Aws::String& value) { m_targetBandsHasBeenSet = true; m_targetBands.push_back(value); return *this; } /** *

Bands used in the operation. If no target bands are specified, it uses all * bands available input.

*/ inline ZonalStatisticsConfigInput& AddTargetBands(Aws::String&& value) { m_targetBandsHasBeenSet = true; m_targetBands.push_back(std::move(value)); return *this; } /** *

Bands used in the operation. If no target bands are specified, it uses all * bands available input.

*/ inline ZonalStatisticsConfigInput& AddTargetBands(const char* value) { m_targetBandsHasBeenSet = true; m_targetBands.push_back(value); return *this; } /** *

The Amazon S3 path pointing to the GeoJSON containing the polygonal * zones.

*/ inline const Aws::String& GetZoneS3Path() const{ return m_zoneS3Path; } /** *

The Amazon S3 path pointing to the GeoJSON containing the polygonal * zones.

*/ inline bool ZoneS3PathHasBeenSet() const { return m_zoneS3PathHasBeenSet; } /** *

The Amazon S3 path pointing to the GeoJSON containing the polygonal * zones.

*/ inline void SetZoneS3Path(const Aws::String& value) { m_zoneS3PathHasBeenSet = true; m_zoneS3Path = value; } /** *

The Amazon S3 path pointing to the GeoJSON containing the polygonal * zones.

*/ inline void SetZoneS3Path(Aws::String&& value) { m_zoneS3PathHasBeenSet = true; m_zoneS3Path = std::move(value); } /** *

The Amazon S3 path pointing to the GeoJSON containing the polygonal * zones.

*/ inline void SetZoneS3Path(const char* value) { m_zoneS3PathHasBeenSet = true; m_zoneS3Path.assign(value); } /** *

The Amazon S3 path pointing to the GeoJSON containing the polygonal * zones.

*/ inline ZonalStatisticsConfigInput& WithZoneS3Path(const Aws::String& value) { SetZoneS3Path(value); return *this;} /** *

The Amazon S3 path pointing to the GeoJSON containing the polygonal * zones.

*/ inline ZonalStatisticsConfigInput& WithZoneS3Path(Aws::String&& value) { SetZoneS3Path(std::move(value)); return *this;} /** *

The Amazon S3 path pointing to the GeoJSON containing the polygonal * zones.

*/ inline ZonalStatisticsConfigInput& WithZoneS3Path(const char* value) { SetZoneS3Path(value); return *this;} /** *

The Amazon Resource Name (ARN) or an ID of a Amazon Web Services Key * Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to * decrypt your output artifacts with Amazon S3 server-side encryption. The * SageMaker execution role must have kms:GenerateDataKey * permission.

The KmsKeyId can be any of the following * formats:

  • // KMS Key ID

    * "1234abcd-12ab-34cd-56ef-1234567890ab"

  • // Amazon * Resource Name (ARN) of a KMS Key

    * "arn:aws:kms:<region>:<account>:key/<key-id-12ab-34cd-56ef-1234567890ab>" *

For more information about key identifiers, see Key * identifiers (KeyID) in the Amazon Web Services Key Management Service * (Amazon Web Services KMS) documentation.

*/ inline const Aws::String& GetZoneS3PathKmsKeyId() const{ return m_zoneS3PathKmsKeyId; } /** *

The Amazon Resource Name (ARN) or an ID of a Amazon Web Services Key * Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to * decrypt your output artifacts with Amazon S3 server-side encryption. The * SageMaker execution role must have kms:GenerateDataKey * permission.

The KmsKeyId can be any of the following * formats:

  • // KMS Key ID

    * "1234abcd-12ab-34cd-56ef-1234567890ab"

  • // Amazon * Resource Name (ARN) of a KMS Key

    * "arn:aws:kms:<region>:<account>:key/<key-id-12ab-34cd-56ef-1234567890ab>" *

For more information about key identifiers, see Key * identifiers (KeyID) in the Amazon Web Services Key Management Service * (Amazon Web Services KMS) documentation.

*/ inline bool ZoneS3PathKmsKeyIdHasBeenSet() const { return m_zoneS3PathKmsKeyIdHasBeenSet; } /** *

The Amazon Resource Name (ARN) or an ID of a Amazon Web Services Key * Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to * decrypt your output artifacts with Amazon S3 server-side encryption. The * SageMaker execution role must have kms:GenerateDataKey * permission.

The KmsKeyId can be any of the following * formats:

  • // KMS Key ID

    * "1234abcd-12ab-34cd-56ef-1234567890ab"

  • // Amazon * Resource Name (ARN) of a KMS Key

    * "arn:aws:kms:<region>:<account>:key/<key-id-12ab-34cd-56ef-1234567890ab>" *

For more information about key identifiers, see Key * identifiers (KeyID) in the Amazon Web Services Key Management Service * (Amazon Web Services KMS) documentation.

*/ inline void SetZoneS3PathKmsKeyId(const Aws::String& value) { m_zoneS3PathKmsKeyIdHasBeenSet = true; m_zoneS3PathKmsKeyId = value; } /** *

The Amazon Resource Name (ARN) or an ID of a Amazon Web Services Key * Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to * decrypt your output artifacts with Amazon S3 server-side encryption. The * SageMaker execution role must have kms:GenerateDataKey * permission.

The KmsKeyId can be any of the following * formats:

  • // KMS Key ID

    * "1234abcd-12ab-34cd-56ef-1234567890ab"

  • // Amazon * Resource Name (ARN) of a KMS Key

    * "arn:aws:kms:<region>:<account>:key/<key-id-12ab-34cd-56ef-1234567890ab>" *

For more information about key identifiers, see Key * identifiers (KeyID) in the Amazon Web Services Key Management Service * (Amazon Web Services KMS) documentation.

*/ inline void SetZoneS3PathKmsKeyId(Aws::String&& value) { m_zoneS3PathKmsKeyIdHasBeenSet = true; m_zoneS3PathKmsKeyId = std::move(value); } /** *

The Amazon Resource Name (ARN) or an ID of a Amazon Web Services Key * Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to * decrypt your output artifacts with Amazon S3 server-side encryption. The * SageMaker execution role must have kms:GenerateDataKey * permission.

The KmsKeyId can be any of the following * formats:

  • // KMS Key ID

    * "1234abcd-12ab-34cd-56ef-1234567890ab"

  • // Amazon * Resource Name (ARN) of a KMS Key

    * "arn:aws:kms:<region>:<account>:key/<key-id-12ab-34cd-56ef-1234567890ab>" *

For more information about key identifiers, see Key * identifiers (KeyID) in the Amazon Web Services Key Management Service * (Amazon Web Services KMS) documentation.

*/ inline void SetZoneS3PathKmsKeyId(const char* value) { m_zoneS3PathKmsKeyIdHasBeenSet = true; m_zoneS3PathKmsKeyId.assign(value); } /** *

The Amazon Resource Name (ARN) or an ID of a Amazon Web Services Key * Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to * decrypt your output artifacts with Amazon S3 server-side encryption. The * SageMaker execution role must have kms:GenerateDataKey * permission.

The KmsKeyId can be any of the following * formats:

  • // KMS Key ID

    * "1234abcd-12ab-34cd-56ef-1234567890ab"

  • // Amazon * Resource Name (ARN) of a KMS Key

    * "arn:aws:kms:<region>:<account>:key/<key-id-12ab-34cd-56ef-1234567890ab>" *

For more information about key identifiers, see Key * identifiers (KeyID) in the Amazon Web Services Key Management Service * (Amazon Web Services KMS) documentation.

*/ inline ZonalStatisticsConfigInput& WithZoneS3PathKmsKeyId(const Aws::String& value) { SetZoneS3PathKmsKeyId(value); return *this;} /** *

The Amazon Resource Name (ARN) or an ID of a Amazon Web Services Key * Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to * decrypt your output artifacts with Amazon S3 server-side encryption. The * SageMaker execution role must have kms:GenerateDataKey * permission.

The KmsKeyId can be any of the following * formats:

  • // KMS Key ID

    * "1234abcd-12ab-34cd-56ef-1234567890ab"

  • // Amazon * Resource Name (ARN) of a KMS Key

    * "arn:aws:kms:<region>:<account>:key/<key-id-12ab-34cd-56ef-1234567890ab>" *

For more information about key identifiers, see Key * identifiers (KeyID) in the Amazon Web Services Key Management Service * (Amazon Web Services KMS) documentation.

*/ inline ZonalStatisticsConfigInput& WithZoneS3PathKmsKeyId(Aws::String&& value) { SetZoneS3PathKmsKeyId(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) or an ID of a Amazon Web Services Key * Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to * decrypt your output artifacts with Amazon S3 server-side encryption. The * SageMaker execution role must have kms:GenerateDataKey * permission.

The KmsKeyId can be any of the following * formats:

  • // KMS Key ID

    * "1234abcd-12ab-34cd-56ef-1234567890ab"

  • // Amazon * Resource Name (ARN) of a KMS Key

    * "arn:aws:kms:<region>:<account>:key/<key-id-12ab-34cd-56ef-1234567890ab>" *

For more information about key identifiers, see Key * identifiers (KeyID) in the Amazon Web Services Key Management Service * (Amazon Web Services KMS) documentation.

*/ inline ZonalStatisticsConfigInput& WithZoneS3PathKmsKeyId(const char* value) { SetZoneS3PathKmsKeyId(value); return *this;} private: Aws::Vector m_statistics; bool m_statisticsHasBeenSet = false; Aws::Vector m_targetBands; bool m_targetBandsHasBeenSet = false; Aws::String m_zoneS3Path; bool m_zoneS3PathHasBeenSet = false; Aws::String m_zoneS3PathKmsKeyId; bool m_zoneS3PathKmsKeyIdHasBeenSet = false; }; } // namespace Model } // namespace SageMakerGeospatial } // namespace Aws