/** * 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 Personalize { namespace Model { /** */ class UpdateMetricAttributionRequest : public PersonalizeRequest { public: AWS_PERSONALIZE_API UpdateMetricAttributionRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateMetricAttribution"; } AWS_PERSONALIZE_API Aws::String SerializePayload() const override; AWS_PERSONALIZE_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

Add new metric attributes to the metric attribution.

*/ inline const Aws::Vector& GetAddMetrics() const{ return m_addMetrics; } /** *

Add new metric attributes to the metric attribution.

*/ inline bool AddMetricsHasBeenSet() const { return m_addMetricsHasBeenSet; } /** *

Add new metric attributes to the metric attribution.

*/ inline void SetAddMetrics(const Aws::Vector& value) { m_addMetricsHasBeenSet = true; m_addMetrics = value; } /** *

Add new metric attributes to the metric attribution.

*/ inline void SetAddMetrics(Aws::Vector&& value) { m_addMetricsHasBeenSet = true; m_addMetrics = std::move(value); } /** *

Add new metric attributes to the metric attribution.

*/ inline UpdateMetricAttributionRequest& WithAddMetrics(const Aws::Vector& value) { SetAddMetrics(value); return *this;} /** *

Add new metric attributes to the metric attribution.

*/ inline UpdateMetricAttributionRequest& WithAddMetrics(Aws::Vector&& value) { SetAddMetrics(std::move(value)); return *this;} /** *

Add new metric attributes to the metric attribution.

*/ inline UpdateMetricAttributionRequest& AddAddMetrics(const MetricAttribute& value) { m_addMetricsHasBeenSet = true; m_addMetrics.push_back(value); return *this; } /** *

Add new metric attributes to the metric attribution.

*/ inline UpdateMetricAttributionRequest& AddAddMetrics(MetricAttribute&& value) { m_addMetricsHasBeenSet = true; m_addMetrics.push_back(std::move(value)); return *this; } /** *

Remove metric attributes from the metric attribution.

*/ inline const Aws::Vector& GetRemoveMetrics() const{ return m_removeMetrics; } /** *

Remove metric attributes from the metric attribution.

*/ inline bool RemoveMetricsHasBeenSet() const { return m_removeMetricsHasBeenSet; } /** *

Remove metric attributes from the metric attribution.

*/ inline void SetRemoveMetrics(const Aws::Vector& value) { m_removeMetricsHasBeenSet = true; m_removeMetrics = value; } /** *

Remove metric attributes from the metric attribution.

*/ inline void SetRemoveMetrics(Aws::Vector&& value) { m_removeMetricsHasBeenSet = true; m_removeMetrics = std::move(value); } /** *

Remove metric attributes from the metric attribution.

*/ inline UpdateMetricAttributionRequest& WithRemoveMetrics(const Aws::Vector& value) { SetRemoveMetrics(value); return *this;} /** *

Remove metric attributes from the metric attribution.

*/ inline UpdateMetricAttributionRequest& WithRemoveMetrics(Aws::Vector&& value) { SetRemoveMetrics(std::move(value)); return *this;} /** *

Remove metric attributes from the metric attribution.

*/ inline UpdateMetricAttributionRequest& AddRemoveMetrics(const Aws::String& value) { m_removeMetricsHasBeenSet = true; m_removeMetrics.push_back(value); return *this; } /** *

Remove metric attributes from the metric attribution.

*/ inline UpdateMetricAttributionRequest& AddRemoveMetrics(Aws::String&& value) { m_removeMetricsHasBeenSet = true; m_removeMetrics.push_back(std::move(value)); return *this; } /** *

Remove metric attributes from the metric attribution.

*/ inline UpdateMetricAttributionRequest& AddRemoveMetrics(const char* value) { m_removeMetricsHasBeenSet = true; m_removeMetrics.push_back(value); return *this; } /** *

An output config for the metric attribution.

*/ inline const MetricAttributionOutput& GetMetricsOutputConfig() const{ return m_metricsOutputConfig; } /** *

An output config for the metric attribution.

*/ inline bool MetricsOutputConfigHasBeenSet() const { return m_metricsOutputConfigHasBeenSet; } /** *

An output config for the metric attribution.

*/ inline void SetMetricsOutputConfig(const MetricAttributionOutput& value) { m_metricsOutputConfigHasBeenSet = true; m_metricsOutputConfig = value; } /** *

An output config for the metric attribution.

*/ inline void SetMetricsOutputConfig(MetricAttributionOutput&& value) { m_metricsOutputConfigHasBeenSet = true; m_metricsOutputConfig = std::move(value); } /** *

An output config for the metric attribution.

*/ inline UpdateMetricAttributionRequest& WithMetricsOutputConfig(const MetricAttributionOutput& value) { SetMetricsOutputConfig(value); return *this;} /** *

An output config for the metric attribution.

*/ inline UpdateMetricAttributionRequest& WithMetricsOutputConfig(MetricAttributionOutput&& value) { SetMetricsOutputConfig(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for the metric attribution to update.

*/ inline const Aws::String& GetMetricAttributionArn() const{ return m_metricAttributionArn; } /** *

The Amazon Resource Name (ARN) for the metric attribution to update.

*/ inline bool MetricAttributionArnHasBeenSet() const { return m_metricAttributionArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) for the metric attribution to update.

*/ inline void SetMetricAttributionArn(const Aws::String& value) { m_metricAttributionArnHasBeenSet = true; m_metricAttributionArn = value; } /** *

The Amazon Resource Name (ARN) for the metric attribution to update.

*/ inline void SetMetricAttributionArn(Aws::String&& value) { m_metricAttributionArnHasBeenSet = true; m_metricAttributionArn = std::move(value); } /** *

The Amazon Resource Name (ARN) for the metric attribution to update.

*/ inline void SetMetricAttributionArn(const char* value) { m_metricAttributionArnHasBeenSet = true; m_metricAttributionArn.assign(value); } /** *

The Amazon Resource Name (ARN) for the metric attribution to update.

*/ inline UpdateMetricAttributionRequest& WithMetricAttributionArn(const Aws::String& value) { SetMetricAttributionArn(value); return *this;} /** *

The Amazon Resource Name (ARN) for the metric attribution to update.

*/ inline UpdateMetricAttributionRequest& WithMetricAttributionArn(Aws::String&& value) { SetMetricAttributionArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for the metric attribution to update.

*/ inline UpdateMetricAttributionRequest& WithMetricAttributionArn(const char* value) { SetMetricAttributionArn(value); return *this;} private: Aws::Vector m_addMetrics; bool m_addMetricsHasBeenSet = false; Aws::Vector m_removeMetrics; bool m_removeMetricsHasBeenSet = false; MetricAttributionOutput m_metricsOutputConfig; bool m_metricsOutputConfigHasBeenSet = false; Aws::String m_metricAttributionArn; bool m_metricAttributionArnHasBeenSet = false; }; } // namespace Model } // namespace Personalize } // namespace Aws