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

The function's SnapStart * setting.

See Also:

AWS * API Reference

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

When set to PublishedVersions, Lambda creates a snapshot of the * execution environment when you publish a function version.

*/ inline const SnapStartApplyOn& GetApplyOn() const{ return m_applyOn; } /** *

When set to PublishedVersions, Lambda creates a snapshot of the * execution environment when you publish a function version.

*/ inline bool ApplyOnHasBeenSet() const { return m_applyOnHasBeenSet; } /** *

When set to PublishedVersions, Lambda creates a snapshot of the * execution environment when you publish a function version.

*/ inline void SetApplyOn(const SnapStartApplyOn& value) { m_applyOnHasBeenSet = true; m_applyOn = value; } /** *

When set to PublishedVersions, Lambda creates a snapshot of the * execution environment when you publish a function version.

*/ inline void SetApplyOn(SnapStartApplyOn&& value) { m_applyOnHasBeenSet = true; m_applyOn = std::move(value); } /** *

When set to PublishedVersions, Lambda creates a snapshot of the * execution environment when you publish a function version.

*/ inline SnapStartResponse& WithApplyOn(const SnapStartApplyOn& value) { SetApplyOn(value); return *this;} /** *

When set to PublishedVersions, Lambda creates a snapshot of the * execution environment when you publish a function version.

*/ inline SnapStartResponse& WithApplyOn(SnapStartApplyOn&& value) { SetApplyOn(std::move(value)); return *this;} /** *

When you provide a qualified * Amazon Resource Name (ARN), this response element indicates whether * SnapStart is activated for the specified function version.

*/ inline const SnapStartOptimizationStatus& GetOptimizationStatus() const{ return m_optimizationStatus; } /** *

When you provide a qualified * Amazon Resource Name (ARN), this response element indicates whether * SnapStart is activated for the specified function version.

*/ inline bool OptimizationStatusHasBeenSet() const { return m_optimizationStatusHasBeenSet; } /** *

When you provide a qualified * Amazon Resource Name (ARN), this response element indicates whether * SnapStart is activated for the specified function version.

*/ inline void SetOptimizationStatus(const SnapStartOptimizationStatus& value) { m_optimizationStatusHasBeenSet = true; m_optimizationStatus = value; } /** *

When you provide a qualified * Amazon Resource Name (ARN), this response element indicates whether * SnapStart is activated for the specified function version.

*/ inline void SetOptimizationStatus(SnapStartOptimizationStatus&& value) { m_optimizationStatusHasBeenSet = true; m_optimizationStatus = std::move(value); } /** *

When you provide a qualified * Amazon Resource Name (ARN), this response element indicates whether * SnapStart is activated for the specified function version.

*/ inline SnapStartResponse& WithOptimizationStatus(const SnapStartOptimizationStatus& value) { SetOptimizationStatus(value); return *this;} /** *

When you provide a qualified * Amazon Resource Name (ARN), this response element indicates whether * SnapStart is activated for the specified function version.

*/ inline SnapStartResponse& WithOptimizationStatus(SnapStartOptimizationStatus&& value) { SetOptimizationStatus(std::move(value)); return *this;} private: SnapStartApplyOn m_applyOn; bool m_applyOnHasBeenSet = false; SnapStartOptimizationStatus m_optimizationStatus; bool m_optimizationStatusHasBeenSet = false; }; } // namespace Model } // namespace Lambda } // namespace Aws