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

Contains information about policies that define how a deployment updates * components and handles failure.

See Also:

AWS * API Reference

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

The failure handling policy for the configuration deployment. This policy * defines what to do if the deployment fails.

Default: * ROLLBACK

*/ inline const DeploymentFailureHandlingPolicy& GetFailureHandlingPolicy() const{ return m_failureHandlingPolicy; } /** *

The failure handling policy for the configuration deployment. This policy * defines what to do if the deployment fails.

Default: * ROLLBACK

*/ inline bool FailureHandlingPolicyHasBeenSet() const { return m_failureHandlingPolicyHasBeenSet; } /** *

The failure handling policy for the configuration deployment. This policy * defines what to do if the deployment fails.

Default: * ROLLBACK

*/ inline void SetFailureHandlingPolicy(const DeploymentFailureHandlingPolicy& value) { m_failureHandlingPolicyHasBeenSet = true; m_failureHandlingPolicy = value; } /** *

The failure handling policy for the configuration deployment. This policy * defines what to do if the deployment fails.

Default: * ROLLBACK

*/ inline void SetFailureHandlingPolicy(DeploymentFailureHandlingPolicy&& value) { m_failureHandlingPolicyHasBeenSet = true; m_failureHandlingPolicy = std::move(value); } /** *

The failure handling policy for the configuration deployment. This policy * defines what to do if the deployment fails.

Default: * ROLLBACK

*/ inline DeploymentPolicies& WithFailureHandlingPolicy(const DeploymentFailureHandlingPolicy& value) { SetFailureHandlingPolicy(value); return *this;} /** *

The failure handling policy for the configuration deployment. This policy * defines what to do if the deployment fails.

Default: * ROLLBACK

*/ inline DeploymentPolicies& WithFailureHandlingPolicy(DeploymentFailureHandlingPolicy&& value) { SetFailureHandlingPolicy(std::move(value)); return *this;} /** *

The component update policy for the configuration deployment. This policy * defines when it's safe to deploy the configuration to devices.

*/ inline const DeploymentComponentUpdatePolicy& GetComponentUpdatePolicy() const{ return m_componentUpdatePolicy; } /** *

The component update policy for the configuration deployment. This policy * defines when it's safe to deploy the configuration to devices.

*/ inline bool ComponentUpdatePolicyHasBeenSet() const { return m_componentUpdatePolicyHasBeenSet; } /** *

The component update policy for the configuration deployment. This policy * defines when it's safe to deploy the configuration to devices.

*/ inline void SetComponentUpdatePolicy(const DeploymentComponentUpdatePolicy& value) { m_componentUpdatePolicyHasBeenSet = true; m_componentUpdatePolicy = value; } /** *

The component update policy for the configuration deployment. This policy * defines when it's safe to deploy the configuration to devices.

*/ inline void SetComponentUpdatePolicy(DeploymentComponentUpdatePolicy&& value) { m_componentUpdatePolicyHasBeenSet = true; m_componentUpdatePolicy = std::move(value); } /** *

The component update policy for the configuration deployment. This policy * defines when it's safe to deploy the configuration to devices.

*/ inline DeploymentPolicies& WithComponentUpdatePolicy(const DeploymentComponentUpdatePolicy& value) { SetComponentUpdatePolicy(value); return *this;} /** *

The component update policy for the configuration deployment. This policy * defines when it's safe to deploy the configuration to devices.

*/ inline DeploymentPolicies& WithComponentUpdatePolicy(DeploymentComponentUpdatePolicy&& value) { SetComponentUpdatePolicy(std::move(value)); return *this;} /** *

The configuration validation policy for the configuration deployment. This * policy defines how long each component has to validate its configure * updates.

*/ inline const DeploymentConfigurationValidationPolicy& GetConfigurationValidationPolicy() const{ return m_configurationValidationPolicy; } /** *

The configuration validation policy for the configuration deployment. This * policy defines how long each component has to validate its configure * updates.

*/ inline bool ConfigurationValidationPolicyHasBeenSet() const { return m_configurationValidationPolicyHasBeenSet; } /** *

The configuration validation policy for the configuration deployment. This * policy defines how long each component has to validate its configure * updates.

*/ inline void SetConfigurationValidationPolicy(const DeploymentConfigurationValidationPolicy& value) { m_configurationValidationPolicyHasBeenSet = true; m_configurationValidationPolicy = value; } /** *

The configuration validation policy for the configuration deployment. This * policy defines how long each component has to validate its configure * updates.

*/ inline void SetConfigurationValidationPolicy(DeploymentConfigurationValidationPolicy&& value) { m_configurationValidationPolicyHasBeenSet = true; m_configurationValidationPolicy = std::move(value); } /** *

The configuration validation policy for the configuration deployment. This * policy defines how long each component has to validate its configure * updates.

*/ inline DeploymentPolicies& WithConfigurationValidationPolicy(const DeploymentConfigurationValidationPolicy& value) { SetConfigurationValidationPolicy(value); return *this;} /** *

The configuration validation policy for the configuration deployment. This * policy defines how long each component has to validate its configure * updates.

*/ inline DeploymentPolicies& WithConfigurationValidationPolicy(DeploymentConfigurationValidationPolicy&& value) { SetConfigurationValidationPolicy(std::move(value)); return *this;} private: DeploymentFailureHandlingPolicy m_failureHandlingPolicy; bool m_failureHandlingPolicyHasBeenSet = false; DeploymentComponentUpdatePolicy m_componentUpdatePolicy; bool m_componentUpdatePolicyHasBeenSet = false; DeploymentConfigurationValidationPolicy m_configurationValidationPolicy; bool m_configurationValidationPolicyHasBeenSet = false; }; } // namespace Model } // namespace GreengrassV2 } // namespace Aws