sdk
sdk copied to clipboard
Entities and relationships should have consumable information about the properties on them
Description
A common problem when working with the entities and relationships across our many integrations is knowing what properties can be expected. This issue is an extension of #672. The problem with convertProperties is that it hides information from those working on the project.
At the moment, the converters present in our many graph-* projects are better than convertProperties because there is some record of what may appear, but the information is not consumable.
A few ideas about ways we could increase entity and relationship visibility and consumability:
converters could be promoted to a first-class concept in the sdk. Almost every, if not all,graph-*projects use converters to transform the data received from the APIs into anEntityorRelationship, but the SDK itself has no concept of aconverter.- Information from the converter could be exported from the project.
- The
schemaobject on theStepEntityMetadatatype currently exists to make it easier to test that an entity matches a certain schema. However, we could use the information in the schema in the opposite direction as well. If we could generate converters from schemas, I think that would put us one step closer to making integrations easier for anyone to develop. - There should be a generated file in each project that exports information about the Entities/Relationships in them and their properties.
Related Issues: https://github.com/JupiterOne/sdk/issues/487, https://github.com/JupiterOne/sdk/issues/612