All Downloads are FREE. Search and download functionalities are using the official Maven repository.

schema.plugin-schema.graphql Maven / Gradle / Ivy

#
#    DeltaFi - Data transformation and enrichment platform
#
#    Copyright 2022 DeltaFi Contributors 
#
#    Licensed under the Apache License, Version 2.0 (the "License");
#    you may not use this file except in compliance with the License.
#    You may obtain a copy of the License at
#
#        http://www.apache.org/licenses/LICENSE-2.0
#
#    Unless required by applicable law or agreed to in writing, software
#    distributed under the License is distributed on an "AS IS" BASIS,
#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#    See the License for the specific language governing permissions and
#    limitations under the License.
#

"""
A Plugin is a collection of actions. It may depend on other Plugins.
"""
type Plugin {
    "The identifying coordinates"
    pluginCoordinates: PluginCoordinates!
    "A user-friendly name"
    displayName: String!
    "A description of the functionality provided"
    description: String!
    "The action kit version"
    actionKitVersion: String!
    "The actions included"
    actions: [ActionDescriptor!]
    "The plugin coordinates of required plugins"
    dependencies: [PluginCoordinates!]
    "The properties required"
    propertySets: [PropertySet!]
    "Variables associated with this plugin"
    variables: [Variable]
}

input PluginInput {
    "The identifying coordinates"
    pluginCoordinates: PluginCoordinatesInput!
    "A user-friendly name"
    displayName: String!
    "A description of the functionality provided"
    description: String!
    "The action kit version"
    actionKitVersion: String!
    "The actions included"
    actions: [ActionDescriptorInput!]
    "The plugin coordinates of required plugins"
    dependencies: [PluginCoordinatesInput!]
    "The properties required"
    propertySets: [PropertySetInput!]
}

"""
PluginCoordinates are used to uniquely identify a plugin.
"""
type PluginCoordinates {
    groupId: String!
    artifactId: String!
    version: String!
}

input PluginCoordinatesInput {
    groupId: String!
    artifactId: String!
    version: String!
}

type ActionDescriptor {
    name: String!
    consumes: String
    produces: String
    requiresDomains: [String]
}

input ActionDescriptorInput {
    name: String!
    consumes: String
    produces: String
    requiresDomains: [String]
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy