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

A nested UI configuration within a parent * Component.

See Also:

AWS * API Reference

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

The type of the child component.

*/ inline const Aws::String& GetComponentType() const{ return m_componentType; } /** *

The type of the child component.

*/ inline bool ComponentTypeHasBeenSet() const { return m_componentTypeHasBeenSet; } /** *

The type of the child component.

*/ inline void SetComponentType(const Aws::String& value) { m_componentTypeHasBeenSet = true; m_componentType = value; } /** *

The type of the child component.

*/ inline void SetComponentType(Aws::String&& value) { m_componentTypeHasBeenSet = true; m_componentType = std::move(value); } /** *

The type of the child component.

*/ inline void SetComponentType(const char* value) { m_componentTypeHasBeenSet = true; m_componentType.assign(value); } /** *

The type of the child component.

*/ inline ComponentChild& WithComponentType(const Aws::String& value) { SetComponentType(value); return *this;} /** *

The type of the child component.

*/ inline ComponentChild& WithComponentType(Aws::String&& value) { SetComponentType(std::move(value)); return *this;} /** *

The type of the child component.

*/ inline ComponentChild& WithComponentType(const char* value) { SetComponentType(value); return *this;} /** *

The name of the child component.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the child component.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the child component.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the child component.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the child component.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the child component.

*/ inline ComponentChild& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the child component.

*/ inline ComponentChild& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the child component.

