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

Automatic rollback configuration for handling endpoint deployment failures * and recovery.

See Also:

AWS * API Reference

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

List of CloudWatch alarms in your account that are configured to monitor * metrics on an endpoint. If any alarms are tripped during a deployment, SageMaker * rolls back the deployment.

*/ inline const Aws::Vector& GetAlarms() const{ return m_alarms; } /** *

List of CloudWatch alarms in your account that are configured to monitor * metrics on an endpoint. If any alarms are tripped during a deployment, SageMaker * rolls back the deployment.

*/ inline bool AlarmsHasBeenSet() const { return m_alarmsHasBeenSet; } /** *

List of CloudWatch alarms in your account that are configured to monitor * metrics on an endpoint. If any alarms are tripped during a deployment, SageMaker * rolls back the deployment.

*/ inline void SetAlarms(const Aws::Vector& value) { m_alarmsHasBeenSet = true; m_alarms = value; } /** *

List of CloudWatch alarms in your account that are configured to monitor * metrics on an endpoint. If any alarms are tripped during a deployment, SageMaker * rolls back the deployment.

*/ inline void SetAlarms(Aws::Vector&& value) { m_alarmsHasBeenSet = true; m_alarms = std::move(value); } /** *

List of CloudWatch alarms in your account that are configured to monitor * metrics on an endpoint. If any alarms are tripped during a deployment, SageMaker * rolls back the deployment.

*/ inline AutoRollbackConfig& WithAlarms(const Aws::Vector& value) { SetAlarms(value); return *this;} /** *

List of CloudWatch alarms in your account that are configured to monitor * metrics on an endpoint. If any alarms are tripped during a deployment, SageMaker * rolls back the deployment.

*/ inline AutoRollbackConfig& WithAlarms(Aws::Vector&& value) { SetAlarms(std::move(value)); return *this;} /** *

List of CloudWatch alarms in your account that are configured to monitor * metrics on an endpoint. If any alarms are tripped during a deployment, SageMaker * rolls back the deployment.

*/ inline AutoRollbackConfig& AddAlarms(const Alarm& value) { m_alarmsHasBeenSet = true; m_alarms.push_back(value); return *this; } /** *

List of CloudWatch alarms in your account that are configured to monitor * metrics on an endpoint. If any alarms are tripped during a deployment, SageMaker * rolls back the deployment.

*/ inline AutoRollbackConfig& AddAlarms(Alarm&& value) { m_alarmsHasBeenSet = true; m_alarms.push_back(std::move(value)); return *this; } private: Aws::Vector m_alarms; bool m_alarmsHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws