/**
 * Auto-generated schema from XSD
 * 
 * DO NOT EDIT - Generated by ts-xsd codegen
 * Source: xsd/sap/fmodules.xsd
 */

import abapsource from './abapsource';

export default {
  $xmlns: {
    ecore: 'http://www.eclipse.org/emf/2002/Ecore',
    xsd: 'http://www.w3.org/2001/XMLSchema',
    abapsource: 'http://www.sap.com/adt/abapsource',
    fmodule: 'http://www.sap.com/adt/functions/fmodules',
  },
  $imports: [
    abapsource,
  ],
  targetNamespace: 'http://www.sap.com/adt/functions/fmodules',
  attributeFormDefault: 'qualified',
  elementFormDefault: 'qualified',
  element: [
    {
      name: 'abapFunctionModule',
      type: 'fmodule:AbapFunctionModule',
    },
  ],
  complexType: [
    {
      name: 'AbapFunctionModule',
      complexContent: {
        extension: {
          base: 'abapsource:AbapSourceObject',
          attribute: [
            {
              name: 'processingType',
              type: 'fmodule:ProcessingType',
            },
            {
              name: 'basXMLEnabled',
              type: 'xsd:boolean',
            },
            {
              name: 'abapFromJava',
              type: 'xsd:boolean',
            },
            {
              name: 'javaFromAbap',
              type: 'xsd:boolean',
            },
            {
              name: 'javaRemote',
              type: 'xsd:boolean',
            },
            {
              name: 'updateTaskKind',
              type: 'fmodule:UpdateTaskKind',
            },
            {
              name: 'releaseState',
              type: 'fmodule:ReleaseState',
            },
            {
              name: 'releaseDate',
              type: 'xsd:date',
            },
            {
              name: 'global',
              type: 'xsd:boolean',
            },
            {
              name: 'rfcScope',
              type: 'fmodule:RfcScope',
            },
            {
              name: 'rfcVersion',
              type: 'fmodule:RfcVersion',
            },
          ],
        },
      },
    },
  ],
  simpleType: [
    {
      name: 'ReleaseState',
      restriction: {
        base: 'xsd:string',
        enumeration: [
          {
            value: 'notReleased',
          },
          {
            value: 'internal',
          },
          {
            value: 'external',
          },
          {
            value: 'obsolete',
          },
          {
            value: 'markedForRelease',
          },
        ],
      },
    },
    {
      name: 'ProcessingType',
      restriction: {
        base: 'xsd:string',
        enumeration: [
          {
            value: 'normal',
          },
          {
            value: 'rfc',
          },
          {
            value: 'update',
          },
        ],
      },
    },
    {
      name: 'UpdateTaskKind',
      restriction: {
        base: 'xsd:string',
        enumeration: [
          {
            value: 'startImmediate',
          },
          {
            value: 'immediateStartNoRestart',
          },
          {
            value: 'startDelayed',
          },
          {
            value: 'collectiveRun',
          },
          {
            value: 'unsupportedKind',
          },
        ],
      },
    },
    {
      name: 'RfcScope',
      restriction: {
        base: 'xsd:string',
        enumeration: [
          {
            value: 'notClassified',
          },
          {
            value: 'fromSameClientAndUser',
          },
          {
            value: 'fromSameSystem',
          },
          {
            value: 'fromAnySystem',
          },
        ],
      },
    },
    {
      name: 'RfcVersion',
      restriction: {
        base: 'xsd:string',
        enumeration: [
          {
            value: 'any',
          },
          {
            value: 'fastSerializationRequired',
          },
        ],
      },
    },
  ],
} as const;
