{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-iot-twinmaker/refs/heads/main/json-schema/iot-twinmaker-update-component-type-request-schema.json",
  "title": "UpdateComponentTypeRequest",
  "description": "UpdateComponentTypeRequest schema",
  "type": "object",
  "properties": {
    "isSingleton": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Boolean"
        },
        {
          "description": "A Boolean value that specifies whether an entity can have more than one component of this type."
        }
      ]
    },
    "description": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Description"
        },
        {
          "description": "The description of the component type."
        }
      ]
    },
    "propertyDefinitions": {
      "allOf": [
        {
          "$ref": "#/components/schemas/PropertyDefinitionsRequest"
        },
        {
          "description": "An object that maps strings to the property definitions in the component type. Each string in the mapping must be unique to this object."
        }
      ]
    },
    "extendsFrom": {
      "allOf": [
        {
          "$ref": "#/components/schemas/ExtendsFrom"
        },
        {
          "description": "Specifies the component type that this component type extends."
        }
      ]
    },
    "functions": {
      "allOf": [
        {
          "$ref": "#/components/schemas/FunctionsRequest"
        },
        {
          "description": "An object that maps strings to the functions in the component type. Each string in the mapping must be unique to this object."
        }
      ]
    },
    "propertyGroups": {
      "allOf": [
        {
          "$ref": "#/components/schemas/PropertyGroupsRequest"
        },
        {
          "description": "The property groups."
        }
      ]
    },
    "componentTypeName": {
      "allOf": [
        {
          "$ref": "#/components/schemas/ComponentTypeName"
        },
        {
          "description": "The component type name."
        }
      ]
    }
  }
}