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

The component update request.

See Also:

AWS * API Reference

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

The update type of the component update request.

*/ inline const ComponentUpdateType& GetUpdateType() const{ return m_updateType; } /** *

The update type of the component update request.

*/ inline bool UpdateTypeHasBeenSet() const { return m_updateTypeHasBeenSet; } /** *

The update type of the component update request.

*/ inline void SetUpdateType(const ComponentUpdateType& value) { m_updateTypeHasBeenSet = true; m_updateType = value; } /** *

The update type of the component update request.

*/ inline void SetUpdateType(ComponentUpdateType&& value) { m_updateTypeHasBeenSet = true; m_updateType = std::move(value); } /** *

The update type of the component update request.

*/ inline ComponentUpdateRequest& WithUpdateType(const ComponentUpdateType& value) { SetUpdateType(value); return *this;} /** *

The update type of the component update request.

*/ inline ComponentUpdateRequest& WithUpdateType(ComponentUpdateType&& value) { SetUpdateType(std::move(value)); return *this;} /** *

The description of the component type.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The description of the component type.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

The description of the component type.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

The description of the component type.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

The description of the component type.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

The description of the component type.

*/ inline ComponentUpdateRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The description of the component type.

*/ inline ComponentUpdateRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The description of the component type.

*/ inline ComponentUpdateRequest& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The ID of the component type.

