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

Contains information about a deployment's update to a component's * configuration on Greengrass core devices. For more information, see Update * component configurations in the IoT Greengrass V2 Developer * Guide.

See Also:

AWS * API Reference

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

A serialized JSON string that contains the configuration object to merge to * target devices. The core device merges this configuration with the component's * existing configuration. If this is the first time a component deploys on a * device, the core device merges this configuration with the component's default * configuration. This means that the core device keeps it's existing configuration * for keys and values that you don't specify in this object. For more information, * see Merge * configuration updates in the IoT Greengrass V2 Developer Guide.

*/ inline const Aws::String& GetMerge() const{ return m_merge; } /** *

A serialized JSON string that contains the configuration object to merge to * target devices. The core device merges this configuration with the component's * existing configuration. If this is the first time a component deploys on a * device, the core device merges this configuration with the component's default * configuration. This means that the core device keeps it's existing configuration * for keys and values that you don't specify in this object. For more information, * see Merge * configuration updates in the IoT Greengrass V2 Developer Guide.

*/ inline bool MergeHasBeenSet() const { return m_mergeHasBeenSet; } /** *

A serialized JSON string that contains the configuration object to merge to * target devices. The core device merges this configuration with the component's * existing configuration. If this is the first time a component deploys on a * device, the core device merges this configuration with the component's default * configuration. This means that the core device keeps it's existing configuration * for keys and values that you don't specify in this object. For more information, * see Merge * configuration updates in the IoT Greengrass V2 Developer Guide.

*/ inline void SetMerge(const Aws::String& value) { m_mergeHasBeenSet = true; m_merge = value; } /** *

A serialized JSON string that contains the configuration object to merge to * target devices. The core device merges this configuration with the component's * existing configuration. If this is the first time a component deploys on a * device, the core device merges this configuration with the component's default * configuration. This means that the core device keeps it's existing configuration * for keys and values that you don't specify in this object. For more information, * see Merge * configuration updates in the IoT Greengrass V2 Developer Guide.

*/ inline void SetMerge(Aws::String&& value) { m_mergeHasBeenSet = true; m_merge = std::move(value); } /** *

A serialized JSON string that contains the configuration object to merge to * target devices. The core device merges this configuration with the component's * existing configuration. If this is the first time a component deploys on a * device, the core device merges this configuration with the component's default * configuration. This means that the core device keeps it's existing configuration * for keys and values that you don't specify in this object. For more information, * see Merge * configuration updates in the IoT Greengrass V2 Developer Guide.

*/ inline void SetMerge(const char* value) { m_mergeHasBeenSet = true; m_merge.assign(value); } /** *

A serialized JSON string that contains the configuration object to merge to * target devices. The core device merges this configuration with the component's * existing configuration. If this is the first time a component deploys on a * device, the core device merges this configuration with the component's default * configuration. This means that the core device keeps it's existing configuration * for keys and values that you don't specify in this object. For more information, * see Merge * configuration updates in the IoT Greengrass V2 Developer Guide.

*/ inline ComponentConfigurationUpdate& WithMerge(const Aws::String& value) { SetMerge(value); return *this;} /** *

A serialized JSON string that contains the configuration object to merge to * target devices. The core device merges this configuration with the component's * existing configuration. If this is the first time a component deploys on a * device, the core device merges this configuration with the component's default * configuration. This means that the core device keeps it's existing configuration * for keys and values that you don't specify in this object. For more information, * see Merge * configuration updates in the IoT Greengrass V2 Developer Guide.

*/ inline ComponentConfigurationUpdate& WithMerge(Aws::String&& value) { SetMerge(std::move(value)); return *this;} /** *

A serialized JSON string that contains the configuration object to merge to * target devices. The core device merges this configuration with the component's * existing configuration. If this is the first time a component deploys on a * device, the core device merges this configuration with the component's default * configuration. This means that the core device keeps it's existing configuration * for keys and values that you don't specify in this object. For more information, * see Merge * configuration updates in the IoT Greengrass V2 Developer Guide.

*/ inline ComponentConfigurationUpdate& WithMerge(const char* value) { SetMerge(value); return *this;} /** *

The list of configuration nodes to reset to default values on target devices. * Use JSON pointers to specify each node to reset. JSON pointers start with a * forward slash (/) and use forward slashes to separate the key for * each level in the object. For more information, see the JSON pointer specification and Reset * configuration updates in the IoT Greengrass V2 Developer Guide.

*/ inline const Aws::Vector& GetReset() const{ return m_reset; } /** *

The list of configuration nodes to reset to default values on target devices. * Use JSON pointers to specify each node to reset. JSON pointers start with a * forward slash (/) and use forward slashes to separate the key for * each level in the object. For more information, see the JSON pointer specification and Reset * configuration updates in the IoT Greengrass V2 Developer Guide.

*/ inline bool ResetHasBeenSet() const { return m_resetHasBeenSet; } /** *

The list of configuration nodes to reset to default values on target devices. * Use JSON pointers to specify each node to reset. JSON pointers start with a * forward slash (/) and use forward slashes to separate the key for * each level in the object. For more information, see the JSON pointer specification and Reset * configuration updates in the IoT Greengrass V2 Developer Guide.

*/ inline void SetReset(const Aws::Vector& value) { m_resetHasBeenSet = true; m_reset = value; } /** *

The list of configuration nodes to reset to default values on target devices. * Use JSON pointers to specify each node to reset. JSON pointers start with a * forward slash (/) and use forward slashes to separate the key for * each level in the object. For more information, see the JSON pointer specification and Reset * configuration updates in the IoT Greengrass V2 Developer Guide.

*/ inline void SetReset(Aws::Vector&& value) { m_resetHasBeenSet = true; m_reset = std::move(value); } /** *

The list of configuration nodes to reset to default values on target devices. * Use JSON pointers to specify each node to reset. JSON pointers start with a * forward slash (/) and use forward slashes to separate the key for * each level in the object. For more information, see the JSON pointer specification and Reset * configuration updates in the IoT Greengrass V2 Developer Guide.

*/ inline ComponentConfigurationUpdate& WithReset(const Aws::Vector& value) { SetReset(value); return *this;} /** *

The list of configuration nodes to reset to default values on target devices. * Use JSON pointers to specify each node to reset. JSON pointers start with a * forward slash (/) and use forward slashes to separate the key for * each level in the object. For more information, see the JSON pointer specification and Reset * configuration updates in the IoT Greengrass V2 Developer Guide.

*/ inline ComponentConfigurationUpdate& WithReset(Aws::Vector&& value) { SetReset(std::move(value)); return *this;} /** *

The list of configuration nodes to reset to default values on target devices. * Use JSON pointers to specify each node to reset. JSON pointers start with a * forward slash (/) and use forward slashes to separate the key for * each level in the object. For more information, see the JSON pointer specification and Reset * configuration updates in the IoT Greengrass V2 Developer Guide.

*/ inline ComponentConfigurationUpdate& AddReset(const Aws::String& value) { m_resetHasBeenSet = true; m_reset.push_back(value); return *this; } /** *

The list of configuration nodes to reset to default values on target devices. * Use JSON pointers to specify each node to reset. JSON pointers start with a * forward slash (/) and use forward slashes to separate the key for * each level in the object. For more information, see the JSON pointer specification and Reset * configuration updates in the IoT Greengrass V2 Developer Guide.

*/ inline ComponentConfigurationUpdate& AddReset(Aws::String&& value) { m_resetHasBeenSet = true; m_reset.push_back(std::move(value)); return *this; } /** *

The list of configuration nodes to reset to default values on target devices. * Use JSON pointers to specify each node to reset. JSON pointers start with a * forward slash (/) and use forward slashes to separate the key for * each level in the object. For more information, see the JSON pointer specification and Reset * configuration updates in the IoT Greengrass V2 Developer Guide.

*/ inline ComponentConfigurationUpdate& AddReset(const char* value) { m_resetHasBeenSet = true; m_reset.push_back(value); return *this; } private: Aws::String m_merge; bool m_mergeHasBeenSet = false; Aws::Vector m_reset; bool m_resetHasBeenSet = false; }; } // namespace Model } // namespace GreengrassV2 } // namespace Aws