directive @goField(forceResolver: Boolean, name: String, omittable: Boolean) on FIELD_DEFINITION | INPUT_FIELD_DEFINITION
directive @goModel(model: String, models: [String!], forceGenerate: Boolean) on OBJECT | INPUT_OBJECT | SCALAR | ENUM | INTERFACE | UNION
type Attestation implements Node {
  id: ID!
  type: String!
  attestationCollection: AttestationCollection!
}
type AttestationCollection implements Node {
  id: ID!
  name: String!
  attestations: [Attestation!]
  statement: Statement!
}
"""
AttestationCollectionWhereInput is used for filtering AttestationCollection objects.
Input was generated by ent.
"""
input AttestationCollectionWhereInput {
  not: AttestationCollectionWhereInput
  and: [AttestationCollectionWhereInput!]
  or: [AttestationCollectionWhereInput!]
  """
  id field predicates
  """
  id: ID
  idNEQ: ID
  idIn: [ID!]
  idNotIn: [ID!]
  idGT: ID
  idGTE: ID
  idLT: ID
  idLTE: ID
  """
  name field predicates
  """
  name: String
  nameNEQ: String
  nameIn: [String!]
  nameNotIn: [String!]
  nameGT: String
  nameGTE: String
  nameLT: String
  nameLTE: String
  nameContains: String
  nameHasPrefix: String
  nameHasSuffix: String
  nameEqualFold: String
  nameContainsFold: String
  """
  attestations edge predicates
  """
  hasAttestations: Boolean
  hasAttestationsWith: [AttestationWhereInput!]
  """
  statement edge predicates
  """
  hasStatement: Boolean
  hasStatementWith: [StatementWhereInput!]
}
type AttestationPolicy implements Node {
  id: ID!
  name: String!
  statement: Statement
}
"""
A connection to a list of items.
"""
type AttestationPolicyConnection {
  """
  A list of edges.
  """
  edges: [AttestationPolicyEdge]
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of items in the connection.
  """
  totalCount: Int!
}
"""
An edge in a connection.
"""
type AttestationPolicyEdge {
  """
  The item at the end of the edge.
  """
  node: AttestationPolicy
  """
  A cursor for use in pagination.
  """
  cursor: Cursor!
}
"""
AttestationPolicyWhereInput is used for filtering AttestationPolicy objects.
Input was generated by ent.
"""
input AttestationPolicyWhereInput {
  not: AttestationPolicyWhereInput
  and: [AttestationPolicyWhereInput!]
  or: [AttestationPolicyWhereInput!]
  """
  id field predicates
  """
  id: ID
  idNEQ: ID
  idIn: [ID!]
  idNotIn: [ID!]
  idGT: ID
  idGTE: ID
  idLT: ID
  idLTE: ID
  """
  name field predicates
  """
  name: String
  nameNEQ: String
  nameIn: [String!]
  nameNotIn: [String!]
  nameGT: String
  nameGTE: String
  nameLT: String
  nameLTE: String
  nameContains: String
  nameHasPrefix: String
  nameHasSuffix: String
  nameEqualFold: String
  nameContainsFold: String
  """
  statement edge predicates
  """
  hasStatement: Boolean
  hasStatementWith: [StatementWhereInput!]
}
"""
AttestationWhereInput is used for filtering Attestation objects.
Input was generated by ent.
"""
input AttestationWhereInput {
  not: AttestationWhereInput
  and: [AttestationWhereInput!]
  or: [AttestationWhereInput!]
  """
  id field predicates
  """
  id: ID
  idNEQ: ID
  idIn: [ID!]
  idNotIn: [ID!]
  idGT: ID
  idGTE: ID
  idLT: ID
  idLTE: ID
  """
  type field predicates
  """
  type: String
  typeNEQ: String
  typeIn: [String!]
  typeNotIn: [String!]
  typeGT: String
  typeGTE: String
  typeLT: String
  typeLTE: String
  typeContains: String
  typeHasPrefix: String
  typeHasSuffix: String
  typeEqualFold: String
  typeContainsFold: String
  """
  attestation_collection edge predicates
  """
  hasAttestationCollection: Boolean
  hasAttestationCollectionWith: [AttestationCollectionWhereInput!]
}
"""
Define a Relay Cursor type:
https://relay.dev/graphql/connections.htm#sec-Cursor
"""
scalar Cursor
type Dsse implements Node {
  id: ID!
  createdAt: Time
  gitoidSha256: String!
  payloadType: String!
  statement: Statement
  signatures: [Signature!]
  payloadDigests: [PayloadDigest!]
}
"""
A connection to a list of items.
"""
type DsseConnection {
  """
  A list of edges.
  """
  edges: [DsseEdge]
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of items in the connection.
  """
  totalCount: Int!
}
"""
An edge in a connection.
"""
type DsseEdge {
  """
  The item at the end of the edge.
  """
  node: Dsse
  """
  A cursor for use in pagination.
  """
  cursor: Cursor!
}
"""
Ordering options for Dsse connections
"""
input DsseOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection! = ASC
  """
  The field by which to order Dsses.
  """
  field: DsseOrderField!
}
"""
Properties by which Dsse connections can be ordered.
"""
enum DsseOrderField {
  CREATED_AT
}
"""
DsseWhereInput is used for filtering Dsse objects.
Input was generated by ent.
"""
input DsseWhereInput {
  not: DsseWhereInput
  and: [DsseWhereInput!]
  or: [DsseWhereInput!]
  """
  id field predicates
  """
  id: ID
  idNEQ: ID
  idIn: [ID!]
  idNotIn: [ID!]
  idGT: ID
  idGTE: ID
  idLT: ID
  idLTE: ID
  """
  created_at field predicates
  """
  createdAt: Time
  createdAtNEQ: Time
  createdAtIn: [Time!]
  createdAtNotIn: [Time!]
  createdAtGT: Time
  createdAtGTE: Time
  createdAtLT: Time
  createdAtLTE: Time
  createdAtIsNil: Boolean
  createdAtNotNil: Boolean
  """
  gitoid_sha256 field predicates
  """
  gitoidSha256: String
  gitoidSha256NEQ: String
  gitoidSha256In: [String!]
  gitoidSha256NotIn: [String!]
  gitoidSha256GT: String
  gitoidSha256GTE: String
  gitoidSha256LT: String
  gitoidSha256LTE: String
  gitoidSha256Contains: String
  gitoidSha256HasPrefix: String
  gitoidSha256HasSuffix: String
  gitoidSha256EqualFold: String
  gitoidSha256ContainsFold: String
  """
  payload_type field predicates
  """
  payloadType: String
  payloadTypeNEQ: String
  payloadTypeIn: [String!]
  payloadTypeNotIn: [String!]
  payloadTypeGT: String
  payloadTypeGTE: String
  payloadTypeLT: String
  payloadTypeLTE: String
  payloadTypeContains: String
  payloadTypeHasPrefix: String
  payloadTypeHasSuffix: String
  payloadTypeEqualFold: String
  payloadTypeContainsFold: String
  """
  statement edge predicates
  """
  hasStatement: Boolean
  hasStatementWith: [StatementWhereInput!]
  """
  signatures edge predicates
  """
  hasSignatures: Boolean
  hasSignaturesWith: [SignatureWhereInput!]
  """
  payload_digests edge predicates
  """
  hasPayloadDigests: Boolean
  hasPayloadDigestsWith: [PayloadDigestWhereInput!]
}
"""
An object with an ID.
Follows the [Relay Global Object Identification Specification](https://relay.dev/graphql/objectidentification.htm)
"""
interface Node @goModel(model: "github.com/in-toto/archivista/ent.Noder") {
  """
  The id of the object.
  """
  id: ID!
}
"""
Possible directions in which to order a list of items when provided an `orderBy` argument.
"""
enum OrderDirection {
  """
  Specifies an ascending order for a given `orderBy` argument.
  """
  ASC
  """
  Specifies a descending order for a given `orderBy` argument.
  """
  DESC
}
"""
Information about pagination in a connection.
https://relay.dev/graphql/connections.htm#sec-undefined.PageInfo
"""
type PageInfo {
  """
  When paginating forwards, are there more items?
  """
  hasNextPage: Boolean!
  """
  When paginating backwards, are there more items?
  """
  hasPreviousPage: Boolean!
  """
  When paginating backwards, the cursor to continue.
  """
  startCursor: Cursor
  """
  When paginating forwards, the cursor to continue.
  """
  endCursor: Cursor
}
type PayloadDigest implements Node {
  id: ID!
  algorithm: String!
  value: String!
  dsse: Dsse
}
"""
PayloadDigestWhereInput is used for filtering PayloadDigest objects.
Input was generated by ent.
"""
input PayloadDigestWhereInput {
  not: PayloadDigestWhereInput
  and: [PayloadDigestWhereInput!]
  or: [PayloadDigestWhereInput!]
  """
  id field predicates
  """
  id: ID
  idNEQ: ID
  idIn: [ID!]
  idNotIn: [ID!]
  idGT: ID
  idGTE: ID
  idLT: ID
  idLTE: ID
  """
  algorithm field predicates
  """
  algorithm: String
  algorithmNEQ: String
  algorithmIn: [String!]
  algorithmNotIn: [String!]
  algorithmGT: String
  algorithmGTE: String
  algorithmLT: String
  algorithmLTE: String
  algorithmContains: String
  algorithmHasPrefix: String
  algorithmHasSuffix: String
  algorithmEqualFold: String
  algorithmContainsFold: String
  """
  value field predicates
  """
  value: String
  valueNEQ: String
  valueIn: [String!]
  valueNotIn: [String!]
  valueGT: String
  valueGTE: String
  valueLT: String
  valueLTE: String
  valueContains: String
  valueHasPrefix: String
  valueHasSuffix: String
  valueEqualFold: String
  valueContainsFold: String
  """
  dsse edge predicates
  """
  hasDsse: Boolean
  hasDsseWith: [DsseWhereInput!]
}
type Query {
  """
  Fetches an object given its ID.
  """
  node(
    """
    ID of the object.
    """
    id: ID!
  ): Node
  """
  Lookup nodes by a list of IDs.
  """
  nodes(
    """
    The list of node IDs.
    """
    ids: [ID!]!
  ): [Node]!
  attestationPolicies(
    """
    Returns the elements in the list that come after the specified cursor.
    """
    after: Cursor

    """
    Returns the first _n_ elements from the list.
    """
    first: Int

    """
    Returns the elements in the list that come before the specified cursor.
    """
    before: Cursor

    """
    Returns the last _n_ elements from the list.
    """
    last: Int

    """
    Filtering options for AttestationPolicies returned from the connection.
    """
    where: AttestationPolicyWhereInput
  ): AttestationPolicyConnection!
  dsses(
    """
    Returns the elements in the list that come after the specified cursor.
    """
    after: Cursor

    """
    Returns the first _n_ elements from the list.
    """
    first: Int

    """
    Returns the elements in the list that come before the specified cursor.
    """
    before: Cursor

    """
    Returns the last _n_ elements from the list.
    """
    last: Int

    """
    Ordering options for Dsses returned from the connection.
    """
    orderBy: DsseOrder

    """
    Filtering options for Dsses returned from the connection.
    """
    where: DsseWhereInput
  ): DsseConnection!
  subjects(
    """
    Returns the elements in the list that come after the specified cursor.
    """
    after: Cursor

    """
    Returns the first _n_ elements from the list.
    """
    first: Int

    """
    Returns the elements in the list that come before the specified cursor.
    """
    before: Cursor

    """
    Returns the last _n_ elements from the list.
    """
    last: Int

    """
    Ordering options for Subjects returned from the connection.
    """
    orderBy: SubjectOrder

    """
    Filtering options for Subjects returned from the connection.
    """
    where: SubjectWhereInput
  ): SubjectConnection!
}
type Signature implements Node {
  id: ID!
  keyID: String!
  signature: String!
  dsse: Dsse
  timestamps: [Timestamp!]
}
"""
SignatureWhereInput is used for filtering Signature objects.
Input was generated by ent.
"""
input SignatureWhereInput {
  not: SignatureWhereInput
  and: [SignatureWhereInput!]
  or: [SignatureWhereInput!]
  """
  id field predicates
  """
  id: ID
  idNEQ: ID
  idIn: [ID!]
  idNotIn: [ID!]
  idGT: ID
  idGTE: ID
  idLT: ID
  idLTE: ID
  """
  key_id field predicates
  """
  keyID: String
  keyIDNEQ: String
  keyIDIn: [String!]
  keyIDNotIn: [String!]
  keyIDGT: String
  keyIDGTE: String
  keyIDLT: String
  keyIDLTE: String
  keyIDContains: String
  keyIDHasPrefix: String
  keyIDHasSuffix: String
  keyIDEqualFold: String
  keyIDContainsFold: String
  """
  signature field predicates
  """
  signature: String
  signatureNEQ: String
  signatureIn: [String!]
  signatureNotIn: [String!]
  signatureGT: String
  signatureGTE: String
  signatureLT: String
  signatureLTE: String
  signatureContains: String
  signatureHasPrefix: String
  signatureHasSuffix: String
  signatureEqualFold: String
  signatureContainsFold: String
  """
  dsse edge predicates
  """
  hasDsse: Boolean
  hasDsseWith: [DsseWhereInput!]
  """
  timestamps edge predicates
  """
  hasTimestamps: Boolean
  hasTimestampsWith: [TimestampWhereInput!]
}
type Statement implements Node {
  id: ID!
  predicate: String!
  subjects(
    """
    Returns the elements in the list that come after the specified cursor.
    """
    after: Cursor

    """
    Returns the first _n_ elements from the list.
    """
    first: Int

    """
    Returns the elements in the list that come before the specified cursor.
    """
    before: Cursor

    """
    Returns the last _n_ elements from the list.
    """
    last: Int

    """
    Ordering options for Subjects returned from the connection.
    """
    orderBy: SubjectOrder

    """
    Filtering options for Subjects returned from the connection.
    """
    where: SubjectWhereInput
  ): SubjectConnection!
  policy: AttestationPolicy
  attestationCollections: AttestationCollection
  dsse: [Dsse!]
}
"""
StatementWhereInput is used for filtering Statement objects.
Input was generated by ent.
"""
input StatementWhereInput {
  not: StatementWhereInput
  and: [StatementWhereInput!]
  or: [StatementWhereInput!]
  """
  id field predicates
  """
  id: ID
  idNEQ: ID
  idIn: [ID!]
  idNotIn: [ID!]
  idGT: ID
  idGTE: ID
  idLT: ID
  idLTE: ID
  """
  predicate field predicates
  """
  predicate: String
  predicateNEQ: String
  predicateIn: [String!]
  predicateNotIn: [String!]
  predicateGT: String
  predicateGTE: String
  predicateLT: String
  predicateLTE: String
  predicateContains: String
  predicateHasPrefix: String
  predicateHasSuffix: String
  predicateEqualFold: String
  predicateContainsFold: String
  """
  subjects edge predicates
  """
  hasSubjects: Boolean
  hasSubjectsWith: [SubjectWhereInput!]
  """
  policy edge predicates
  """
  hasPolicy: Boolean
  hasPolicyWith: [AttestationPolicyWhereInput!]
  """
  attestation_collections edge predicates
  """
  hasAttestationCollections: Boolean
  hasAttestationCollectionsWith: [AttestationCollectionWhereInput!]
  """
  dsse edge predicates
  """
  hasDsse: Boolean
  hasDsseWith: [DsseWhereInput!]
}
type Subject implements Node {
  id: ID!
  createdAt: Time
  name: String!
  subjectDigests: [SubjectDigest!]
  statement: Statement
}
"""
A connection to a list of items.
"""
type SubjectConnection {
  """
  A list of edges.
  """
  edges: [SubjectEdge]
  """
  Information to aid in pagination.
  """
  pageInfo: PageInfo!
  """
  Identifies the total count of items in the connection.
  """
  totalCount: Int!
}
type SubjectDigest implements Node {
  id: ID!
  algorithm: String!
  value: String!
  subject: Subject
}
"""
SubjectDigestWhereInput is used for filtering SubjectDigest objects.
Input was generated by ent.
"""
input SubjectDigestWhereInput {
  not: SubjectDigestWhereInput
  and: [SubjectDigestWhereInput!]
  or: [SubjectDigestWhereInput!]
  """
  id field predicates
  """
  id: ID
  idNEQ: ID
  idIn: [ID!]
  idNotIn: [ID!]
  idGT: ID
  idGTE: ID
  idLT: ID
  idLTE: ID
  """
  algorithm field predicates
  """
  algorithm: String
  algorithmNEQ: String
  algorithmIn: [String!]
  algorithmNotIn: [String!]
  algorithmGT: String
  algorithmGTE: String
  algorithmLT: String
  algorithmLTE: String
  algorithmContains: String
  algorithmHasPrefix: String
  algorithmHasSuffix: String
  algorithmEqualFold: String
  algorithmContainsFold: String
  """
  value field predicates
  """
  value: String
  valueNEQ: String
  valueIn: [String!]
  valueNotIn: [String!]
  valueGT: String
  valueGTE: String
  valueLT: String
  valueLTE: String
  valueContains: String
  valueHasPrefix: String
  valueHasSuffix: String
  valueEqualFold: String
  valueContainsFold: String
  """
  subject edge predicates
  """
  hasSubject: Boolean
  hasSubjectWith: [SubjectWhereInput!]
}
"""
An edge in a connection.
"""
type SubjectEdge {
  """
  The item at the end of the edge.
  """
  node: Subject
  """
  A cursor for use in pagination.
  """
  cursor: Cursor!
}
"""
Ordering options for Subject connections
"""
input SubjectOrder {
  """
  The ordering direction.
  """
  direction: OrderDirection! = ASC
  """
  The field by which to order Subjects.
  """
  field: SubjectOrderField!
}
"""
Properties by which Subject connections can be ordered.
"""
enum SubjectOrderField {
  CREATED_AT
}
"""
SubjectWhereInput is used for filtering Subject objects.
Input was generated by ent.
"""
input SubjectWhereInput {
  not: SubjectWhereInput
  and: [SubjectWhereInput!]
  or: [SubjectWhereInput!]
  """
  id field predicates
  """
  id: ID
  idNEQ: ID
  idIn: [ID!]
  idNotIn: [ID!]
  idGT: ID
  idGTE: ID
  idLT: ID
  idLTE: ID
  """
  created_at field predicates
  """
  createdAt: Time
  createdAtNEQ: Time
  createdAtIn: [Time!]
  createdAtNotIn: [Time!]
  createdAtGT: Time
  createdAtGTE: Time
  createdAtLT: Time
  createdAtLTE: Time
  createdAtIsNil: Boolean
  createdAtNotNil: Boolean
  """
  name field predicates
  """
  name: String
  nameNEQ: String
  nameIn: [String!]
  nameNotIn: [String!]
  nameGT: String
  nameGTE: String
  nameLT: String
  nameLTE: String
  nameContains: String
  nameHasPrefix: String
  nameHasSuffix: String
  nameEqualFold: String
  nameContainsFold: String
  """
  subject_digests edge predicates
  """
  hasSubjectDigests: Boolean
  hasSubjectDigestsWith: [SubjectDigestWhereInput!]
  """
  statement edge predicates
  """
  hasStatement: Boolean
  hasStatementWith: [StatementWhereInput!]
}
type Timestamp implements Node {
  id: ID!
  type: String!
  timestamp: Time!
  signature: Signature
}
"""
TimestampWhereInput is used for filtering Timestamp objects.
Input was generated by ent.
"""
input TimestampWhereInput {
  not: TimestampWhereInput
  and: [TimestampWhereInput!]
  or: [TimestampWhereInput!]
  """
  id field predicates
  """
  id: ID
  idNEQ: ID
  idIn: [ID!]
  idNotIn: [ID!]
  idGT: ID
  idGTE: ID
  idLT: ID
  idLTE: ID
  """
  type field predicates
  """
  type: String
  typeNEQ: String
  typeIn: [String!]
  typeNotIn: [String!]
  typeGT: String
  typeGTE: String
  typeLT: String
  typeLTE: String
  typeContains: String
  typeHasPrefix: String
  typeHasSuffix: String
  typeEqualFold: String
  typeContainsFold: String
  """
  timestamp field predicates
  """
  timestamp: Time
  timestampNEQ: Time
  timestampIn: [Time!]
  timestampNotIn: [Time!]
  timestampGT: Time
  timestampGTE: Time
  timestampLT: Time
  timestampLTE: Time
  """
  signature edge predicates
  """
  hasSignature: Boolean
  hasSignatureWith: [SignatureWhereInput!]
}
