Directive(name: String, locations: List<DirectiveLocation>, execution: DirectiveExecution, description: String?, arguments: List<InputValue<*>>)
Directives provide a way to describe alternate runtime execution and type validation behavior in a GraphQL document.