*/ inline const Aws::String& GetComponentTypeId() const{ return m_componentTypeId; } /** *

The ID of the component type.

*/ inline bool ComponentTypeIdHasBeenSet() const { return m_componentTypeIdHasBeenSet; } /** *

The ID of the component type.

*/ inline void SetComponentTypeId(const Aws::String& value) { m_componentTypeIdHasBeenSet = true; m_componentTypeId = value; } /** *

The ID of the component type.

*/ inline void SetComponentTypeId(Aws::String&& value) { m_componentTypeIdHasBeenSet = true; m_componentTypeId = std::move(value); } /** *

The ID of the component type.

*/ inline void SetComponentTypeId(const char* value) { m_componentTypeIdHasBeenSet = true; m_componentTypeId.assign(value); } /** *

The ID of the component type.

*/ inline ComponentUpdateRequest& WithComponentTypeId(const Aws::String& value) { SetComponentTypeId(value); return *this;} /** *

The ID of the component type.

*/ inline ComponentUpdateRequest& WithComponentTypeId(Aws::String&& value) { SetComponentTypeId(std::move(value)); return *this;} /** *

The ID of the component type.

*/ inline ComponentUpdateRequest& WithComponentTypeId(const char* value) { SetComponentTypeId(value); return *this;} /** *

An object that maps strings to the properties to set in the component type * update. Each string in the mapping must be unique to this object.

*/ inline const Aws::Map& GetPropertyUpdates() const{ return m_propertyUpdates; } /** *

An object that maps strings to the properties to set in the component type * update. Each string in the mapping must be unique to this object.

*/ inline bool PropertyUpdatesHasBeenSet() const { return m_propertyUpdatesHasBeenSet; } /** *

An object that maps strings to the properties to set in the component type * update. Each string in the mapping must be unique to this object.

*/ inline void SetPropertyUpdates(const Aws::Map& value) { m_propertyUpdatesHasBeenSet = true; m_propertyUpdates = value; } /** *

An object that maps strings to the properties to set in the component type * update. Each string in the mapping must be unique to this object.

*/ inline void SetPropertyUpdates(Aws::Map&& value) { m_propertyUpdatesHasBeenSet = true; m_propertyUpdates = std::move(value); } /** *

An object that maps strings to the properties to set in the component type * update. Each string in the mapping must be unique to this object.

*/ inline ComponentUpdateRequest& WithPropertyUpdates(const Aws::Map& value) { SetPropertyUpdates(value); return *this;} /** *

An object that maps strings to the properties to set in the component type * update. Each string in the mapping must be unique to this object.

*/ inline ComponentUpdateRequest& WithPropertyUpdates(Aws::Map&& value) { SetPropertyUpdates(std::move(value)); return *this;} /** *

An object that maps strings to the properties to set in the component type * update. Each string in the mapping must be unique to this object.

*/ inline ComponentUpdateRequest& AddPropertyUpdates(const Aws::String& key, const PropertyRequest& value) { m_propertyUpdatesHasBeenSet = true; m_propertyUpdates.emplace(key, value); return *this; } /** *

An object that maps strings to the properties to set in the component type * update. Each string in the mapping must be unique to this object.

*/ inline ComponentUpdateRequest& AddPropertyUpdates(Aws::String&& key, const PropertyRequest& value) { m_propertyUpdatesHasBeenSet = true; m_propertyUpdates.emplace(std::move(key), value); return *this; } /** *

An object that maps strings to the properties to set in the component type * update. Each string in the mapping must be unique to this object.

*/ inline ComponentUpdateRequest& AddPropertyUpdates(const Aws::String& key, PropertyRequest&& value) { m_propertyUpdatesHasBeenSet = true; m_propertyUpdates.emplace(key, std::move(value)); return *this; } /** *

An object that maps strings to the properties to set in the component type * update. Each string in the mapping must be unique to this object.

*/ inline ComponentUpdateRequest& AddPropertyUpdates(Aws::String&& key, PropertyRequest&& value) { m_propertyUpdatesHasBeenSet = true; m_propertyUpdates.emplace(std::move(key), std::move(value)); return *this; } /** *

An object that maps strings to the properties to set in the component type * update. Each string in the mapping must be unique to this object.

*/ inline ComponentUpdateRequest& AddPropertyUpdates(const char* key, PropertyRequest&& value) { m_propertyUpdatesHasBeenSet = true; m_propertyUpdates.emplace(key, std::move(value)); return *this; } /** *

An object that maps strings to the properties to set in the component type * update. Each string in the mapping must be unique to this object.

*/ inline ComponentUpdateRequest& AddPropertyUpdates(const char* key, const PropertyRequest& value) { m_propertyUpdatesHasBeenSet = true; m_propertyUpdates.emplace(key, value); return *this; } /** *

The property group updates.

*/ inline const Aws::Map& GetPropertyGroupUpdates() const{ return m_propertyGroupUpdates; } /** *

The property group updates.

*/ inline bool PropertyGroupUpdatesHasBeenSet() const { return m_propertyGroupUpdatesHasBeenSet; } /** *

The property group updates.

*/ inline void SetPropertyGroupUpdates(const Aws::Map& value) { m_propertyGroupUpdatesHasBeenSet = true; m_propertyGroupUpdates = value; } /** *

The property group updates.

*/ inline void SetPropertyGroupUpdates(Aws::Map&& value) { m_propertyGroupUpdatesHasBeenSet = true; m_propertyGroupUpdates = std::move(value); } /** *

The property group updates.

*/ inline ComponentUpdateRequest& WithPropertyGroupUpdates(const Aws::Map& value) { SetPropertyGroupUpdates(value); return *this;} /** *

The property group updates.

*/ inline ComponentUpdateRequest& WithPropertyGroupUpdates(Aws::Map&& value) { SetPropertyGroupUpdates(std::move(value)); return *this;} /** *

The property group updates.

*/ inline ComponentUpdateRequest& AddPropertyGroupUpdates(const Aws::String& key, const ComponentPropertyGroupRequest& value) { m_propertyGroupUpdatesHasBeenSet = true; m_propertyGroupUpdates.emplace(key, value); return *this; } /** *

The property group updates.

*/ inline ComponentUpdateRequest& AddPropertyGroupUpdates(Aws::String&& key, const ComponentPropertyGroupRequest& value) { m_propertyGroupUpdatesHasBeenSet = true; m_propertyGroupUpdates.emplace(std::move(key), value); return *this; } /** *

The property group updates.

*/ inline ComponentUpdateRequest& AddPropertyGroupUpdates(const Aws::String& key, ComponentPropertyGroupRequest&& value) { m_propertyGroupUpdatesHasBeenSet = true; m_propertyGroupUpdates.emplace(key, std::move(value)); return *this; } /** *

The property group updates.

*/ inline ComponentUpdateRequest& AddPropertyGroupUpdates(Aws::String&& key, ComponentPropertyGroupRequest&& value) { m_propertyGroupUpdatesHasBeenSet = true; m_propertyGroupUpdates.emplace(std::move(key), std::move(value)); return *this; } /** *

The property group updates.

*/ inline ComponentUpdateRequest& AddPropertyGroupUpdates(const char* key, ComponentPropertyGroupRequest&& value) { m_propertyGroupUpdatesHasBeenSet = true; m_propertyGroupUpdates.emplace(key, std::move(value)); return *this; } /** *

The property group updates.

*/ inline ComponentUpdateRequest& AddPropertyGroupUpdates(const char* key, const ComponentPropertyGroupRequest& value) { m_propertyGroupUpdatesHasBeenSet = true; m_propertyGroupUpdates.emplace(key, value); return *this; } private: ComponentUpdateType m_updateType; bool m_updateTypeHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_componentTypeId; bool m_componentTypeIdHasBeenSet = false; Aws::Map m_propertyUpdates; bool m_propertyUpdatesHasBeenSet = false; Aws::Map m_propertyGroupUpdates; bool m_propertyGroupUpdatesHasBeenSet = false; }; } // namespace Model } // namespace IoTTwinMaker } // namespace Aws