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

The function's Lambda * SnapStart setting. Set ApplyOn to * PublishedVersions to create a snapshot of the initialized execution * environment when you publish a function version.

See Also:

AWS * API Reference

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

Set to PublishedVersions to create a snapshot of the initialized * execution environment when you publish a function version.

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

Set to PublishedVersions to create a snapshot of the initialized * execution environment when you publish a function version.

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

Set to PublishedVersions to create a snapshot of the initialized * execution environment when you publish a function version.

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

Set to PublishedVersions to create a snapshot of the initialized * execution environment when you publish a function version.

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

Set to PublishedVersions to create a snapshot of the initialized * execution environment when you publish a function version.

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

Set to PublishedVersions to create a snapshot of the initialized * execution environment when you publish a function version.

*/ inline SnapStart& WithApplyOn(SnapStartApplyOn&& value) { SetApplyOn(std::move(value)); return *this;} private: SnapStartApplyOn m_applyOn; bool m_applyOnHasBeenSet = false; }; } // namespace Model } // namespace Lambda } // namespace Aws