/** * 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 SageMaker { namespace Model { /** *

The deployment configuration for an endpoint, which contains the desired * deployment strategy and rollback configurations.

See Also:

AWS * API Reference

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

Update policy for a blue/green deployment. If this update policy is * specified, SageMaker creates a new fleet during the deployment while maintaining * the old fleet. SageMaker flips traffic to the new fleet according to the * specified traffic routing configuration. Only one update policy should be used * in the deployment configuration. If no update policy is specified, SageMaker * uses a blue/green deployment strategy with all at once traffic shifting by * default.

*/ inline const BlueGreenUpdatePolicy& GetBlueGreenUpdatePolicy() const{ return m_blueGreenUpdatePolicy; } /** *

Update policy for a blue/green deployment. If this update policy is * specified, SageMaker creates a new fleet during the deployment while maintaining * the old fleet. SageMaker flips traffic to the new fleet according to the * specified traffic routing configuration. Only one update policy should be used * in the deployment configuration. If no update policy is specified, SageMaker * uses a blue/green deployment strategy with all at once traffic shifting by * default.

*/ inline bool BlueGreenUpdatePolicyHasBeenSet() const { return m_blueGreenUpdatePolicyHasBeenSet; } /** *

Update policy for a blue/green deployment. If this update policy is * specified, SageMaker creates a new fleet during the deployment while maintaining * the old fleet. SageMaker flips traffic to the new fleet according to the * specified traffic routing configuration. Only one update policy should be used * in the deployment configuration. If no update policy is specified, SageMaker * uses a blue/green deployment strategy with all at once traffic shifting by * default.

*/ inline void SetBlueGreenUpdatePolicy(const BlueGreenUpdatePolicy& value) { m_blueGreenUpdatePolicyHasBeenSet = true; m_blueGreenUpdatePolicy = value; } /** *

Update policy for a blue/green deployment. If this update policy is * specified, SageMaker creates a new fleet during the deployment while maintaining * the old fleet. SageMaker flips traffic to the new fleet according to the * specified traffic routing configuration. Only one update policy should be used * in the deployment configuration. If no update policy is specified, SageMaker * uses a blue/green deployment strategy with all at once traffic shifting by * default.

*/ inline void SetBlueGreenUpdatePolicy(BlueGreenUpdatePolicy&& value) { m_blueGreenUpdatePolicyHasBeenSet = true; m_blueGreenUpdatePolicy = std::move(value); } /** *

Update policy for a blue/green deployment. If this update policy is * specified, SageMaker creates a new fleet during the deployment while maintaining * the old fleet. SageMaker flips traffic to the new fleet according to the * specified traffic routing configuration. Only one update policy should be used * in the deployment configuration. If no update policy is specified, SageMaker * uses a blue/green deployment strategy with all at once traffic shifting by * default.

*/ inline DeploymentConfig& WithBlueGreenUpdatePolicy(const BlueGreenUpdatePolicy& value) { SetBlueGreenUpdatePolicy(value); return *this;} /** *

Update policy for a blue/green deployment. If this update policy is * specified, SageMaker creates a new fleet during the deployment while maintaining * the old fleet. SageMaker flips traffic to the new fleet according to the * specified traffic routing configuration. Only one update policy should be used * in the deployment configuration. If no update policy is specified, SageMaker * uses a blue/green deployment strategy with all at once traffic shifting by * default.

*/ inline DeploymentConfig& WithBlueGreenUpdatePolicy(BlueGreenUpdatePolicy&& value) { SetBlueGreenUpdatePolicy(std::move(value)); return *this;} /** *

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

*/ inline const AutoRollbackConfig& GetAutoRollbackConfiguration() const{ return m_autoRollbackConfiguration; } /** *

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

*/ inline bool AutoRollbackConfigurationHasBeenSet() const { return m_autoRollbackConfigurationHasBeenSet; } /** *

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

*/ inline void SetAutoRollbackConfiguration(const AutoRollbackConfig& value) { m_autoRollbackConfigurationHasBeenSet = true; m_autoRollbackConfiguration = value; } /** *

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

*/ inline void SetAutoRollbackConfiguration(AutoRollbackConfig&& value) { m_autoRollbackConfigurationHasBeenSet = true; m_autoRollbackConfiguration = std::move(value); } /** *

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

*/ inline DeploymentConfig& WithAutoRollbackConfiguration(const AutoRollbackConfig& value) { SetAutoRollbackConfiguration(value); return *this;} /** *

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

*/ inline DeploymentConfig& WithAutoRollbackConfiguration(AutoRollbackConfig&& value) { SetAutoRollbackConfiguration(std::move(value)); return *this;} /** *

Specifies a rolling deployment strategy for updating a SageMaker * endpoint.

*/ inline const RollingUpdatePolicy& GetRollingUpdatePolicy() const{ return m_rollingUpdatePolicy; } /** *

Specifies a rolling deployment strategy for updating a SageMaker * endpoint.

*/ inline bool RollingUpdatePolicyHasBeenSet() const { return m_rollingUpdatePolicyHasBeenSet; } /** *

Specifies a rolling deployment strategy for updating a SageMaker * endpoint.

*/ inline void SetRollingUpdatePolicy(const RollingUpdatePolicy& value) { m_rollingUpdatePolicyHasBeenSet = true; m_rollingUpdatePolicy = value; } /** *

Specifies a rolling deployment strategy for updating a SageMaker * endpoint.

*/ inline void SetRollingUpdatePolicy(RollingUpdatePolicy&& value) { m_rollingUpdatePolicyHasBeenSet = true; m_rollingUpdatePolicy = std::move(value); } /** *

Specifies a rolling deployment strategy for updating a SageMaker * endpoint.

*/ inline DeploymentConfig& WithRollingUpdatePolicy(const RollingUpdatePolicy& value) { SetRollingUpdatePolicy(value); return *this;} /** *

Specifies a rolling deployment strategy for updating a SageMaker * endpoint.

*/ inline DeploymentConfig& WithRollingUpdatePolicy(RollingUpdatePolicy&& value) { SetRollingUpdatePolicy(std::move(value)); return *this;} private: BlueGreenUpdatePolicy m_blueGreenUpdatePolicy; bool m_blueGreenUpdatePolicyHasBeenSet = false; AutoRollbackConfig m_autoRollbackConfiguration; bool m_autoRollbackConfigurationHasBeenSet = false; RollingUpdatePolicy m_rollingUpdatePolicy; bool m_rollingUpdatePolicyHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws