phql.federation.federation-graphql-java-support.5.2.0.source-code.definitions_fed2_9.graphqls Maven / Gradle / Ivy
#
# https://specs.apollo.dev/federation/v2.0/federation-v2.0.graphql
#
directive @key(fields: FieldSet!, resolvable: Boolean = true) repeatable on OBJECT | INTERFACE
directive @requires(fields: FieldSet!) on FIELD_DEFINITION
directive @provides(fields: FieldSet!) on FIELD_DEFINITION
directive @external on OBJECT | FIELD_DEFINITION
directive @extends on OBJECT | INTERFACE
directive @inaccessible on
| FIELD_DEFINITION
| OBJECT
| INTERFACE
| UNION
| ENUM
| ENUM_VALUE
| SCALAR
| INPUT_OBJECT
| INPUT_FIELD_DEFINITION
| ARGUMENT_DEFINITION
directive @tag(name: String!) repeatable on
| FIELD_DEFINITION
| INTERFACE
| OBJECT
| UNION
| ARGUMENT_DEFINITION
| SCALAR
| ENUM
| ENUM_VALUE
| INPUT_OBJECT
| INPUT_FIELD_DEFINITION
scalar FieldSet
#
# https://specs.apollo.dev/link/v1.0/link-v1.0.graphql
#
directive @link(
url: String!,
as: String,
import: [Import],
for: Purpose)
repeatable on SCHEMA
scalar Import
enum Purpose {
SECURITY
EXECUTION
}
#
# federation-v2.1
#
directive @composeDirective(name: String!) repeatable on SCHEMA
#
# federation-v2.2
#
directive @shareable repeatable on FIELD_DEFINITION | OBJECT
#
# federation-v2.3
#
directive @interfaceObject on OBJECT
#
# federation-v2.5
#
directive @authenticated on
ENUM
| FIELD_DEFINITION
| INTERFACE
| OBJECT
| SCALAR
directive @requiresScopes(scopes: [[Scope!]!]!) on
ENUM
| FIELD_DEFINITION
| INTERFACE
| OBJECT
| SCALAR
scalar Scope
#
# federation-v2.6
#
directive @policy(policies: [[Policy!]!]!) on
ENUM
| FIELD_DEFINITION
| INTERFACE
| OBJECT
| SCALAR
scalar Policy
#
# federation-v2.7
#
directive @override(from: String!, label: String) on FIELD_DEFINITION
#
# federation-v2.8
#
scalar ContextFieldValue
directive @context(name: String!) repeatable on INTERFACE | OBJECT | UNION
directive @fromContext(field: ContextFieldValue) on ARGUMENT_DEFINITION
#
# federation-v2.9
#
directive @cost(weight: Int!) on
ARGUMENT_DEFINITION
| ENUM
| FIELD_DEFINITION
| INPUT_FIELD_DEFINITION
| OBJECT
| SCALAR
directive @listSize(
assumedSize: Int,
slicingArguments: [String!],
sizedFields: [String!],
requireOneSlicingArgument: Boolean = true
) on FIELD_DEFINITION