*/ inline ComponentChild& WithName(const char* value) { SetName(value); return *this;} /** *

Describes the properties of the child component. You can't specify * tags as a valid property for properties.

*/ inline const Aws::Map& GetProperties() const{ return m_properties; } /** *

Describes the properties of the child component. You can't specify * tags as a valid property for properties.

*/ inline bool PropertiesHasBeenSet() const { return m_propertiesHasBeenSet; } /** *

Describes the properties of the child component. You can't specify * tags as a valid property for properties.

*/ inline void SetProperties(const Aws::Map& value) { m_propertiesHasBeenSet = true; m_properties = value; } /** *

Describes the properties of the child component. You can't specify * tags as a valid property for properties.

*/ inline void SetProperties(Aws::Map&& value) { m_propertiesHasBeenSet = true; m_properties = std::move(value); } /** *

Describes the properties of the child component. You can't specify * tags as a valid property for properties.

*/ inline ComponentChild& WithProperties(const Aws::Map& value) { SetProperties(value); return *this;} /** *

Describes the properties of the child component. You can't specify * tags as a valid property for properties.

*/ inline ComponentChild& WithProperties(Aws::Map&& value) { SetProperties(std::move(value)); return *this;} /** *

Describes the properties of the child component. You can't specify * tags as a valid property for properties.

*/ inline ComponentChild& AddProperties(const Aws::String& key, const ComponentProperty& value) { m_propertiesHasBeenSet = true; m_properties.emplace(key, value); return *this; } /** *

Describes the properties of the child component. You can't specify * tags as a valid property for properties.

*/ inline ComponentChild& AddProperties(Aws::String&& key, const ComponentProperty& value) { m_propertiesHasBeenSet = true; m_properties.emplace(std::move(key), value); return *this; } /** *

Describes the properties of the child component. You can't specify * tags as a valid property for properties.

*/ inline ComponentChild& AddProperties(const Aws::String& key, ComponentProperty&& value) { m_propertiesHasBeenSet = true; m_properties.emplace(key, std::move(value)); return *this; } /** *

Describes the properties of the child component. You can't specify * tags as a valid property for properties.

*/ inline ComponentChild& AddProperties(Aws::String&& key, ComponentProperty&& value) { m_propertiesHasBeenSet = true; m_properties.emplace(std::move(key), std::move(value)); return *this; } /** *

Describes the properties of the child component. You can't specify * tags as a valid property for properties.

*/ inline ComponentChild& AddProperties(const char* key, ComponentProperty&& value) { m_propertiesHasBeenSet = true; m_properties.emplace(key, std::move(value)); return *this; } /** *

Describes the properties of the child component. You can't specify * tags as a valid property for properties.

*/ inline ComponentChild& AddProperties(const char* key, const ComponentProperty& value) { m_propertiesHasBeenSet = true; m_properties.emplace(key, value); return *this; } /** *

The list of ComponentChild instances for this component.

*/ inline const Aws::Vector& GetChildren() const{ return m_children; } /** *

The list of ComponentChild instances for this component.

*/ inline bool ChildrenHasBeenSet() const { return m_childrenHasBeenSet; } /** *

The list of ComponentChild instances for this component.

*/ inline void SetChildren(const Aws::Vector& value) { m_childrenHasBeenSet = true; m_children = value; } /** *

The list of ComponentChild instances for this component.

*/ inline void SetChildren(Aws::Vector&& value) { m_childrenHasBeenSet = true; m_children = std::move(value); } /** *

The list of ComponentChild instances for this component.

*/ inline ComponentChild& WithChildren(const Aws::Vector& value) { SetChildren(value); return *this;} /** *

The list of ComponentChild instances for this component.

*/ inline ComponentChild& WithChildren(Aws::Vector&& value) { SetChildren(std::move(value)); return *this;} /** *

The list of ComponentChild instances for this component.

*/ inline ComponentChild& AddChildren(const ComponentChild& value) { m_childrenHasBeenSet = true; m_children.push_back(value); return *this; } /** *

The list of ComponentChild instances for this component.

*/ inline ComponentChild& AddChildren(ComponentChild&& value) { m_childrenHasBeenSet = true; m_children.push_back(std::move(value)); return *this; } /** *

Describes the events that can be raised on the child component. Use for the * workflow feature in Amplify Studio that allows you to bind events and actions to * components.

*/ inline const Aws::Map& GetEvents() const{ return m_events; } /** *

Describes the events that can be raised on the child component. Use for the * workflow feature in Amplify Studio that allows you to bind events and actions to * components.

*/ inline bool EventsHasBeenSet() const { return m_eventsHasBeenSet; } /** *

Describes the events that can be raised on the child component. Use for the * workflow feature in Amplify Studio that allows you to bind events and actions to * components.

*/ inline void SetEvents(const Aws::Map& value) { m_eventsHasBeenSet = true; m_events = value; } /** *

Describes the events that can be raised on the child component. Use for the * workflow feature in Amplify Studio that allows you to bind events and actions to * components.

*/ inline void SetEvents(Aws::Map&& value) { m_eventsHasBeenSet = true; m_events = std::move(value); } /** *

Describes the events that can be raised on the child component. Use for the * workflow feature in Amplify Studio that allows you to bind events and actions to * components.

*/ inline ComponentChild& WithEvents(const Aws::Map& value) { SetEvents(value); return *this;} /** *

Describes the events that can be raised on the child component. Use for the * workflow feature in Amplify Studio that allows you to bind events and actions to * components.

*/ inline ComponentChild& WithEvents(Aws::Map&& value) { SetEvents(std::move(value)); return *this;} /** *

Describes the events that can be raised on the child component. Use for the * workflow feature in Amplify Studio that allows you to bind events and actions to * components.

*/ inline ComponentChild& AddEvents(const Aws::String& key, const ComponentEvent& value) { m_eventsHasBeenSet = true; m_events.emplace(key, value); return *this; } /** *

Describes the events that can be raised on the child component. Use for the * workflow feature in Amplify Studio that allows you to bind events and actions to * components.

*/ inline ComponentChild& AddEvents(Aws::String&& key, const ComponentEvent& value) { m_eventsHasBeenSet = true; m_events.emplace(std::move(key), value); return *this; } /** *

Describes the events that can be raised on the child component. Use for the * workflow feature in Amplify Studio that allows you to bind events and actions to * components.

*/ inline ComponentChild& AddEvents(const Aws::String& key, ComponentEvent&& value) { m_eventsHasBeenSet = true; m_events.emplace(key, std::move(value)); return *this; } /** *

Describes the events that can be raised on the child component. Use for the * workflow feature in Amplify Studio that allows you to bind events and actions to * components.

*/ inline ComponentChild& AddEvents(Aws::String&& key, ComponentEvent&& value) { m_eventsHasBeenSet = true; m_events.emplace(std::move(key), std::move(value)); return *this; } /** *

Describes the events that can be raised on the child component. Use for the * workflow feature in Amplify Studio that allows you to bind events and actions to * components.

*/ inline ComponentChild& AddEvents(const char* key, ComponentEvent&& value) { m_eventsHasBeenSet = true; m_events.emplace(key, std::move(value)); return *this; } /** *

Describes the events that can be raised on the child component. Use for the * workflow feature in Amplify Studio that allows you to bind events and actions to * components.

*/ inline ComponentChild& AddEvents(const char* key, const ComponentEvent& value) { m_eventsHasBeenSet = true; m_events.emplace(key, value); return *this; } /** *

The unique ID of the child component in its original source system, such as * Figma.

*/ inline const Aws::String& GetSourceId() const{ return m_sourceId; } /** *

The unique ID of the child component in its original source system, such as * Figma.

*/ inline bool SourceIdHasBeenSet() const { return m_sourceIdHasBeenSet; } /** *

The unique ID of the child component in its original source system, such as * Figma.

*/ inline void SetSourceId(const Aws::String& value) { m_sourceIdHasBeenSet = true; m_sourceId = value; } /** *

The unique ID of the child component in its original source system, such as * Figma.

*/ inline void SetSourceId(Aws::String&& value) { m_sourceIdHasBeenSet = true; m_sourceId = std::move(value); } /** *

The unique ID of the child component in its original source system, such as * Figma.

*/ inline void SetSourceId(const char* value) { m_sourceIdHasBeenSet = true; m_sourceId.assign(value); } /** *

The unique ID of the child component in its original source system, such as * Figma.

*/ inline ComponentChild& WithSourceId(const Aws::String& value) { SetSourceId(value); return *this;} /** *

The unique ID of the child component in its original source system, such as * Figma.

*/ inline ComponentChild& WithSourceId(Aws::String&& value) { SetSourceId(std::move(value)); return *this;} /** *

The unique ID of the child component in its original source system, such as * Figma.

*/ inline ComponentChild& WithSourceId(const char* value) { SetSourceId(value); return *this;} private: Aws::String m_componentType; bool m_componentTypeHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::Map m_properties; bool m_propertiesHasBeenSet = false; Aws::Vector m_children; bool m_childrenHasBeenSet = false; Aws::Map m_events; bool m_eventsHasBeenSet = false; Aws::String m_sourceId; bool m_sourceIdHasBeenSet = false; }; } // namespace Model } // namespace AmplifyUIBuilder } // namespace Aws