<gh_stars>10-100
def d(**dct):
    return dct


def topology():
    return d(
        Cell=d(
            keys=['name'],
            items=[
                d(attribute='properties'),
                d(child='Node'),
                d(child='ServerCluster'),
            ],
        ),
        ServerCluster=d(
            keys=['name'],
            items=[
                d(attribute='description'),
                d(attribute='members'),
                d(attribute='preferLocal'),
                d(attribute='serverIOTimeoutRetry'),
            ],
        ),
        ClusterMember=d(
            keys=['memberName', 'nodeName'],
        ),
        Node=d(
            keys=['name'],
            items=[
                d(attribute='maxFilePermissionForApps'),
                d(attribute='properties'),
            ],
        ),
        Server=d(
            keys=['name'],
            items=[
                d(attribute='changeGroupAfterStartup'),
                d(attribute='changeUserAfterStartup'),
                d(attribute='components'),
                d(attribute='customServices'),
                d(attribute='developmentMode'),
                d(attribute='errorStreamRedirect'),
                d(attribute='outputStreamRedirect'),
                d(attribute='parallelStartEnabled'),
                d(attribute='processDefinitions'),
                d(attribute='provisionComponents'),
                d(attribute='services'),
            ],
            parents=['Node'],
        ),
    )


def server_index():
    return d(
        ServerIndex=d(
            keys=['hostName'],
            items=[
                d(attribute='serverEntries'),
                d(ref='endPointRefs'),
            ],
            parents=['Node'],
        ),
        ServerEntry=d(
            keys=['serverName', 'serverType'],
            items=[
                d(attribute='recoveryLog'),
                d(attribute='specialEndpoints'),
            ],
        ),
        RecoveryLog=d(
            items=[
                d(attribute='compensationLogDirectory'),
                d(attribute='compensationLogFileSize'),
                d(attribute='transactionLogDirectory'),
            ],
        ),
    )


def processes():
    return d(
        JavaProcessDef=d(
            items=[
                d(attribute='environment'),
                d(attribute='executableArguments'),
                d(attribute='executableName'),
                d(attribute='executableTarget'),
                d(attribute='executableTargetKind'),
                d(attribute='execution'),
                d(attribute='ioRedirect'),
                d(attribute='jvmEntries'),
                d(attribute='monitoringPolicy'),
                d(attribute='processType'),
                d(attribute='startCommand'),
                d(attribute='startCommandArgs'),
                d(attribute='stopCommand'),
                d(attribute='stopCommandArgs'),
                d(attribute='terminateCommand'),
                d(attribute='terminateCommandArgs'),
                d(attribute='workingDirectory'),
            ],
        ),
        ProcessDef=d(
            items=[
                d(attribute='environment'),
                d(attribute='executableArguments'),
                d(attribute='executableName'),
                d(attribute='execution'),
                d(attribute='ioRedirect'),
                d(attribute='monitoringPolicy'),
                d(attribute='processType'),
                d(attribute='startCommand'),
                d(attribute='startCommandArgs'),
                d(attribute='stopCommand'),
                d(attribute='stopCommandArgs'),
                d(attribute='terminateCommand'),
                d(attribute='terminateCommandArgs'),
                d(attribute='workingDirectory'),
            ],
        ),
        MonitoringPolicy=d(
            items=[
                d(attribute='autoRestart'),
                d(attribute='maximumStartupAttempts'),
                d(attribute='nodeRestartState'),
                d(attribute='pingInterval'),
                d(attribute='pingTimeout'),
            ],
        ),
        ProcessExecution=d(
            items=[
                d(attribute='processPriority'),
                d(attribute='runAsGroup'),
                d(attribute='runAsUser'),
                d(attribute='runInProcessGroup'),
                d(attribute='umask'),
            ],
        ),
        OutputRedirect=d(
            items=[
                d(attribute='stderrFilename'),
                d(attribute='stdinFilename'),
                d(attribute='stdoutFilename'),
            ],
        ),
        JavaVirtualMachine=d(
            items=[
                d(attribute='bootClasspath'),
                d(attribute='classpath'),
                d(attribute='debugArgs'),
                d(attribute='debugMode'),
                d(attribute='disableJIT'),
                d(attribute='executableJarFileName'),
                d(attribute='genericJvmArguments'),
                d(attribute='hprofArguments'),
                d(attribute='initialHeapSize'),
                d(attribute='internalClassAccessMode'),
                d(attribute='maximumHeapSize'),
                d(attribute='runHProf'),
                d(attribute='systemProperties'),
                d(attribute='verboseModeClass'),
                d(attribute='verboseModeGarbageCollection'),
                d(attribute='verboseModeJNI'),
            ],
        ),
        StreamRedirect=d(
            items=[
                d(attribute='baseHour'),
                d(attribute='fileName'),
                d(attribute='formatWrites'),
                d(attribute='maxNumberOfBackupFiles'),
                d(attribute='messageFormatKind'),
                d(attribute='rolloverPeriod'),
                d(attribute='rolloverSize'),
                d(attribute='rolloverType'),
                d(attribute='suppressStackTrace'),
                d(attribute='suppressWrites'),
            ],
        ),
    )


def variables():
    return d(
        VariableMap=d(
            items=[
                d(attribute='entries'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        VariableSubstitutionEntry=d(
            keys=['symbolicName'],
            items=[
                d(attribute='description'),
                d(attribute='value'),
            ],
        ),
    )


def jdbc():
    return d(
        JDBCProvider=d(
            keys=['name'],
            items=[
                d(attribute='classpath'),
                d(attribute='description'),
                d(attribute='implementationClassName'),
                d(attribute='isolatedClassLoader'),
                d(attribute='nativepath'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='xa'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        DataSource=d(
            keys=['name'],
            items=[
                d(attribute='authDataAlias'),
                d(attribute='authMechanismPreference'),
                d(attribute='category'),
                d(attribute='connectionPool'),
                d(attribute='datasourceHelperClassname'),
                d(attribute='description'),
                d(attribute='diagnoseConnectionUsage'),
                d(attribute='jndiName'),
                d(attribute='logMissingTransactionContext'),
                d(attribute='manageCachedHandles'),
                d(attribute='mapping'),
                d(attribute='preTestConfig'),
                d(attribute='properties'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='statementCacheSize'),
                d(attribute='xaRecoveryAuthAlias'),
            ],
            parents=['JDBCProvider'],
        ),
    )


def j2c_advanced():
    return d(
        ConnectionDefinition=d(
            keys=['connectionFactoryInterface', 'connectionInterface'],
            items=[
                d(attribute='configProperties'),
                d(attribute='connectionFactoryImplClass'),
                d(attribute='connectionImplClass'),
                d(attribute='managedConnectionFactoryClass'),
            ],
        ),
        ConfigProperty=d(
            keys=['name'],
            items=[
                d(attribute='confidential'),
                d(attribute='description'),
                d(attribute='descriptions'),
                d(attribute='ignore'),
                d(attribute='supportsDynamicUpdates'),
                d(attribute='type'),
                d(attribute='value'),
            ],
        ),
        Description=d(
            keys=['lang'],
            items=[
                d(attribute='value'),
            ],
        ),
        J2CAdminObject=d(
            keys=['name'],
            items=[
                d(ref='adminObject'),
                d(attribute='description'),
                d(attribute='jndiName'),
                d(attribute='properties'),
            ],
        ),
        AdminObject=d(
            keys=['adminObjectInterface'],
            items=[
                d(attribute='adminObjectClass'),
                d(attribute='configProperties'),
            ],
        ),
        ActivationSpec=d(
            keys=['activationSpecClass'],
            items=[
                d(attribute='configProperties'),
                d(attribute='requiredConfigProperties'),
            ],
        ),
        RequiredConfigPropertyType=d(
            keys=['name'],
            items=[
                d(attribute='descriptions'),
            ],
        ),
    )


def j2c():
    return d(
        J2CResourceAdapter=d(
            keys=['name'],
            items=[
                d(attribute='archivePath'),
                d(attribute='classpath'),
                d(attribute='description'),
                d(attribute='hACapability'),
                d(attribute='isEnableHASupport'),
                d(attribute='isolatedClassLoader'),
                d(attribute='j2cActivationSpec'),
                d(attribute='j2cAdminObjects'),
                d(attribute='jaasLoginConfiguration'),
                d(attribute='nativepath'),
                d(attribute='properties'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='singleton'),
                d(attribute='threadPoolAlias'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        J2CActivationSpec=d(
            keys=['name'],
            items=[
                d(ref='activationSpec'),
                d(attribute='authenticationAlias'),
                d(attribute='description'),
                d(attribute='destinationJndiName'),
                d(attribute='jndiName'),
                d(attribute='resourceProperties'),
            ],
        ),
        J2CConnectionFactory=d(
            keys=['name'],
            items=[
                d(attribute='authDataAlias'),
                d(attribute='authMechanismPreference'),
                d(attribute='category'),
                d(attribute='connectionDefinition'),
                d(attribute='connectionPool'),
                d(attribute='customProperties'),
                d(attribute='description'),
                d(attribute='diagnoseConnectionUsage'),
                d(attribute='jndiName'),
                d(attribute='logMissingTransactionContext'),
                d(attribute='manageCachedHandles'),
                d(attribute='mapping'),
                d(attribute='preTestConfig'),
                d(attribute='properties'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='xaRecoveryAuthAlias'),
            ],
            parents=['J2CResourceAdapter'],
        ),
    )


def security():
    return d(
        Security=d(
            items=[
                d(attribute='additionalSecAttrs'),
                d(attribute='allowAllPermissionForApplication'),
                d(attribute='allowBasicAuth'),
                d(attribute='appEnabled'),
                d(attribute='authDataEntries'),
                d(attribute='cacheTimeout'),
                d(attribute='dynamicallyUpdateSSLConfig'),
                d(attribute='enableJava2SecRuntimeFiltering'),
                d(attribute='enabled'),
                d(attribute='enforceFineGrainedJCASecurity'),
                d(attribute='enforceJava2Security'),
                d(attribute='issuePermissionWarning'),
                d(attribute='properties'),
                d(attribute='useDomainQualifiedUserNames'),
                d(attribute='useLocalSecurityServer'),
            ],
            parents=['Cell', 'Server'],
        ),
        JAASAuthData=d(
            keys=['alias'],
            items=[
                d(attribute='description'),
                d(attribute='password'),
                d(attribute='userId'),
            ],
        ),
    )


def connection_pool():
    return d(
        ConnectionPool=d(
            items=[
                d(attribute='agedTimeout'),
                d(attribute='connectionTimeout'),
                d(attribute='freePoolDistributionTableSize'),
                d(attribute='maxConnections'),
                d(attribute='minConnections'),
                d(attribute='numberOfFreePoolPartitions'),
                d(attribute='numberOfSharedPoolPartitions'),
                d(attribute='numberOfUnsharedPoolPartitions'),
                d(attribute='properties'),
                d(attribute='purgePolicy'),
                d(attribute='reapTime'),
                d(attribute='stuckThreshold'),
                d(attribute='stuckTime'),
                d(attribute='stuckTimerTime'),
                d(attribute='surgeCreationInterval'),
                d(attribute='surgeThreshold'),
                d(attribute='testConnection'),
                d(attribute='testConnectionInterval'),
                d(attribute='unusedTimeout'),
            ],
        ),
        ConnectionTest=d(
            items=[
                d(attribute='preTestConnection'),
                d(attribute='retryInterval'),
                d(attribute='retryLimit'),
            ],
        ),
    )


def jndi():
    return d(
        CORBAObjectNameSpaceBinding=d(
            keys=['name'],
            items=[
                d(attribute='nameInNameSpace'),
                d(attribute='corbanameUrl'),
                d(attribute='federatedContext'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        EjbNameSpaceBinding=d(
            keys=['name'],
            items=[
                d(attribute='nameInNameSpace'),
                d(attribute='ejbJndiName'),
                d(attribute='applicationServerName'),
                d(attribute='bindingLocation'),
                d(attribute='applicationNodeName'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        IndirectLookupNameSpaceBinding=d(
            keys=['name'],
            items=[
                d(attribute='nameInNameSpace'),
                d(attribute='providerURL'),
                d(attribute='jndiName'),
                d(attribute='initialContextFactory'),
                d(attribute='otherCtxProperties'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        StringNameSpaceBinding=d(
            keys=['name'],
            items=[
                d(attribute='nameInNameSpace'),
                d(attribute='stringToBind'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
    )


def class_loader():
    return d(
        Classloader=d(
            keys=['mode'],
            items=[
                d(attribute='libraries'),
            ],
        ),
        Library=d(
            keys=['name'],
            items=[
                d(attribute='classPath'),
                d(attribute='description'),
                d(attribute='isolatedClassLoader'),
                d(attribute='nativePath'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        LibraryRef=d(
            keys=['libraryName'],
            items=[
                d(attribute='sharedClassloader'),
            ],
        ),
    )


def components():
    return d(
        Agent=d(
            items=[
                d(attribute='components'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        ApplicationContainer=d(
            items=[
                d(attribute='components'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        ApplicationServer=d(
            keys=['name'],
            items=[
                d(attribute='applicationClassLoaderPolicy'),
                d(attribute='applicationClassLoadingMode'),
                d(attribute='classloaders'),
                d(attribute='components'),
                d(attribute='jsfProvider'),
                d(attribute='locationServiceDaemon'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
                d(attribute='webserverPluginSettings'),
            ],
        ),
        CellManager=d(
            keys=['name'],
            items=[
                d(attribute='CELL_DISCOVERY_ADDRESS'),
                d(attribute='CELL_MULTICAST_DISCOVERY_ADDRESS'),
                d(attribute='components'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        EJBContainer=d(
            keys=['name'],
            items=[
                d(attribute='asyncSettings'),
                d(attribute='cacheSettings'),
                d(attribute='components'),
                d(attribute='defaultDatasourceJNDIName'),
                d(attribute='drsSettings'),
                d(attribute='enableSFSBFailover'),
                d(attribute='inactivePoolCleanupInterval'),
                d(attribute='passivationDirectory'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
                d(attribute='timerSettings'),
                d(ref='EJBTimer'),
            ],
        ),
        ExternallyManagedHTTPServer=d(
            keys=['name'],
            items=[
                d(attribute='components'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        JMSServer=d(
            keys=['name'],
            items=[
                d(attribute='JMSSERVER_DIRECT_ADDRESS'),
                d(attribute='JMSSERVER_QUEUED_ADDRESS'),
                d(attribute='components'),
                d(attribute='description'),
                d(attribute='numThreads'),
                d(attribute='properties'),
                d(attribute='queueNames'),
                d(attribute='securityPort'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        JobManager=d(
            keys=['name'],
            items=[
                d(attribute='URL'),
                d(attribute='components'),
                d(attribute='databaseMaxReturn'),
                d(attribute='datasource'),
                d(attribute='defaultJobExpiration'),
                d(attribute='jobNotificationMailSession'),
                d(attribute='properties'),
                d(attribute='senderEmail'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
                d(attribute='threadPool'),
            ],
        ),
        NameServer=d(
            keys=['name'],
            items=[
                d(attribute='BOOTSTRAP_ADDRESS'),
                d(attribute='bootstrapServerAddress'),
                d(attribute='components'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        NodeAgent=d(
            keys=['name'],
            items=[
                d(attribute='NODE_DISCOVERY_ADDRESS'),
                d(attribute='components'),
                d(attribute='fileSynchronizationService'),
                d(attribute='fileTransferService'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        OnDemandRouter=d(
            keys=['name'],
            items=[
                d(attribute='adminSecurityLevel'),
                d(attribute='components'),
                d(attribute='enableCustomSecurityLevel'),
                d(attribute='httpProxyServerSettings'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        PortletContainer=d(
            keys=['name'],
            items=[
                d(attribute='components'),
                d(attribute='enablePortletCaching'),
                d(attribute='maxProcessEventCount'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        Proxy=d(
            keys=['name'],
            items=[
                d(attribute='adminSecurityLevel'),
                d(attribute='components'),
                d(attribute='enableCustomSecurityLevel'),
                d(attribute='httpProxyServerSettings'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='sipProxyServerSettings'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        ProxyServer=d(
            keys=['name'],
            items=[
                d(attribute='adminSecurityLevel'),
                d(attribute='components'),
                d(attribute='enableCustomSecurityLevel'),
                d(attribute='httpProxyServerSettings'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='sipProxyServerSettings'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        SIPContainer=d(
            keys=['name'],
            items=[
                d(attribute='components'),
                d(attribute='dnsServerNames'),
                d(attribute='maxAppSessions'),
                d(attribute='maxDispatchQueueSize'),
                d(attribute='maxMessageRate'),
                d(attribute='maxResponseTime'),
                d(attribute='properties'),
                d(attribute='stack'),
                d(attribute='services'),
                d(attribute='statAveragePeriod'),
                d(attribute='statUpdateRange'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
                d(ref='threadPool'),
            ],
        ),
        SecurityServer=d(
            keys=['name'],
            items=[
                d(attribute='components'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        ServerComponent=d(
            keys=['name'],
            items=[
                d(attribute='components'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        SystemMessageServer=d(
            keys=['name'],
            items=[
                d(attribute='DRS_CLIENT_ADDRESS'),
                d(attribute='brokerName'),
                d(attribute='components'),
                d(attribute='domainName'),
                d(attribute='enable'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        WebServer=d(
            keys=['name'],
            items=[
                d(attribute='adminServerAuthentication'),
                d(attribute='components'),
                d(attribute='configurationFilename'),
                d(attribute='keyStoreFiles'),
                d(attribute='logFilenameAccess'),
                d(attribute='logFilenameError'),
                d(attribute='pluginProperties'),
                d(attribute='properties'),
                d(attribute='serviceName'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
                d(attribute='webserverAdminProtocol'),
                d(attribute='webserverInstallRoot'),
                d(attribute='webserverProtocol'),
                d(attribute='webserverType'),
            ],
        ),
        WebContainer=d(
            keys=['name'],
            items=[
                d(attribute='allowAsyncRequestDispatching'),
                d(attribute='asyncIncludeTimeout'),
                d(attribute='asyncRunnableWorkManager'),
                d(attribute='components'),
                d(attribute='defaultAsyncServletTimeout'),
                d(attribute='defaultVirtualHostName'),
                d(attribute='disablePooling'),
                d(attribute='enableServletCaching'),
                d(attribute='maximumPercentageExpiredEntries'),
                d(attribute='maximumResponseStoreSize'),
                d(attribute='numberAsyncTimerThreads'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='sessionAffinityFailoverServer'),
                d(attribute='sessionAffinityTimeout'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
                d(attribute='threadPool'),
                d(attribute='transports'),
                d(attribute='useAsyncRunnableWorkManager'),
            ],
        ),
        WorkloadManagementServer=d(
            keys=['name'],
            items=[
                d(attribute='components'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        Transport=d(
            items=[
                d(attribute='address'),
                d(attribute='external'),
                d(attribute='properties'),
                d(attribute='sslConfig'),
                d(attribute='sslEnabled'),
            ],
        ),
        IIOPTransport=d(
            items=[
                d(attribute='address'),
                d(attribute='external'),
                d(attribute='properties'),
                d(attribute='sslConfig'),
                d(attribute='sslEnabled'),
            ],
        ),
        JMSTransport=d(
            items=[
                d(attribute='address'),
                d(attribute='external'),
                d(attribute='properties'),
                d(attribute='sslConfig'),
                d(attribute='sslEnabled'),
            ],
        ),
        HTTPTransport=d(
            items=[
                d(attribute='address'),
                d(attribute='adjustPort'),
                d(attribute='external'),
                d(attribute='properties'),
                d(attribute='sslConfig'),
                d(attribute='sslEnabled'),
            ],
        ),
        EJBCache=d(
            items=[
                d(attribute='cacheSize'),
                d(attribute='cleanupInterval'),
            ],
        ),
        EJBAsync=d(
            items=[
                d(attribute='customWorkManagerJNDIName'),
                d(attribute='futureTimeout'),
                d(attribute='maxThreads'),
                d(attribute='useCustomDefinedWM'),
                d(attribute='workReqQFullAction'),
                d(attribute='workReqQSize'),
            ],
        ),
        EJBTimer=d(
            items=[
                d(attribute='datasourceAlias'),
                d(attribute='datasourceJNDIName'),
                d(attribute='nonPersistentTimerRetryCount'),
                d(attribute='nonPersistentTimerRetryInterval'),
                d(attribute='numAlarmThreads'),
                d(attribute='numNPTimerThreads'),
                d(attribute='pollInterval'),
                d(attribute='schedulerJNDIName'),
                d(attribute='tablePrefix'),
                d(attribute='uniqueTimerManagerForNP'),
            ],
        ),
        DRSSettings=d(
            items=[
                d(attribute='dataReplicationMode'),
                d(attribute='ids'),
                d(attribute='messageBrokerDomainName'),
                d(attribute='overrideHostConnectionPoints'),
                d(attribute='preferredLocalDRSBrokerName'),
                d(attribute='properties'),
            ],
        ),
        HTTPProxyServerSettings=d(
            items=[
                d(attribute='localOutboundTCPAddress'),
            ],
        ),
        SIPProxyServerSettings=d(
            items=[
                d(attribute='serverTCPInterface'),
                d(attribute='serverTLSInterface'),
                d(attribute='serverUDPInterface'),
                d(attribute='serverUDPPort'),
            ],
        ),
        Stack=d(
            items=[
                d(attribute='MTU'),
                d(attribute='hideMessageBody'),
                d(attribute='inviteAutoReply100'),
                d(attribute='outboundConnectionTimeout'),
                d(attribute='outboundProxy'),
                d(attribute='timers'),
            ],
        ),
        Timers=d(
            items=[
                d(attribute='timerA'),
                d(attribute='timerB'),
                d(attribute='timerD'),
                d(attribute='timerE'),
                d(attribute='timerF'),
                d(attribute='timerG'),
                d(attribute='timerH'),
                d(attribute='timerI'),
                d(attribute='timerJ'),
                d(attribute='timerK'),
                d(attribute='timerT1'),
                d(attribute='timerT2'),
                d(attribute='timerT4'),
            ],
        ),
        AdminServerAuthentication=d(
            items=[
                d(attribute='password'),
                d(attribute='userid'),
            ],
        ),
        KeyStoreFile=d(
            items=[
                d(attribute='directory'),
                d(attribute='name'),
            ],
        ),
        PluginProperties=d(
            items=[
                d(attribute='ASDisableNagle'),
                d(attribute='AcceptAllContent'),
                d(attribute='AppServerPortPreference'),
                d(attribute='ChunkedResponse'),
                d(attribute='ConfigFilename'),
                d(attribute='ESIEnable'),
                d(attribute='ESIInvalidationMonitor'),
                d(attribute='ESIMaxCacheSize'),
                d(attribute='IISDisableNagle'),
                d(attribute='IISPluginPriority'),
                d(attribute='IgnoreDNSFailures'),
                d(attribute='KeyRingFilename'),
                d(attribute='LogFilename'),
                d(attribute='LogLevel'),
                d(attribute='PluginGeneration'),
                d(attribute='PluginInstallRoot'),
                d(attribute='PluginPropagation'),
                d(attribute='RefreshInterval'),
                d(attribute='RemoteConfigFilename'),
                d(attribute='RemoteKeyRingFilename'),
                d(attribute='ResponseChunkSize'),
                d(attribute='VHostMatchingCompat'),
                d(attribute='pluginServerClusterProperties'),
                d(attribute='properties'),
            ],
        ),
        PluginServerClusterProperties=d(
            items=[
                d(attribute='CloneSeparatorChange'),
                d(attribute='LoadBalance'),
                d(attribute='PostBufferSize'),
                d(attribute='PostSizeLimit'),
                d(attribute='RemoveSpecialHeaders'),
                d(attribute='RetryInterval'),
            ],
        ),
        ThreadPool=d(
            keys=['name'],
            items=[
                d(attribute='customProperties'),
                d(attribute='description'),
                d(attribute='inactivityTimeout'),
                d(attribute='isGrowable'),
                d(attribute='maximumSize'),
                d(attribute='minimumSize'),
            ],
        ),
        StateManageable=d(
            items=[
                d(attribute='initialState'),
            ],
        ),
        StatisticsProvider=d(
            items=[
                d(attribute='specification'),
            ],
        ),
        WebserverPluginSettings=d(
            items=[
                d(attribute='ConnectTimeout'),
                d(attribute='ExtendedHandshake'),
                d(attribute='MaxConnections'),
                d(attribute='Role'),
                d(attribute='ServerIOTimeout'),
                d(attribute='WaitForContinue'),
                d(attribute='properties'),
            ],
        ),
    )


def services():
    return d(
        ActivitySessionService=d(
            items=[
                d(attribute='defaultTimeout'),
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        AdminService=d(
            items=[
                d(attribute='configRepository'),
                d(attribute='connectors'),
                d(attribute='enable'),
                d(attribute='extensionMBeanProviders'),
                d(ref='localAdminProtocol'),
                d(attribute='pluginConfigService'),
                d(ref='preferredConnector'),
                d(attribute='properties'),
                d(ref='remoteAdminProtocol'),
                d(attribute='standalone'),
            ],
        ),
        RepositoryService=d(
            items=[
                d(attribute='auditEnabled'),
                d(attribute='properties'),
            ],
        ),
        ExtensionMBeanProvider=d(
            keys=['name'],
            items=[
                d(attribute='classpath'),
                d(attribute='description'),
                d(attribute='extensionMBeans'),
            ],
        ),
        ExtensionMBean=d(
            keys=['descriptorURI', 'type'],
        ),
        JMXConnector=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        HTTPConnector=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        JMSConnector=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        RMIConnector=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        SOAPConnector=d(
            items=[
                d(attribute='SOAP_CONNECTOR_ADDRESS'),
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        IPCConnector=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        JSR160RMIConnector=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        ApplicationManagementService=d(
            items=[
                d(attribute='enable'),
                d(attribute='enableBinaryDistribution'),
                d(attribute='properties'),
                d(attribute='taskProviders'),
            ],
        ),
        TaskProvider=d(
            keys=['implementationClassName'],
            items=[
                d(attribute='classpath'),
                d(attribute='weight'),
            ],
        ),
        ApplicationProfileService=d(
            items=[
                d(attribute='compatibility'),
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        CacheInstanceService=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        CompensationService=d(
            items=[
                d(attribute='compensationHandlerRetryInterval'),
                d(attribute='compensationHandlerRetryLimit'),
                d(attribute='enable'),
                d(attribute='properties'),
                d(attribute='recoveryLogDirectory'),
                d(attribute='recoveryLogFileSize'),
            ],
        ),
        ConfigSynchronizationService=d(
            items=[
                d(attribute='autoSynchEnabled'),
                d(attribute='enable'),
                d(attribute='exclusions'),
                d(attribute='properties'),
                d(attribute='synchInterval'),
                d(attribute='synchOnServerStartup'),
            ],
        ),
        CoreGroupBridgeService=d(
            items=[
                d(attribute='enable'),
                d(attribute='enableBridge'),
                d(attribute='properties'),
            ],
        ),
        CustomService=d(
            keys=['displayName'],
            items=[
                d(attribute='classname'),
                d(attribute='classpath'),
                d(attribute='description'),
                d(attribute='enable'),
                d(attribute='externalConfigURL'),
                d(attribute='properties'),
                d(ref='prerequisiteServices'),
            ],
        ),
        DebugService=d(
            items=[
                d(attribute='BSFDebugPort'),
                d(attribute='BSFLoggingLevel'),
                d(attribute='debugClassFilters'),
                d(attribute='enable'),
                d(attribute='jvmDebugArgs'),
                d(attribute='jvmDebugPort'),
                d(attribute='properties'),
            ],
        ),
        DiagnosticProviderService=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
                d(attribute='startupStateCollectionSpec'),
            ],
        ),
        DynamicCache=d(
            items=[
                d(attribute='cacheGroups'),
                d(attribute='cacheProvider'),
                d(attribute='cacheReplication'),
                d(attribute='cacheSize'),
                d(attribute='defaultPriority'),
                d(attribute='diskCacheCleanupFrequency'),
                d(attribute='diskCacheCustomPerformanceSettings'),
                d(attribute='diskCacheEntrySizeInMB'),
                d(attribute='diskCacheEvictionPolicy'),
                d(attribute='diskCachePerformanceLevel'),
                d(attribute='diskCacheSizeInEntries'),
                d(attribute='diskCacheSizeInGB'),
                d(attribute='diskOffloadLocation'),
                d(attribute='enable'),
                d(attribute='enableCacheReplication'),
                d(attribute='enableDiskOffload'),
                d(attribute='enableTagLevelCaching'),
                d(attribute='flushToDiskOnStop'),
                d(attribute='hashSize'),
                d(attribute='memoryCacheEvictionPolicy'),
                d(attribute='memoryCacheSizeInMB'),
                d(attribute='properties'),
                d(attribute='pushFrequency'),
                d(attribute='replicationType'),
            ],
        ),
        ExternalCacheGroup=d(
            keys=['name'],
            items=[
                d(attribute='members'),
                d(attribute='type'),
            ],
        ),
        ExternalCacheGroupMember=d(
            keys=['adapterBeanName', 'address'],
            items=[
                d(attribute='frcaCacheGroupMember'),
            ],
        ),
        FRCACacheGroupMember=d(
            items=[
                d(attribute='cacheSize'),
                d(attribute='enableFRCA'),
                d(attribute='maxFileSize'),
                d(attribute='stackName'),
                d(attribute='transactionClass'),
            ],
        ),
        DRSSettings=d(
            items=[
                d(attribute='dataReplicationMode'),
                d(attribute='ids'),
                d(attribute='messageBrokerDomainName'),
                d(attribute='overrideHostConnectionPoints'),
                d(attribute='preferredLocalDRSBrokerName'),
                d(attribute='properties'),
            ],
        ),
        DiskCacheCustomPerformanceSettings=d(
            items=[
                d(attribute='maxBufferedCacheIdsPerMetaEntry'),
                d(attribute='maxBufferedDependencyIds'),
                d(attribute='maxBufferedTemplates'),
            ],
        ),
        DiskCacheEvictionPolicy=d(
            items=[
                d(attribute='algorithm'),
                d(attribute='highThreshold'),
                d(attribute='lowThreshold'),
            ],
        ),
        MemoryCacheEvictionPolicy=d(
            items=[
                d(attribute='highThreshold'),
                d(attribute='lowThreshold'),
            ],
        ),
        EventInfrastructureService=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        FileTransferService=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
                d(attribute='retriesCount'),
                d(attribute='retryWaitTime'),
            ],
        ),
        HAManagerService=d(
            items=[
                d(attribute='activateEnabled'),
                d(attribute='coreGroupName'),
                d(attribute='description'),
                d(attribute='enable'),
                d(attribute='isAlivePeriodSec'),
                d(attribute='properties'),
                d(attribute='threadPool'),
                d(attribute='transportBufferSize'),
            ],
        ),
        HTTPAccessLoggingService=d(
            items=[
                d(attribute='accessLog'),
                d(attribute='accessLogFormat'),
                d(attribute='enable'),
                d(attribute='enableAccessLogging'),
                d(attribute='enableErrorLogging'),
                d(attribute='enableFRCALogging'),
                d(attribute='errorLog'),
                d(attribute='errorLogLevel'),
                d(attribute='frcaLog'),
                d(attribute='frcaLogFormat'),
                d(attribute='properties'),
            ],
        ),
        HTTPInboundChannelLogging=d(
            items=[
                d(attribute='accessLog'),
                d(attribute='accessLogFormat'),
                d(attribute='enableAccessLogging'),
                d(attribute='enableErrorLogging'),
                d(attribute='enableFRCALogging'),
                d(attribute='errorLog'),
                d(attribute='errorLogLevel'),
                d(attribute='frcaLog'),
                d(attribute='frcaLogFormat'),
            ],
        ),
        LogFile=d(
            items=[
                d(attribute='filePath'),
                d(attribute='maximumBackupFiles'),
                d(attribute='maximumSize'),
            ],
        ),
        HighPerformanceExtensibleLogging=d(
            items=[
                d(attribute='correlationIdEnabled'),
                d(attribute='enable'),
                d(attribute='hpelLog'),
                d(attribute='hpelTextLog'),
                d(attribute='hpelTrace'),
                d(attribute='properties'),
                d(attribute='rawTraceFilterEnabled'),
                d(attribute='stackTraceSuppressionEnabled'),
                d(attribute='startupTraceSpec'),
            ],
        ),
        HPELLog=d(
            items=[
                d(attribute='bufferingEnabled'),
                d(attribute='dataDirectory'),
                d(attribute='fileSwitchEnabled'),
                d(attribute='fileSwitchTime'),
                d(attribute='outOfSpaceAction'),
                d(attribute='purgeBySizeEnabled'),
                d(attribute='purgeByTimeEnabled'),
                d(attribute='purgeMaxSize'),
                d(attribute='purgeMinTime'),
            ],
        ),
        HPELTextLog=d(
            items=[
                d(attribute='bufferingEnabled'),
                d(attribute='dataDirectory'),
                d(attribute='enabled'),
                d(attribute='fileSwitchEnabled'),
                d(attribute='fileSwitchTime'),
                d(attribute='outOfSpaceAction'),
                d(attribute='outputFormat'),
                d(attribute='purgeBySizeEnabled'),
                d(attribute='purgeByTimeEnabled'),
                d(attribute='purgeMaxSize'),
                d(attribute='purgeMinTime'),
                d(attribute='traceIncluded'),
            ],
        ),
        HPELTrace=d(
            items=[
                d(attribute='bufferingEnabled'),
                d(attribute='dataDirectory'),
                d(attribute='fileSwitchEnabled'),
                d(attribute='fileSwitchTime'),
                d(attribute='memoryBufferSize'),
                d(attribute='outOfSpaceAction'),
                d(attribute='purgeBySizeEnabled'),
                d(attribute='purgeByTimeEnabled'),
                d(attribute='purgeMaxSize'),
                d(attribute='purgeMinTime'),
                d(attribute='storageType'),
            ],
        ),
        I18NService=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        JavaPersistenceAPIService=d(
            items=[
                d(attribute='defaultJTADataSourceJNDIName'),
                d(attribute='defaultNonJTADataSourceJNDIName'),
                d(attribute='defaultPersistenceProvider'),
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        MessageListenerService=d(
            keys=['name'],
            items=[
                d(attribute='description'),
                d(attribute='enable'),
                d(attribute='listenerPorts'),
                d(attribute='maxMDBListenerRetries'),
                d(attribute='mdbListenerRecoveryInterval'),
                d(attribute='mqJMSPoolingThreshold'),
                d(attribute='mqJMSPoolingTimeout'),
                d(attribute='properties'),
                d(attribute='threadPool'),
            ],
        ),
        ListenerPort=d(
            keys=['name'],
            items=[
                d(attribute='connectionFactoryJNDIName'),
                d(attribute='description'),
                d(attribute='destinationJNDIName'),
                d(attribute='maxMessages'),
                d(attribute='maxRetries'),
                d(attribute='maxSessions'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        ObjectPoolService=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        ObjectRequestBroker=d(
            items=[
                d(attribute='CSIV2_SSL_MUTUALAUTH_LISTENER_ADDRESS'),
                d(attribute='CSIV2_SSL_SERVERAUTH_LISTENER_ADDRESS'),
                d(attribute='ORB_LISTENER_ADDRESS'),
                d(attribute='SAS_SSL_SERVERAUTH_LISTENER_ADDRESS'),
                d(attribute='commTraceEnabled'),
                d(attribute='connectionCacheMaximum'),
                d(attribute='connectionCacheMinimum'),
                d(attribute='enable'),
                d(attribute='forceTunnel'),
                d(attribute='interceptors'),
                d(attribute='locateRequestTimeout'),
                d(attribute='lsdConnection'),
                d(attribute='noLocalCopies'),
                d(attribute='plugins'),
                d(attribute='properties'),
                d(attribute='requestRetriesCount'),
                d(attribute='requestRetriesDelay'),
                d(attribute='requestTimeout'),
                d(attribute='threadPool'),
                d(attribute='tunnelAgentURL'),
                d(attribute='useServerThreadPool'),
            ],
        ),
        Interceptor=d(
            keys=['name'],
        ),
        LSDConnection=d(
            items=[
                d(attribute='endPoint'),
                d(attribute='mode'),
            ],
        ),
        ORBPlugin=d(
            keys=['name'],
        ),
        PMIService=d(
            items=[
                d(attribute='enable'),
                d(attribute='initialSpecLevel'),
                d(attribute='properties'),
                d(attribute='statisticSet'),
                d(attribute='synchronizedUpdate'),
            ],
        ),
        PluginConfigService=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        RASLoggingService=d(
            items=[
                d(attribute='enable'),
                d(attribute='enableCorrelationId'),
                d(attribute='messageFilterLevel'),
                d(attribute='properties'),
                d(attribute='serviceLog'),
                d(attribute='suppressStackTraces'),
            ],
        ),
        ServiceLog=d(
            keys=['name'],
            items=[
                d(attribute='enabled'),
                d(attribute='size'),
            ],
        ),
        SIBService=d(
            items=[
                d(attribute='configurationReloadEnabled'),
                d(attribute='enable'),
                d(attribute='properties'),
                d(attribute='startCRA'),
            ],
        ),
        SchedulerService=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        SessionManager=d(
            items=[
                d(attribute='accessSessionOnTimeout'),
                d(attribute='allowSerializedSessionAccess'),
                d(attribute='defaultCookieSettings'),
                d(attribute='enable'),
                d(attribute='enableCookies'),
                d(attribute='enableProtocolSwitchRewriting'),
                d(attribute='enableSSLTracking'),
                d(attribute='enableSecurityIntegration'),
                d(attribute='enableUrlRewriting'),
                d(attribute='maxWaitTime'),
                d(attribute='properties'),
                d(attribute='sessionDRSPersistence'),
                d(attribute='sessionDatabasePersistence'),
                d(attribute='sessionPersistenceMode'),
                d(attribute='tuningParams'),
            ],
        ),
        Cookie=d(
            items=[
                d(attribute='domain'),
                d(attribute='httpOnly'),
                d(attribute='maximumAge'),
                d(attribute='name'),
                d(attribute='path'),
                d(attribute='secure'),
                d(attribute='useContextRootAsPath'),
            ],
        ),
        SessionDatabasePersistence=d(
            items=[
                d(attribute='datasourceJNDIName'),
                d(attribute='db2RowSize'),
                d(attribute='password'),
                d(attribute='tableSpaceName'),
                d(attribute='userId'),
            ],
        ),
        TuningParams=d(
            items=[
                d(attribute='allowOverflow'),
                d(attribute='invalidationSchedule'),
                d(attribute='invalidationTimeout'),
                d(attribute='maxInMemorySessionCount'),
                d(attribute='scheduleInvalidation'),
                d(attribute='usingMultiRowSchema'),
                d(attribute='writeContents'),
                d(attribute='writeFrequency'),
                d(attribute='writeInterval'),
            ],
        ),
        InvalidationSchedule=d(
            items=[
                d(attribute='firstHour'),
                d(attribute='secondHour'),
            ],
        ),
        StartupBeansService=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        ThreadPoolManager=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
                d(attribute='threadPools'),
            ],
        ),
        TransactionService=d(
            items=[
                d(attribute='LPSHeuristicCompletion'),
                d(attribute='WSTransactionSpecificationLevel'),
                d(attribute='acceptHeuristicHazard'),
                d(attribute='asyncResponseTimeout'),
                d(attribute='clientInactivityTimeout'),
                d(attribute='enable'),
                d(attribute='enableFileLocking'),
                d(attribute='enableLoggingForHeuristicReporting'),
                d(attribute='enableProtocolSecurity'),
                d(attribute='heuristicRetryLimit'),
                d(attribute='heuristicRetryWait'),
                d(attribute='httpProxyPrefix'),
                d(attribute='httpsProxyPrefix'),
                d(attribute='maximumTransactionTimeout'),
                d(attribute='properties'),
                d(attribute='propogatedOrBMTTranLifetimeTimeout'),
                d(attribute='totalTranLifetimeTimeout'),
                d(attribute='transactionLogDirectory'),
                d(attribute='waitForCommitOutcome'),
                d(attribute='wstxURLPrefixSpecified'),
            ],
        ),
        TransportChannelService=d(
            items=[
                d(attribute='enable'),
                d(attribute='factories'),
                d(attribute='properties'),
                d(attribute='transportChannels'),
                d(attribute='chains'),
            ],
        ),
        Chain=d(
            keys=['name'],
            items=[
                d(attribute='enable'),
                d(ref='transportChannels'),
            ],
        ),
        TransportChannelFactory=d(
            items=[
                d(attribute='properties'),
            ],
        ),
        JFAPFactory=d(
            items=[
                d(attribute='properties'),
            ],
        ),
        TCPFactory=d(
            items=[
                d(attribute='properties'),
            ],
        ),
        GenericChannelFactory=d(
            items=[
                d(attribute='configURI'),
                d(attribute='jarFile'),
                d(attribute='properties'),
                d(attribute='typeID'),
            ],
        ),
        RMQChannelFactory=d(
            items=[
                d(attribute='properties'),
            ],
        ),
        TransportChannel=d(
            keys=['name'],
            items=[
                d(attribute='properties'),
            ],
        ),
        InboundTransportChannel=d(
            keys=['name'],
            items=[
                d(attribute='discriminationWeight'),
                d(attribute='properties'),
            ],
        ),
        OutboundTransportChannel=d(
            keys=['name'],
            items=[
                d(attribute='properties'),
            ],
        ),
        TCPInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='addressExcludeList'),
                d(attribute='addressIncludeList'),
                d(attribute='discriminationWeight'),
                d(attribute='endPointName'),
                d(attribute='hostNameExcludeList'),
                d(attribute='hostNameIncludeList'),
                d(attribute='inactivityTimeout'),
                d(attribute='maxOpenConnections'),
                d(attribute='properties'),
                d(ref='threadPool'),
            ],
        ),
        JFAPInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='discriminationWeight'),
                d(attribute='heartbeatInterval'),
                d(attribute='heartbeatTimeout'),
                d(attribute='properties'),
            ],
        ),
        HTTPInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='discriminationWeight'),
                d(attribute='enableLogging'),
                d(attribute='httpInboundChannelLogging'),
                d(attribute='keepAlive'),
                d(attribute='maxFieldSize'),
                d(attribute='maxHeaders'),
                d(attribute='maxRequestMessageBodySize'),
                d(attribute='maximumPersistentRequests'),
                d(attribute='persistentTimeout'),
                d(attribute='properties'),
                d(attribute='readTimeout'),
                d(attribute='useChannelAccessLoggingSettings'),
                d(attribute='useChannelErrorLoggingSettings'),
                d(attribute='useChannelFRCALoggingSettings'),
                d(attribute='writeTimeout'),
            ],
        ),
        MQFAPInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='discriminationWeight'),
                d(attribute='properties'),
            ],
        ),
        WebContainerInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='discriminationWeight'),
                d(attribute='enableFRCA'),
                d(attribute='properties'),
                d(attribute='writeBufferSize'),
            ],
        ),
        SSLInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='discriminationWeight'),
                d(attribute='properties'),
                d(attribute='sslConfigAlias'),
            ],
        ),
        HTTPTunnelInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='discriminationWeight'),
                d(attribute='properties'),
            ],
        ),
        TCPOutboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='inactivityTimeout'),
                d(attribute='properties'),
                d(ref='threadPool'),
            ],
        ),
        HTTPOutboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='keepAlive'),
                d(attribute='properties'),
                d(attribute='readTimeout'),
                d(attribute='writeTimeout'),
            ],
        ),
        HTTPTunnelOutboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='properties'),
            ],
        ),
        SSLOutboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='properties'),
                d(attribute='sslConfigAlias'),
            ],
        ),
        JFAPOutboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='heartbeatInterval'),
                d(attribute='heartbeatTimeout'),
                d(attribute='properties'),
            ],
        ),
        MQFAPOutboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='properties'),
            ],
        ),
        DCSInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='discriminationWeight'),
                d(attribute='properties'),
            ],
        ),
        GenericInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='configURI'),
                d(attribute='discriminationWeight'),
                d(attribute='jarFile'),
                d(attribute='properties'),
                d(attribute='typeID'),
            ],
        ),
        GenericOutboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='configURI'),
                d(attribute='jarFile'),
                d(attribute='properties'),
                d(attribute='typeID'),
            ],
        ),
        SIPInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='discriminationWeight'),
                d(attribute='properties'),
            ],
        ),
        SIPContainerInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='discriminationWeight'),
                d(attribute='properties'),
            ],
        ),
        UDPInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='addressExcludeList'),
                d(attribute='addressIncludeList'),
                d(attribute='discriminationWeight'),
                d(attribute='endPointName'),
                d(attribute='properties'),
            ],
        ),
        SIPProxyInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='discriminationWeight'),
                d(attribute='properties'),
            ],
        ),
        SIPOutboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='properties'),
            ],
        ),
        UDPOutboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='properties'),
            ],
        ),
        ORBInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='discriminationWeight'),
                d(attribute='properties'),
            ],
        ),
        HTTPQueueInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='discriminationWeight'),
                d(attribute='properties'),
            ],
        ),
        DataPowerMgrInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='discriminationWeight'),
                d(attribute='properties'),
            ],
        ),
        RMQOutboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='properties'),
            ],
        ),
        ProxyInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='discriminationWeight'),
                d(attribute='properties'),
            ],
        ),
        TPVService=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        TraceService=d(
            items=[
                d(attribute='enable'),
                d(attribute='memoryBufferSize'),
                d(attribute='properties'),
                d(attribute='startupTraceSpecification'),
                d(attribute='traceFormat'),
                d(attribute='traceLog'),
                d(attribute='traceOutputType'),
            ],
        ),
        TraceLog=d(
            items=[
                d(attribute='fileName'),
                d(attribute='maxNumberOfBackupFiles'),
                d(attribute='rolloverSize'),
            ],
        ),
        WSByteBufferService=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        WorkAreaPartitionService=d(
            items=[
                d(attribute='enable'),
                d(attribute='partitions'),
                d(attribute='properties'),
            ],
        ),
        WorkAreaPartition=d(
            keys=['name'],
            items=[
                d(attribute='bidirectional'),
                d(attribute='deferredAttributeSerialization'),
                d(attribute='description'),
                d(attribute='enable'),
                d(attribute='enableWebServicePropagation'),
                d(attribute='maxReceiveSize'),
                d(attribute='maxSendSize'),
                d(attribute='properties'),
            ],
        ),
        WorkAreaService=d(
            items=[
                d(attribute='enable'),
                d(attribute='enableWebServicePropagation'),
                d(attribute='maxReceiveSize'),
                d(attribute='maxSendSize'),
                d(attribute='properties'),
            ],
        ),
        WorkManagerService=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
    )


def mail():
    return d(
        MailProvider=d(
            keys=['name'],
            items=[
                d(attribute='classpath'),
                d(attribute='description'),
                d(attribute='isolatedClassLoader'),
                d(attribute='nativepath'),
                d(attribute='propertySet'),
                d(attribute='protocolProviders'),
                d(attribute='providerType'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        MailSession=d(
            keys=['name'],
            items=[
                d(attribute='category'),
                d(attribute='debug'),
                d(attribute='description'),
                d(attribute='jndiName'),
                d(attribute='mailFrom'),
                d(attribute='mailStoreHost'),
                d(attribute='mailStorePassword'),
                d(attribute='mailStorePort'),
                d(ref='mailStoreProtocol'),
                d(attribute='mailStoreUser'),
                d(attribute='mailTransportHost'),
                d(attribute='mailTransportPassword'),
                d(attribute='mailTransportPort'),
                d(ref='mailTransportProtocol'),
                d(attribute='mailTransportUser'),
                d(attribute='propertySet'),
                d(attribute='strict'),
            ],
            parents=['MailProvider'],
        ),
        ProtocolProvider=d(
            keys=['protocol'],
            items=[
                d(attribute='classname'),
                d(attribute='classpath'),
                d(attribute='type'),
            ],
        ),
    )


def env():
    return d(
        ResourceEnvironmentProvider=d(
            keys=['name'],
            items=[
                d(attribute='classpath'),
                d(attribute='description'),
                d(attribute='isolatedClassLoader'),
                d(attribute='nativepath'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='referenceables'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        ResourceEnvEntry=d(
            keys=['name'],
            items=[
                d(attribute='category'),
                d(attribute='description'),
                d(attribute='jndiName'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(ref='referenceable'),
            ],
            parents=[
                'CacheProvider', 'EventInfrastructureProvider',
                'ObjectPoolProvider', 'ResourceEnvironmentProvider',
                'SchedulerProvider', 'TimerManagerProvider',
                'WorkManagerProvider',
            ],
        ),
        Referenceable=d(
            keys=['classname', 'factoryClassname'],
        ),
    )


def jms():
    return d(
        JMSProvider=d(
            keys=['name'],
            items=[
                d(attribute='classpath'),
                d(attribute='description'),
                d(attribute='externalInitialContextFactory'),
                d(attribute='externalProviderURL'),
                d(attribute='isolatedClassLoader'),
                d(attribute='nativepath'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='supportsASF'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        JMSDestination=d(
            keys=['name'],
            items=[
                d(attribute='category'),
                d(attribute='description'),
                d(attribute='jndiName'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
            ],
        ),
        JMSConnectionFactory=d(
            keys=['name'],
            items=[
                d(attribute='XAEnabled'),
                d(attribute='authDataAlias'),
                d(attribute='authMechanismPreference'),
                d(attribute='category'),
                d(attribute='connectionPool'),
                d(attribute='description'),
                d(attribute='diagnoseConnectionUsage'),
                d(attribute='jndiName'),
                d(attribute='logMissingTransactionContext'),
                d(attribute='manageCachedHandles'),
                d(attribute='mapping'),
                d(attribute='preTestConfig'),
                d(attribute='properties'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='sessionPool'),
                d(attribute='xaRecoveryAuthAlias'),
            ],
        ),
        GenericJMSDestination=d(
            keys=['name'],
            items=[
                d(attribute='category'),
                d(attribute='description'),
                d(attribute='externalJNDIName'),
                d(attribute='jndiName'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='type'),
            ],
            parents=['JMSProvider'],
        ),
        GenericJMSConnectionFactory=d(
            keys=['name'],
            items=[
                d(attribute='XAEnabled'),
                d(attribute='authDataAlias'),
                d(attribute='authMechanismPreference'),
                d(attribute='category'),
                d(attribute='connectionPool'),
                d(attribute='description'),
                d(attribute='diagnoseConnectionUsage'),
                d(attribute='externalJNDIName'),
                d(attribute='jndiName'),
                d(attribute='logMissingTransactionContext'),
                d(attribute='manageCachedHandles'),
                d(attribute='mapping'),
                d(attribute='preTestConfig'),
                d(attribute='properties'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='sessionPool'),
                d(attribute='xaRecoveryAuthAlias'),
            ],
            parents=['JMSProvider'],
        ),
        MQQueue=d(
            keys=['name'],
            items=[
                d(attribute='CCSID'),
                d(attribute='baseQueueManagerName'),
                d(attribute='baseQueueName'),
                d(attribute='category'),
                d(attribute='decimalEncoding'),
                d(attribute='description'),
                d(attribute='expiry'),
                d(attribute='floatingPointEncoding'),
                d(attribute='integerEncoding'),
                d(attribute='jndiName'),
                d(attribute='messageBody'),
                d(attribute='mqmdMessageContext'),
                d(attribute='mqmdReadEnabled'),
                d(attribute='mqmdWriteEnabled'),
                d(attribute='password'),
                d(attribute='persistence'),
                d(attribute='priority'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='queueManagerHost'),
                d(attribute='queueManagerPort'),
                d(attribute='readAhead'),
                d(attribute='readAheadClose'),
                d(attribute='receiveCCSID'),
                d(attribute='receiveConvert'),
                d(attribute='replyToStyle'),
                d(attribute='sendAsync'),
                d(attribute='serverConnectionChannelName'),
                d(attribute='specifiedExpiry'),
                d(attribute='specifiedPriority'),
                d(attribute='targetClient'),
                d(attribute='useNativeEncoding'),
                d(attribute='userName'),
            ],
            parents=['JMSProvider'],
        ),
        MQTopic=d(
            keys=['name'],
            items=[
                d(attribute='CCSID'),
                d(attribute='baseTopicName'),
                d(attribute='brokerCCDurSubQueue'),
                d(attribute='brokerDurSubQueue'),
                d(attribute='brokerPubQmgr'),
                d(attribute='brokerPubQueue'),
                d(attribute='brokerVersion'),
                d(attribute='category'),
                d(attribute='decimalEncoding'),
                d(attribute='description'),
                d(attribute='expiry'),
                d(attribute='floatingPointEncoding'),
                d(attribute='integerEncoding'),
                d(attribute='jndiName'),
                d(attribute='messageBody'),
                d(attribute='mqmdMessageContext'),
                d(attribute='mqmdReadEnabled'),
                d(attribute='mqmdWriteEnabled'),
                d(attribute='multicast'),
                d(attribute='persistence'),
                d(attribute='priority'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='readAhead'),
                d(attribute='readAheadClose'),
                d(attribute='receiveCCSID'),
                d(attribute='receiveConvert'),
                d(attribute='replyToStyle'),
                d(attribute='sendAsync'),
                d(attribute='specifiedExpiry'),
                d(attribute='specifiedPriority'),
                d(attribute='targetClient'),
                d(attribute='useNativeEncoding'),
                d(attribute='wildcardFormat'),
                d(attribute='wmqTopicName'),
            ],
            parents=['JMSProvider'],
        ),
        MQConnectionFactory=d(
            keys=['name'],
            items=[
                d(attribute='CCSID'),
                d(attribute='XAEnabled'),
                d(attribute='authDataAlias'),
                d(attribute='authMechanismPreference'),
                d(attribute='brokerCCSubQ'),
                d(attribute='brokerControlQueue'),
                d(attribute='brokerPubQueue'),
                d(attribute='brokerQueueManager'),
                d(attribute='brokerSubQueue'),
                d(attribute='brokerVersion'),
                d(attribute='category'),
                d(attribute='ccdtUrl'),
                d(attribute='channel'),
                d(attribute='clientID'),
                d(attribute='clientReconnectOptions'),
                d(attribute='clientReconnectTimeout'),
                d(attribute='cloneSupport'),
                d(attribute='compressHeaders'),
                d(attribute='compressPayload'),
                d(attribute='connameList'),
                d(attribute='connectionPool'),
                d(attribute='description'),
                d(attribute='diagnoseConnectionUsage'),
                d(attribute='directAuth'),
                d(attribute='failIfQuiesce'),
                d(attribute='host'),
                d(attribute='inheritRRSContext'),
                d(attribute='jndiName'),
                d(attribute='localAddress'),
                d(attribute='logMissingTransactionContext'),
                d(attribute='manageCachedHandles'),
                d(attribute='mapping'),
                d(attribute='maxBatchSize'),
                d(attribute='msgRetention'),
                d(attribute='msgSelection'),
                d(attribute='multicast'),
                d(attribute='pollingInterval'),
                d(attribute='port'),
                d(attribute='preTestConfig'),
                d(attribute='properties'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='providerVersion'),
                d(attribute='proxyHostName'),
                d(attribute='proxyPort'),
                d(attribute='pubSubCleanup'),
                d(attribute='pubSubCleanupInterval'),
                d(attribute='publishAckInterval'),
                d(attribute='qmgrType'),
                d(attribute='queueManager'),
                d(attribute='rcvExit'),
                d(attribute='rcvExitInitData'),
                d(attribute='replyWithRFH2'),
                d(attribute='rescanInterval'),
                d(attribute='secExit'),
                d(attribute='secExitInitData'),
                d(attribute='sendExit'),
                d(attribute='sendExitInitData'),
                d(attribute='sessionPool'),
                d(attribute='sparseSubscriptions'),
                d(attribute='sslCRL'),
                d(attribute='sslCipherSuite'),
                d(attribute='sslConfiguration'),
                d(attribute='sslPeerName'),
                d(attribute='sslResetCount'),
                d(attribute='sslType'),
                d(attribute='statRefreshInterval'),
                d(attribute='substore'),
                d(attribute='tempModel'),
                d(attribute='tempQueuePrefix'),
                d(attribute='tempTopicPrefix'),
                d(attribute='transportType'),
                d(attribute='useConnectionPooling'),
                d(attribute='wildcardFormat'),
                d(attribute='wmqServerEndpoint'),
                d(attribute='wmqServerName'),
                d(attribute='wmqServerSvrconnChannel'),
                d(attribute='xaRecoveryAuthAlias'),
            ],
            parents=['JMSProvider'],
        ),
        MQQueueConnectionFactory=d(
            keys=['name'],
            items=[
                d(attribute='CCSID'),
                d(attribute='XAEnabled'),
                d(attribute='authDataAlias'),
                d(attribute='authMechanismPreference'),
                d(attribute='category'),
                d(attribute='ccdtUrl'),
                d(attribute='channel'),
                d(attribute='clientID'),
                d(attribute='clientReconnectOptions'),
                d(attribute='clientReconnectTimeout'),
                d(attribute='compressHeaders'),
                d(attribute='compressPayload'),
                d(attribute='connameList'),
                d(attribute='connectionPool'),
                d(attribute='description'),
                d(attribute='diagnoseConnectionUsage'),
                d(attribute='failIfQuiesce'),
                d(attribute='host'),
                d(attribute='inheritRRSContext'),
                d(attribute='jndiName'),
                d(attribute='localAddress'),
                d(attribute='logMissingTransactionContext'),
                d(attribute='manageCachedHandles'),
                d(attribute='mapping'),
                d(attribute='maxBatchSize'),
                d(attribute='msgRetention'),
                d(attribute='pollingInterval'),
                d(attribute='port'),
                d(attribute='preTestConfig'),
                d(attribute='properties'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='providerVersion'),
                d(attribute='qmgrType'),
                d(attribute='queueManager'),
                d(attribute='rcvExit'),
                d(attribute='rcvExitInitData'),
                d(attribute='replyWithRFH2'),
                d(attribute='rescanInterval'),
                d(attribute='secExit'),
                d(attribute='secExitInitData'),
                d(attribute='sendExit'),
                d(attribute='sendExitInitData'),
                d(attribute='sessionPool'),
                d(attribute='sslCRL'),
                d(attribute='sslCipherSuite'),
                d(attribute='sslConfiguration'),
                d(attribute='sslPeerName'),
                d(attribute='sslResetCount'),
                d(attribute='sslType'),
                d(attribute='tempModel'),
                d(attribute='tempQueuePrefix'),
                d(attribute='transportType'),
                d(attribute='useConnectionPooling'),
                d(attribute='wmqServerEndpoint'),
                d(attribute='wmqServerName'),
                d(attribute='wmqServerSvrconnChannel'),
                d(attribute='xaRecoveryAuthAlias'),
            ],
            parents=['JMSProvider'],
        ),
        MQTopicConnectionFactory=d(
            keys=['name'],
            items=[
                d(attribute='CCSID'),
                d(attribute='XAEnabled'),
                d(attribute='authDataAlias'),
                d(attribute='authMechanismPreference'),
                d(attribute='brokerCCSubQ'),
                d(attribute='brokerControlQueue'),
                d(attribute='brokerPubQueue'),
                d(attribute='brokerQueueManager'),
                d(attribute='brokerSubQueue'),
                d(attribute='brokerVersion'),
                d(attribute='category'),
                d(attribute='ccdtUrl'),
                d(attribute='channel'),
                d(attribute='clientID'),
                d(attribute='clientReconnectOptions'),
                d(attribute='clientReconnectTimeout'),
                d(attribute='cloneSupport'),
                d(attribute='compressHeaders'),
                d(attribute='compressPayload'),
                d(attribute='connameList'),
                d(attribute='connectionPool'),
                d(attribute='description'),
                d(attribute='diagnoseConnectionUsage'),
                d(attribute='directAuth'),
                d(attribute='failIfQuiesce'),
                d(attribute='host'),
                d(attribute='inheritRRSContext'),
                d(attribute='jndiName'),
                d(attribute='localAddress'),
                d(attribute='logMissingTransactionContext'),
                d(attribute='manageCachedHandles'),
                d(attribute='mapping'),
                d(attribute='maxBatchSize'),
                d(attribute='msgSelection'),
                d(attribute='multicast'),
                d(attribute='pollingInterval'),
                d(attribute='port'),
                d(attribute='preTestConfig'),
                d(attribute='properties'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='providerVersion'),
                d(attribute='proxyHostName'),
                d(attribute='proxyPort'),
                d(attribute='pubSubCleanup'),
                d(attribute='pubSubCleanupInterval'),
                d(attribute='publishAckInterval'),
                d(attribute='qmgrType'),
                d(attribute='queueManager'),
                d(attribute='rcvExit'),
                d(attribute='rcvExitInitData'),
                d(attribute='rescanInterval'),
                d(attribute='secExit'),
                d(attribute='secExitInitData'),
                d(attribute='sendExit'),
                d(attribute='sendExitInitData'),
                d(attribute='sessionPool'),
                d(attribute='sparseSubscriptions'),
                d(attribute='sslCRL'),
                d(attribute='sslCipherSuite'),
                d(attribute='sslConfiguration'),
                d(attribute='sslPeerName'),
                d(attribute='sslResetCount'),
                d(attribute='sslType'),
                d(attribute='statRefreshInterval'),
                d(attribute='substore'),
                d(attribute='tempModel'),
                d(attribute='tempTopicPrefix'),
                d(attribute='transportType'),
                d(attribute='useConnectionPooling'),
                d(attribute='wildcardFormat'),
                d(attribute='wmqServerEndpoint'),
                d(attribute='wmqServerName'),
                d(attribute='wmqServerSvrconnChannel'),
                d(attribute='xaRecoveryAuthAlias'),
            ],
            parents=['JMSProvider'],
        ),
    )


def virtual_host():
    return d(
        VirtualHost=d(
            keys=['name'],
            items=[
                d(attribute='aliases'),
                d(attribute='mimeTypes'),
            ],
            parents=['Cell', 'Node'],
        ),
        HostAlias=d(
            keys=['hostname', 'port'],
        ),
        MimeEntry=d(
            keys=['type'],
            items=[
                d(attribute='extensions'),
            ],
        ),
    )


def object_pool():
    return d(
        ObjectPoolProvider=d(
            keys=['name'],
            items=[
                d(attribute='classpath'),
                d(attribute='description'),
                d(attribute='isolatedClassLoader'),
                d(attribute='nativepath'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='referenceables'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        ObjectPoolManagerInfo=d(
            keys=['name'],
            items=[
                d(attribute='category'),
                d(attribute='description'),
                d(attribute='jndiName'),
                d(attribute='objectPools'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(ref='referenceable'),
            ],
            parents=['ObjectPoolProvider'],
        ),
        ObjectPool=d(
            keys=['poolClassName', 'poolImplClassName'],
            items=[
                d(attribute='properties'),
            ],
        ),
        Referenceable=d(
            keys=['classname', 'factoryClassname'],
        ),
    )


def dyna_cache():
    return d(
        CacheProvider=d(
            keys=['name'],
            items=[
                d(attribute='classpath'),
                d(attribute='description'),
                d(attribute='isolatedClassLoader'),
                d(attribute='nativepath'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='referenceables'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        ObjectCacheInstance=d(
            keys=['name'],
            items=[
                d(attribute='cacheReplication'),
                d(attribute='cacheSize'),
                d(attribute='category'),
                d(attribute='defaultPriority'),
                d(attribute='description'),
                d(attribute='disableDependencyId'),
                d(attribute='diskCacheCleanupFrequency'),
                d(attribute='diskCacheCustomPerformanceSettings'),
                d(attribute='diskCacheEntrySizeInMB'),
                d(attribute='diskCacheEvictionPolicy'),
                d(attribute='diskCachePerformanceLevel'),
                d(attribute='diskCacheSizeInEntries'),
                d(attribute='diskCacheSizeInGB'),
                d(attribute='diskOffloadLocation'),
                d(attribute='enableCacheReplication'),
                d(attribute='enableDiskOffload'),
                d(attribute='flushToDiskOnStop'),
                d(attribute='hashSize'),
                d(attribute='jndiName'),
                d(attribute='memoryCacheEvictionPolicy'),
                d(attribute='memoryCacheSizeInMB'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='pushFrequency'),
                d(attribute='replicationType'),
                d(attribute='useListenerContext'),
                d(ref='referenceable'),
            ],
            parents=[
                'CacheProvider'
            ],
        ),
        ServletCacheInstance=d(
            keys=['name'],
            items=[
                d(attribute='cacheReplication'),
                d(attribute='cacheSize'),
                d(attribute='category'),
                d(attribute='defaultPriority'),
                d(attribute='description'),
                d(attribute='diskCacheCleanupFrequency'),
                d(attribute='diskCacheCustomPerformanceSettings'),
                d(attribute='diskCacheEntrySizeInMB'),
                d(attribute='diskCacheEvictionPolicy'),
                d(attribute='diskCachePerformanceLevel'),
                d(attribute='diskCacheSizeInEntries'),
                d(attribute='diskCacheSizeInGB'),
                d(attribute='diskOffloadLocation'),
                d(attribute='enableCacheReplication'),
                d(attribute='enableDiskOffload'),
                d(attribute='flushToDiskOnStop'),
                d(attribute='hashSize'),
                d(attribute='jndiName'),
                d(attribute='memoryCacheEvictionPolicy'),
                d(attribute='memoryCacheSizeInMB'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='pushFrequency'),
                d(attribute='replicationType'),
                d(attribute='useListenerContext'),
                d(ref='referenceable'),
            ],
            parents=[
                'CacheProvider'
            ],
        ),
        DiskCacheCustomPerformanceSettings=d(
            items=[
                d(attribute='maxBufferedCacheIdsPerMetaEntry'),
                d(attribute='maxBufferedDependencyIds'),
                d(attribute='maxBufferedTemplates'),
            ],
        ),
        DiskCacheEvictionPolicy=d(
            items=[
                d(attribute='algorithm'),
                d(attribute='highThreshold'),
                d(attribute='lowThreshold'),
            ],
        ),
        MemoryCacheEvictionPolicy=d(
            items=[
                d(attribute='highThreshold'),
                d(attribute='lowThreshold'),
            ],
        ),
    )


def work_manager():
    return d(
        WorkManagerProvider=d(
            keys=['name'],
            items=[
                d(attribute='classpath'),
                d(attribute='description'),
                d(attribute='isolatedClassLoader'),
                d(attribute='nativepath'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='referenceables'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        WorkManagerInfo=d(
            keys=['name'],
            items=[
                d(attribute='category'),
                d(attribute='daemonTranClass'),
                d(attribute='defTranClass'),
                d(attribute='description'),
                d(attribute='isDistributable'),
                d(attribute='isGrowable'),
                d(attribute='jndiName'),
                d(attribute='maxThreads'),
                d(attribute='minThreads'),
                d(attribute='numAlarmThreads'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(ref='referenceable'),
                d(attribute='serviceNames'),
                d(attribute='threadPriority'),
                d(attribute='workReqQFullAction'),
                d(attribute='workReqQSize'),
                d(attribute='workTimeout'),
            ],
            parents=['WorkManagerProvider'],
        ),
        TimerManagerProvider=d(
            keys=['name'],
            items=[
                d(attribute='classpath'),
                d(attribute='description'),
                d(attribute='isolatedClassLoader'),
                d(attribute='nativepath'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='referenceables'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        TimerManagerInfo=d(
            keys=['name'],
            items=[
                d(attribute='category'),
                d(attribute='defTranClass'),
                d(attribute='description'),
                d(attribute='jndiName'),
                d(attribute='numAlarmThreads'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(ref='referenceable'),
                d(attribute='serviceNames'),
            ],
            parents=['TimerManagerProvider'],
        ),
        SchedulerProvider=d(
            keys=['name'],
            items=[
                d(attribute='classpath'),
                d(attribute='description'),
                d(attribute='isolatedClassLoader'),
                d(attribute='nativepath'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='referenceables'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        SchedulerConfiguration=d(
            keys=['name'],
            items=[
                d(attribute='category'),
                d(attribute='datasourceAlias'),
                d(attribute='datasourceJNDIName'),
                d(attribute='description'),
                d(attribute='jndiName'),
                d(attribute='loginConfigName'),
                d(attribute='pollInterval'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(ref='referenceable'),
                d(attribute='securityRole'),
                d(attribute='tablePrefix'),
                d(attribute='useAdminRoles'),
                d(ref='workManagerInfo'),
                d(attribute='workManagerInfoJNDIName'),
            ],
            parents=['SchedulerProvider'],
        ),
        Referenceable=d(
            keys=['classname', 'factoryClassname'],
        ),
    )


def url():
    return d(
        URLProvider=d(
            keys=['name'],
            items=[
                d(attribute='classpath'),
                d(attribute='description'),
                d(attribute='isolatedClassLoader'),
                d(attribute='nativepath'),
                d(attribute='propertySet'),
                d(attribute='protocol'),
                d(attribute='providerType'),
                d(attribute='streamHandlerClassName'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        URL=d(
            keys=['name'],
            items=[
                d(attribute='category'),
                d(attribute='description'),
                d(attribute='jndiName'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='spec'),
            ],
            parents=['URLProvider'],
        ),
    )


def properties():
    return d(
        Property=d(
            keys=['name'],
            items=[
                d(attribute='description'),
                d(attribute='required'),
                d(attribute='validationExpression'),
                d(attribute='value'),
            ],
        ),
        TypedProperty=d(
            keys=['name'],
            items=[
                d(attribute='description'),
                d(attribute='required'),
                d(attribute='type'),
                d(attribute='validationExpression'),
                d(attribute='value'),
            ],
        ),
        DescriptiveProperty=d(
            keys=['name'],
            items=[
                d(attribute='description'),
                d(attribute='displayNameKey'),
                d(attribute='firstClass'),
                d(attribute='hoverHelpKey'),
                d(attribute='inclusive'),
                d(attribute='nlsRangeKey'),
                d(attribute='range'),
                d(attribute='required'),
                d(attribute='type'),
                d(attribute='validationExpression'),
                d(attribute='value'),
            ],
        ),
        DiscoverableDescriptiveProperty=d(
            keys=['name'],
            items=[
                d(attribute='description'),
                d(attribute='descriptor'),
                d(attribute='inclusive'),
                d(attribute='nlsRangeKey'),
                d(attribute='range'),
                d(attribute='required'),
                d(attribute='type'),
                d(attribute='validationExpression'),
                d(attribute='value'),
            ],
        ),
        DisplayDescriptor=d(
            keys=['displayNameKey'],
            items=[
                d(attribute='displayDescriptionKey'),
                d(attribute='displayProperties'),
                d(attribute='firstClass'),
                d(attribute='hidden'),
                d(attribute='hoverHelpKey'),
                d(attribute='readonly'),
                d(attribute='weight'),
            ],
        ),
        J2EEResourcePropertySet=d(
            items=[
                d(attribute='resourceProperties'),
            ],
        ),
        J2EEResourceProperty=d(
            keys=['name'],
            items=[
                d(attribute='confidential'),
                d(attribute='description'),
                d(attribute='ignore'),
                d(attribute='required'),
                d(attribute='supportsDynamicUpdates'),
                d(attribute='type'),
                d(attribute='value'),
            ],
        ),
        EndPoint=d(
            keys=['host', 'port'],
        ),
        OverlayEndpoint=d(
            keys=['host', 'port'],
            items=[
                d(attribute='properties'),
            ],
        ),
        NamedEndPoint=d(
            keys=['endPointName'],
            items=[
                d(attribute='endPoint'),
            ],
        ),
        MappingModule=d(
            items=[
                d(attribute='authDataAlias'),
                d(attribute='mappingConfigAlias'),
            ],
        ),
    )


def all():
    result = {}
    for esf in [
        class_loader, components, connection_pool, env, j2c, j2c_advanced, jdbc,
        jms, mail, object_pool, processes, properties, security, server_index,
        services, topology, variables, virtual_host, dyna_cache, url, work_manager
    ]:
        result.update(esf())
    return result

def d(**dct):
    return dct


def topology():
    return d(
        Cell=d(
            keys=['name'],
            items=[
                d(attribute='properties'),
                d(child='Node'),
                d(child='ServerCluster'),
            ],
        ),
        ServerCluster=d(
            keys=['name'],
            items=[
                d(attribute='description'),
                d(attribute='members'),
                d(attribute='preferLocal'),
                d(attribute='serverIOTimeoutRetry'),
            ],
        ),
        ClusterMember=d(
            keys=['memberName', 'nodeName'],
        ),
        Node=d(
            keys=['name'],
            items=[
                d(attribute='maxFilePermissionForApps'),
                d(attribute='properties'),
            ],
        ),
        Server=d(
            keys=['name'],
            items=[
                d(attribute='changeGroupAfterStartup'),
                d(attribute='changeUserAfterStartup'),
                d(attribute='components'),
                d(attribute='customServices'),
                d(attribute='developmentMode'),
                d(attribute='errorStreamRedirect'),
                d(attribute='outputStreamRedirect'),
                d(attribute='parallelStartEnabled'),
                d(attribute='processDefinitions'),
                d(attribute='provisionComponents'),
                d(attribute='services'),
            ],
            parents=['Node'],
        ),
    )


def server_index():
    return d(
        ServerIndex=d(
            keys=['hostName'],
            items=[
                d(attribute='serverEntries'),
                d(ref='endPointRefs'),
            ],
            parents=['Node'],
        ),
        ServerEntry=d(
            keys=['serverName', 'serverType'],
            items=[
                d(attribute='recoveryLog'),
                d(attribute='specialEndpoints'),
            ],
        ),
        RecoveryLog=d(
            items=[
                d(attribute='compensationLogDirectory'),
                d(attribute='compensationLogFileSize'),
                d(attribute='transactionLogDirectory'),
            ],
        ),
    )


def processes():
    return d(
        JavaProcessDef=d(
            items=[
                d(attribute='environment'),
                d(attribute='executableArguments'),
                d(attribute='executableName'),
                d(attribute='executableTarget'),
                d(attribute='executableTargetKind'),
                d(attribute='execution'),
                d(attribute='ioRedirect'),
                d(attribute='jvmEntries'),
                d(attribute='monitoringPolicy'),
                d(attribute='processType'),
                d(attribute='startCommand'),
                d(attribute='startCommandArgs'),
                d(attribute='stopCommand'),
                d(attribute='stopCommandArgs'),
                d(attribute='terminateCommand'),
                d(attribute='terminateCommandArgs'),
                d(attribute='workingDirectory'),
            ],
        ),
        ProcessDef=d(
            items=[
                d(attribute='environment'),
                d(attribute='executableArguments'),
                d(attribute='executableName'),
                d(attribute='execution'),
                d(attribute='ioRedirect'),
                d(attribute='monitoringPolicy'),
                d(attribute='processType'),
                d(attribute='startCommand'),
                d(attribute='startCommandArgs'),
                d(attribute='stopCommand'),
                d(attribute='stopCommandArgs'),
                d(attribute='terminateCommand'),
                d(attribute='terminateCommandArgs'),
                d(attribute='workingDirectory'),
            ],
        ),
        MonitoringPolicy=d(
            items=[
                d(attribute='autoRestart'),
                d(attribute='maximumStartupAttempts'),
                d(attribute='nodeRestartState'),
                d(attribute='pingInterval'),
                d(attribute='pingTimeout'),
            ],
        ),
        ProcessExecution=d(
            items=[
                d(attribute='processPriority'),
                d(attribute='runAsGroup'),
                d(attribute='runAsUser'),
                d(attribute='runInProcessGroup'),
                d(attribute='umask'),
            ],
        ),
        OutputRedirect=d(
            items=[
                d(attribute='stderrFilename'),
                d(attribute='stdinFilename'),
                d(attribute='stdoutFilename'),
            ],
        ),
        JavaVirtualMachine=d(
            items=[
                d(attribute='bootClasspath'),
                d(attribute='classpath'),
                d(attribute='debugArgs'),
                d(attribute='debugMode'),
                d(attribute='disableJIT'),
                d(attribute='executableJarFileName'),
                d(attribute='genericJvmArguments'),
                d(attribute='hprofArguments'),
                d(attribute='initialHeapSize'),
                d(attribute='internalClassAccessMode'),
                d(attribute='maximumHeapSize'),
                d(attribute='runHProf'),
                d(attribute='systemProperties'),
                d(attribute='verboseModeClass'),
                d(attribute='verboseModeGarbageCollection'),
                d(attribute='verboseModeJNI'),
            ],
        ),
        StreamRedirect=d(
            items=[
                d(attribute='baseHour'),
                d(attribute='fileName'),
                d(attribute='formatWrites'),
                d(attribute='maxNumberOfBackupFiles'),
                d(attribute='messageFormatKind'),
                d(attribute='rolloverPeriod'),
                d(attribute='rolloverSize'),
                d(attribute='rolloverType'),
                d(attribute='suppressStackTrace'),
                d(attribute='suppressWrites'),
            ],
        ),
    )


def variables():
    return d(
        VariableMap=d(
            items=[
                d(attribute='entries'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        VariableSubstitutionEntry=d(
            keys=['symbolicName'],
            items=[
                d(attribute='description'),
                d(attribute='value'),
            ],
        ),
    )


def jdbc():
    return d(
        JDBCProvider=d(
            keys=['name'],
            items=[
                d(attribute='classpath'),
                d(attribute='description'),
                d(attribute='implementationClassName'),
                d(attribute='isolatedClassLoader'),
                d(attribute='nativepath'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='xa'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        DataSource=d(
            keys=['name'],
            items=[
                d(attribute='authDataAlias'),
                d(attribute='authMechanismPreference'),
                d(attribute='category'),
                d(attribute='connectionPool'),
                d(attribute='datasourceHelperClassname'),
                d(attribute='description'),
                d(attribute='diagnoseConnectionUsage'),
                d(attribute='jndiName'),
                d(attribute='logMissingTransactionContext'),
                d(attribute='manageCachedHandles'),
                d(attribute='mapping'),
                d(attribute='preTestConfig'),
                d(attribute='properties'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='statementCacheSize'),
                d(attribute='xaRecoveryAuthAlias'),
            ],
            parents=['JDBCProvider'],
        ),
    )


def j2c_advanced():
    return d(
        ConnectionDefinition=d(
            keys=['connectionFactoryInterface', 'connectionInterface'],
            items=[
                d(attribute='configProperties'),
                d(attribute='connectionFactoryImplClass'),
                d(attribute='connectionImplClass'),
                d(attribute='managedConnectionFactoryClass'),
            ],
        ),
        ConfigProperty=d(
            keys=['name'],
            items=[
                d(attribute='confidential'),
                d(attribute='description'),
                d(attribute='descriptions'),
                d(attribute='ignore'),
                d(attribute='supportsDynamicUpdates'),
                d(attribute='type'),
                d(attribute='value'),
            ],
        ),
        Description=d(
            keys=['lang'],
            items=[
                d(attribute='value'),
            ],
        ),
        J2CAdminObject=d(
            keys=['name'],
            items=[
                d(ref='adminObject'),
                d(attribute='description'),
                d(attribute='jndiName'),
                d(attribute='properties'),
            ],
        ),
        AdminObject=d(
            keys=['adminObjectInterface'],
            items=[
                d(attribute='adminObjectClass'),
                d(attribute='configProperties'),
            ],
        ),
        ActivationSpec=d(
            keys=['activationSpecClass'],
            items=[
                d(attribute='configProperties'),
                d(attribute='requiredConfigProperties'),
            ],
        ),
        RequiredConfigPropertyType=d(
            keys=['name'],
            items=[
                d(attribute='descriptions'),
            ],
        ),
    )


def j2c():
    return d(
        J2CResourceAdapter=d(
            keys=['name'],
            items=[
                d(attribute='archivePath'),
                d(attribute='classpath'),
                d(attribute='description'),
                d(attribute='hACapability'),
                d(attribute='isEnableHASupport'),
                d(attribute='isolatedClassLoader'),
                d(attribute='j2cActivationSpec'),
                d(attribute='j2cAdminObjects'),
                d(attribute='jaasLoginConfiguration'),
                d(attribute='nativepath'),
                d(attribute='properties'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='singleton'),
                d(attribute='threadPoolAlias'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        J2CActivationSpec=d(
            keys=['name'],
            items=[
                d(ref='activationSpec'),
                d(attribute='authenticationAlias'),
                d(attribute='description'),
                d(attribute='destinationJndiName'),
                d(attribute='jndiName'),
                d(attribute='resourceProperties'),
            ],
        ),
        J2CConnectionFactory=d(
            keys=['name'],
            items=[
                d(attribute='authDataAlias'),
                d(attribute='authMechanismPreference'),
                d(attribute='category'),
                d(attribute='connectionDefinition'),
                d(attribute='connectionPool'),
                d(attribute='customProperties'),
                d(attribute='description'),
                d(attribute='diagnoseConnectionUsage'),
                d(attribute='jndiName'),
                d(attribute='logMissingTransactionContext'),
                d(attribute='manageCachedHandles'),
                d(attribute='mapping'),
                d(attribute='preTestConfig'),
                d(attribute='properties'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='xaRecoveryAuthAlias'),
            ],
            parents=['J2CResourceAdapter'],
        ),
    )


def security():
    return d(
        Security=d(
            items=[
                d(attribute='additionalSecAttrs'),
                d(attribute='allowAllPermissionForApplication'),
                d(attribute='allowBasicAuth'),
                d(attribute='appEnabled'),
                d(attribute='authDataEntries'),
                d(attribute='cacheTimeout'),
                d(attribute='dynamicallyUpdateSSLConfig'),
                d(attribute='enableJava2SecRuntimeFiltering'),
                d(attribute='enabled'),
                d(attribute='enforceFineGrainedJCASecurity'),
                d(attribute='enforceJava2Security'),
                d(attribute='issuePermissionWarning'),
                d(attribute='properties'),
                d(attribute='useDomainQualifiedUserNames'),
                d(attribute='useLocalSecurityServer'),
            ],
            parents=['Cell', 'Server'],
        ),
        JAASAuthData=d(
            keys=['alias'],
            items=[
                d(attribute='description'),
                d(attribute='password'),
                d(attribute='userId'),
            ],
        ),
    )


def connection_pool():
    return d(
        ConnectionPool=d(
            items=[
                d(attribute='agedTimeout'),
                d(attribute='connectionTimeout'),
                d(attribute='freePoolDistributionTableSize'),
                d(attribute='maxConnections'),
                d(attribute='minConnections'),
                d(attribute='numberOfFreePoolPartitions'),
                d(attribute='numberOfSharedPoolPartitions'),
                d(attribute='numberOfUnsharedPoolPartitions'),
                d(attribute='properties'),
                d(attribute='purgePolicy'),
                d(attribute='reapTime'),
                d(attribute='stuckThreshold'),
                d(attribute='stuckTime'),
                d(attribute='stuckTimerTime'),
                d(attribute='surgeCreationInterval'),
                d(attribute='surgeThreshold'),
                d(attribute='testConnection'),
                d(attribute='testConnectionInterval'),
                d(attribute='unusedTimeout'),
            ],
        ),
        ConnectionTest=d(
            items=[
                d(attribute='preTestConnection'),
                d(attribute='retryInterval'),
                d(attribute='retryLimit'),
            ],
        ),
    )


def jndi():
    return d(
        CORBAObjectNameSpaceBinding=d(
            keys=['name'],
            items=[
                d(attribute='nameInNameSpace'),
                d(attribute='corbanameUrl'),
                d(attribute='federatedContext'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        EjbNameSpaceBinding=d(
            keys=['name'],
            items=[
                d(attribute='nameInNameSpace'),
                d(attribute='ejbJndiName'),
                d(attribute='applicationServerName'),
                d(attribute='bindingLocation'),
                d(attribute='applicationNodeName'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        IndirectLookupNameSpaceBinding=d(
            keys=['name'],
            items=[
                d(attribute='nameInNameSpace'),
                d(attribute='providerURL'),
                d(attribute='jndiName'),
                d(attribute='initialContextFactory'),
                d(attribute='otherCtxProperties'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        StringNameSpaceBinding=d(
            keys=['name'],
            items=[
                d(attribute='nameInNameSpace'),
                d(attribute='stringToBind'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
    )


def class_loader():
    return d(
        Classloader=d(
            keys=['mode'],
            items=[
                d(attribute='libraries'),
            ],
        ),
        Library=d(
            keys=['name'],
            items=[
                d(attribute='classPath'),
                d(attribute='description'),
                d(attribute='isolatedClassLoader'),
                d(attribute='nativePath'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        LibraryRef=d(
            keys=['libraryName'],
            items=[
                d(attribute='sharedClassloader'),
            ],
        ),
    )


def components():
    return d(
        Agent=d(
            items=[
                d(attribute='components'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        ApplicationContainer=d(
            items=[
                d(attribute='components'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        ApplicationServer=d(
            keys=['name'],
            items=[
                d(attribute='applicationClassLoaderPolicy'),
                d(attribute='applicationClassLoadingMode'),
                d(attribute='classloaders'),
                d(attribute='components'),
                d(attribute='jsfProvider'),
                d(attribute='locationServiceDaemon'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
                d(attribute='webserverPluginSettings'),
            ],
        ),
        CellManager=d(
            keys=['name'],
            items=[
                d(attribute='CELL_DISCOVERY_ADDRESS'),
                d(attribute='CELL_MULTICAST_DISCOVERY_ADDRESS'),
                d(attribute='components'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        EJBContainer=d(
            keys=['name'],
            items=[
                d(attribute='asyncSettings'),
                d(attribute='cacheSettings'),
                d(attribute='components'),
                d(attribute='defaultDatasourceJNDIName'),
                d(attribute='drsSettings'),
                d(attribute='enableSFSBFailover'),
                d(attribute='inactivePoolCleanupInterval'),
                d(attribute='passivationDirectory'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
                d(attribute='timerSettings'),
                d(ref='EJBTimer'),
            ],
        ),
        ExternallyManagedHTTPServer=d(
            keys=['name'],
            items=[
                d(attribute='components'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        JMSServer=d(
            keys=['name'],
            items=[
                d(attribute='JMSSERVER_DIRECT_ADDRESS'),
                d(attribute='JMSSERVER_QUEUED_ADDRESS'),
                d(attribute='components'),
                d(attribute='description'),
                d(attribute='numThreads'),
                d(attribute='properties'),
                d(attribute='queueNames'),
                d(attribute='securityPort'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        JobManager=d(
            keys=['name'],
            items=[
                d(attribute='URL'),
                d(attribute='components'),
                d(attribute='databaseMaxReturn'),
                d(attribute='datasource'),
                d(attribute='defaultJobExpiration'),
                d(attribute='jobNotificationMailSession'),
                d(attribute='properties'),
                d(attribute='senderEmail'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
                d(attribute='threadPool'),
            ],
        ),
        NameServer=d(
            keys=['name'],
            items=[
                d(attribute='BOOTSTRAP_ADDRESS'),
                d(attribute='bootstrapServerAddress'),
                d(attribute='components'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        NodeAgent=d(
            keys=['name'],
            items=[
                d(attribute='NODE_DISCOVERY_ADDRESS'),
                d(attribute='components'),
                d(attribute='fileSynchronizationService'),
                d(attribute='fileTransferService'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        OnDemandRouter=d(
            keys=['name'],
            items=[
                d(attribute='adminSecurityLevel'),
                d(attribute='components'),
                d(attribute='enableCustomSecurityLevel'),
                d(attribute='httpProxyServerSettings'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        PortletContainer=d(
            keys=['name'],
            items=[
                d(attribute='components'),
                d(attribute='enablePortletCaching'),
                d(attribute='maxProcessEventCount'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        Proxy=d(
            keys=['name'],
            items=[
                d(attribute='adminSecurityLevel'),
                d(attribute='components'),
                d(attribute='enableCustomSecurityLevel'),
                d(attribute='httpProxyServerSettings'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='sipProxyServerSettings'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        ProxyServer=d(
            keys=['name'],
            items=[
                d(attribute='adminSecurityLevel'),
                d(attribute='components'),
                d(attribute='enableCustomSecurityLevel'),
                d(attribute='httpProxyServerSettings'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='sipProxyServerSettings'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        SIPContainer=d(
            keys=['name'],
            items=[
                d(attribute='components'),
                d(attribute='dnsServerNames'),
                d(attribute='maxAppSessions'),
                d(attribute='maxDispatchQueueSize'),
                d(attribute='maxMessageRate'),
                d(attribute='maxResponseTime'),
                d(attribute='properties'),
                d(attribute='stack'),
                d(attribute='services'),
                d(attribute='statAveragePeriod'),
                d(attribute='statUpdateRange'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
                d(ref='threadPool'),
            ],
        ),
        SecurityServer=d(
            keys=['name'],
            items=[
                d(attribute='components'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        ServerComponent=d(
            keys=['name'],
            items=[
                d(attribute='components'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        SystemMessageServer=d(
            keys=['name'],
            items=[
                d(attribute='DRS_CLIENT_ADDRESS'),
                d(attribute='brokerName'),
                d(attribute='components'),
                d(attribute='domainName'),
                d(attribute='enable'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        WebServer=d(
            keys=['name'],
            items=[
                d(attribute='adminServerAuthentication'),
                d(attribute='components'),
                d(attribute='configurationFilename'),
                d(attribute='keyStoreFiles'),
                d(attribute='logFilenameAccess'),
                d(attribute='logFilenameError'),
                d(attribute='pluginProperties'),
                d(attribute='properties'),
                d(attribute='serviceName'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
                d(attribute='webserverAdminProtocol'),
                d(attribute='webserverInstallRoot'),
                d(attribute='webserverProtocol'),
                d(attribute='webserverType'),
            ],
        ),
        WebContainer=d(
            keys=['name'],
            items=[
                d(attribute='allowAsyncRequestDispatching'),
                d(attribute='asyncIncludeTimeout'),
                d(attribute='asyncRunnableWorkManager'),
                d(attribute='components'),
                d(attribute='defaultAsyncServletTimeout'),
                d(attribute='defaultVirtualHostName'),
                d(attribute='disablePooling'),
                d(attribute='enableServletCaching'),
                d(attribute='maximumPercentageExpiredEntries'),
                d(attribute='maximumResponseStoreSize'),
                d(attribute='numberAsyncTimerThreads'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='sessionAffinityFailoverServer'),
                d(attribute='sessionAffinityTimeout'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
                d(attribute='threadPool'),
                d(attribute='transports'),
                d(attribute='useAsyncRunnableWorkManager'),
            ],
        ),
        WorkloadManagementServer=d(
            keys=['name'],
            items=[
                d(attribute='components'),
                d(attribute='properties'),
                d(attribute='services'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        Transport=d(
            items=[
                d(attribute='address'),
                d(attribute='external'),
                d(attribute='properties'),
                d(attribute='sslConfig'),
                d(attribute='sslEnabled'),
            ],
        ),
        IIOPTransport=d(
            items=[
                d(attribute='address'),
                d(attribute='external'),
                d(attribute='properties'),
                d(attribute='sslConfig'),
                d(attribute='sslEnabled'),
            ],
        ),
        JMSTransport=d(
            items=[
                d(attribute='address'),
                d(attribute='external'),
                d(attribute='properties'),
                d(attribute='sslConfig'),
                d(attribute='sslEnabled'),
            ],
        ),
        HTTPTransport=d(
            items=[
                d(attribute='address'),
                d(attribute='adjustPort'),
                d(attribute='external'),
                d(attribute='properties'),
                d(attribute='sslConfig'),
                d(attribute='sslEnabled'),
            ],
        ),
        EJBCache=d(
            items=[
                d(attribute='cacheSize'),
                d(attribute='cleanupInterval'),
            ],
        ),
        EJBAsync=d(
            items=[
                d(attribute='customWorkManagerJNDIName'),
                d(attribute='futureTimeout'),
                d(attribute='maxThreads'),
                d(attribute='useCustomDefinedWM'),
                d(attribute='workReqQFullAction'),
                d(attribute='workReqQSize'),
            ],
        ),
        EJBTimer=d(
            items=[
                d(attribute='datasourceAlias'),
                d(attribute='datasourceJNDIName'),
                d(attribute='nonPersistentTimerRetryCount'),
                d(attribute='nonPersistentTimerRetryInterval'),
                d(attribute='numAlarmThreads'),
                d(attribute='numNPTimerThreads'),
                d(attribute='pollInterval'),
                d(attribute='schedulerJNDIName'),
                d(attribute='tablePrefix'),
                d(attribute='uniqueTimerManagerForNP'),
            ],
        ),
        DRSSettings=d(
            items=[
                d(attribute='dataReplicationMode'),
                d(attribute='ids'),
                d(attribute='messageBrokerDomainName'),
                d(attribute='overrideHostConnectionPoints'),
                d(attribute='preferredLocalDRSBrokerName'),
                d(attribute='properties'),
            ],
        ),
        HTTPProxyServerSettings=d(
            items=[
                d(attribute='localOutboundTCPAddress'),
            ],
        ),
        SIPProxyServerSettings=d(
            items=[
                d(attribute='serverTCPInterface'),
                d(attribute='serverTLSInterface'),
                d(attribute='serverUDPInterface'),
                d(attribute='serverUDPPort'),
            ],
        ),
        Stack=d(
            items=[
                d(attribute='MTU'),
                d(attribute='hideMessageBody'),
                d(attribute='inviteAutoReply100'),
                d(attribute='outboundConnectionTimeout'),
                d(attribute='outboundProxy'),
                d(attribute='timers'),
            ],
        ),
        Timers=d(
            items=[
                d(attribute='timerA'),
                d(attribute='timerB'),
                d(attribute='timerD'),
                d(attribute='timerE'),
                d(attribute='timerF'),
                d(attribute='timerG'),
                d(attribute='timerH'),
                d(attribute='timerI'),
                d(attribute='timerJ'),
                d(attribute='timerK'),
                d(attribute='timerT1'),
                d(attribute='timerT2'),
                d(attribute='timerT4'),
            ],
        ),
        AdminServerAuthentication=d(
            items=[
                d(attribute='password'),
                d(attribute='userid'),
            ],
        ),
        KeyStoreFile=d(
            items=[
                d(attribute='directory'),
                d(attribute='name'),
            ],
        ),
        PluginProperties=d(
            items=[
                d(attribute='ASDisableNagle'),
                d(attribute='AcceptAllContent'),
                d(attribute='AppServerPortPreference'),
                d(attribute='ChunkedResponse'),
                d(attribute='ConfigFilename'),
                d(attribute='ESIEnable'),
                d(attribute='ESIInvalidationMonitor'),
                d(attribute='ESIMaxCacheSize'),
                d(attribute='IISDisableNagle'),
                d(attribute='IISPluginPriority'),
                d(attribute='IgnoreDNSFailures'),
                d(attribute='KeyRingFilename'),
                d(attribute='LogFilename'),
                d(attribute='LogLevel'),
                d(attribute='PluginGeneration'),
                d(attribute='PluginInstallRoot'),
                d(attribute='PluginPropagation'),
                d(attribute='RefreshInterval'),
                d(attribute='RemoteConfigFilename'),
                d(attribute='RemoteKeyRingFilename'),
                d(attribute='ResponseChunkSize'),
                d(attribute='VHostMatchingCompat'),
                d(attribute='pluginServerClusterProperties'),
                d(attribute='properties'),
            ],
        ),
        PluginServerClusterProperties=d(
            items=[
                d(attribute='CloneSeparatorChange'),
                d(attribute='LoadBalance'),
                d(attribute='PostBufferSize'),
                d(attribute='PostSizeLimit'),
                d(attribute='RemoveSpecialHeaders'),
                d(attribute='RetryInterval'),
            ],
        ),
        ThreadPool=d(
            keys=['name'],
            items=[
                d(attribute='customProperties'),
                d(attribute='description'),
                d(attribute='inactivityTimeout'),
                d(attribute='isGrowable'),
                d(attribute='maximumSize'),
                d(attribute='minimumSize'),
            ],
        ),
        StateManageable=d(
            items=[
                d(attribute='initialState'),
            ],
        ),
        StatisticsProvider=d(
            items=[
                d(attribute='specification'),
            ],
        ),
        WebserverPluginSettings=d(
            items=[
                d(attribute='ConnectTimeout'),
                d(attribute='ExtendedHandshake'),
                d(attribute='MaxConnections'),
                d(attribute='Role'),
                d(attribute='ServerIOTimeout'),
                d(attribute='WaitForContinue'),
                d(attribute='properties'),
            ],
        ),
    )


def services():
    return d(
        ActivitySessionService=d(
            items=[
                d(attribute='defaultTimeout'),
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        AdminService=d(
            items=[
                d(attribute='configRepository'),
                d(attribute='connectors'),
                d(attribute='enable'),
                d(attribute='extensionMBeanProviders'),
                d(ref='localAdminProtocol'),
                d(attribute='pluginConfigService'),
                d(ref='preferredConnector'),
                d(attribute='properties'),
                d(ref='remoteAdminProtocol'),
                d(attribute='standalone'),
            ],
        ),
        RepositoryService=d(
            items=[
                d(attribute='auditEnabled'),
                d(attribute='properties'),
            ],
        ),
        ExtensionMBeanProvider=d(
            keys=['name'],
            items=[
                d(attribute='classpath'),
                d(attribute='description'),
                d(attribute='extensionMBeans'),
            ],
        ),
        ExtensionMBean=d(
            keys=['descriptorURI', 'type'],
        ),
        JMXConnector=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        HTTPConnector=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        JMSConnector=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        RMIConnector=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        SOAPConnector=d(
            items=[
                d(attribute='SOAP_CONNECTOR_ADDRESS'),
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        IPCConnector=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        JSR160RMIConnector=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        ApplicationManagementService=d(
            items=[
                d(attribute='enable'),
                d(attribute='enableBinaryDistribution'),
                d(attribute='properties'),
                d(attribute='taskProviders'),
            ],
        ),
        TaskProvider=d(
            keys=['implementationClassName'],
            items=[
                d(attribute='classpath'),
                d(attribute='weight'),
            ],
        ),
        ApplicationProfileService=d(
            items=[
                d(attribute='compatibility'),
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        CacheInstanceService=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        CompensationService=d(
            items=[
                d(attribute='compensationHandlerRetryInterval'),
                d(attribute='compensationHandlerRetryLimit'),
                d(attribute='enable'),
                d(attribute='properties'),
                d(attribute='recoveryLogDirectory'),
                d(attribute='recoveryLogFileSize'),
            ],
        ),
        ConfigSynchronizationService=d(
            items=[
                d(attribute='autoSynchEnabled'),
                d(attribute='enable'),
                d(attribute='exclusions'),
                d(attribute='properties'),
                d(attribute='synchInterval'),
                d(attribute='synchOnServerStartup'),
            ],
        ),
        CoreGroupBridgeService=d(
            items=[
                d(attribute='enable'),
                d(attribute='enableBridge'),
                d(attribute='properties'),
            ],
        ),
        CustomService=d(
            keys=['displayName'],
            items=[
                d(attribute='classname'),
                d(attribute='classpath'),
                d(attribute='description'),
                d(attribute='enable'),
                d(attribute='externalConfigURL'),
                d(attribute='properties'),
                d(ref='prerequisiteServices'),
            ],
        ),
        DebugService=d(
            items=[
                d(attribute='BSFDebugPort'),
                d(attribute='BSFLoggingLevel'),
                d(attribute='debugClassFilters'),
                d(attribute='enable'),
                d(attribute='jvmDebugArgs'),
                d(attribute='jvmDebugPort'),
                d(attribute='properties'),
            ],
        ),
        DiagnosticProviderService=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
                d(attribute='startupStateCollectionSpec'),
            ],
        ),
        DynamicCache=d(
            items=[
                d(attribute='cacheGroups'),
                d(attribute='cacheProvider'),
                d(attribute='cacheReplication'),
                d(attribute='cacheSize'),
                d(attribute='defaultPriority'),
                d(attribute='diskCacheCleanupFrequency'),
                d(attribute='diskCacheCustomPerformanceSettings'),
                d(attribute='diskCacheEntrySizeInMB'),
                d(attribute='diskCacheEvictionPolicy'),
                d(attribute='diskCachePerformanceLevel'),
                d(attribute='diskCacheSizeInEntries'),
                d(attribute='diskCacheSizeInGB'),
                d(attribute='diskOffloadLocation'),
                d(attribute='enable'),
                d(attribute='enableCacheReplication'),
                d(attribute='enableDiskOffload'),
                d(attribute='enableTagLevelCaching'),
                d(attribute='flushToDiskOnStop'),
                d(attribute='hashSize'),
                d(attribute='memoryCacheEvictionPolicy'),
                d(attribute='memoryCacheSizeInMB'),
                d(attribute='properties'),
                d(attribute='pushFrequency'),
                d(attribute='replicationType'),
            ],
        ),
        ExternalCacheGroup=d(
            keys=['name'],
            items=[
                d(attribute='members'),
                d(attribute='type'),
            ],
        ),
        ExternalCacheGroupMember=d(
            keys=['adapterBeanName', 'address'],
            items=[
                d(attribute='frcaCacheGroupMember'),
            ],
        ),
        FRCACacheGroupMember=d(
            items=[
                d(attribute='cacheSize'),
                d(attribute='enableFRCA'),
                d(attribute='maxFileSize'),
                d(attribute='stackName'),
                d(attribute='transactionClass'),
            ],
        ),
        DRSSettings=d(
            items=[
                d(attribute='dataReplicationMode'),
                d(attribute='ids'),
                d(attribute='messageBrokerDomainName'),
                d(attribute='overrideHostConnectionPoints'),
                d(attribute='preferredLocalDRSBrokerName'),
                d(attribute='properties'),
            ],
        ),
        DiskCacheCustomPerformanceSettings=d(
            items=[
                d(attribute='maxBufferedCacheIdsPerMetaEntry'),
                d(attribute='maxBufferedDependencyIds'),
                d(attribute='maxBufferedTemplates'),
            ],
        ),
        DiskCacheEvictionPolicy=d(
            items=[
                d(attribute='algorithm'),
                d(attribute='highThreshold'),
                d(attribute='lowThreshold'),
            ],
        ),
        MemoryCacheEvictionPolicy=d(
            items=[
                d(attribute='highThreshold'),
                d(attribute='lowThreshold'),
            ],
        ),
        EventInfrastructureService=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        FileTransferService=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
                d(attribute='retriesCount'),
                d(attribute='retryWaitTime'),
            ],
        ),
        HAManagerService=d(
            items=[
                d(attribute='activateEnabled'),
                d(attribute='coreGroupName'),
                d(attribute='description'),
                d(attribute='enable'),
                d(attribute='isAlivePeriodSec'),
                d(attribute='properties'),
                d(attribute='threadPool'),
                d(attribute='transportBufferSize'),
            ],
        ),
        HTTPAccessLoggingService=d(
            items=[
                d(attribute='accessLog'),
                d(attribute='accessLogFormat'),
                d(attribute='enable'),
                d(attribute='enableAccessLogging'),
                d(attribute='enableErrorLogging'),
                d(attribute='enableFRCALogging'),
                d(attribute='errorLog'),
                d(attribute='errorLogLevel'),
                d(attribute='frcaLog'),
                d(attribute='frcaLogFormat'),
                d(attribute='properties'),
            ],
        ),
        HTTPInboundChannelLogging=d(
            items=[
                d(attribute='accessLog'),
                d(attribute='accessLogFormat'),
                d(attribute='enableAccessLogging'),
                d(attribute='enableErrorLogging'),
                d(attribute='enableFRCALogging'),
                d(attribute='errorLog'),
                d(attribute='errorLogLevel'),
                d(attribute='frcaLog'),
                d(attribute='frcaLogFormat'),
            ],
        ),
        LogFile=d(
            items=[
                d(attribute='filePath'),
                d(attribute='maximumBackupFiles'),
                d(attribute='maximumSize'),
            ],
        ),
        HighPerformanceExtensibleLogging=d(
            items=[
                d(attribute='correlationIdEnabled'),
                d(attribute='enable'),
                d(attribute='hpelLog'),
                d(attribute='hpelTextLog'),
                d(attribute='hpelTrace'),
                d(attribute='properties'),
                d(attribute='rawTraceFilterEnabled'),
                d(attribute='stackTraceSuppressionEnabled'),
                d(attribute='startupTraceSpec'),
            ],
        ),
        HPELLog=d(
            items=[
                d(attribute='bufferingEnabled'),
                d(attribute='dataDirectory'),
                d(attribute='fileSwitchEnabled'),
                d(attribute='fileSwitchTime'),
                d(attribute='outOfSpaceAction'),
                d(attribute='purgeBySizeEnabled'),
                d(attribute='purgeByTimeEnabled'),
                d(attribute='purgeMaxSize'),
                d(attribute='purgeMinTime'),
            ],
        ),
        HPELTextLog=d(
            items=[
                d(attribute='bufferingEnabled'),
                d(attribute='dataDirectory'),
                d(attribute='enabled'),
                d(attribute='fileSwitchEnabled'),
                d(attribute='fileSwitchTime'),
                d(attribute='outOfSpaceAction'),
                d(attribute='outputFormat'),
                d(attribute='purgeBySizeEnabled'),
                d(attribute='purgeByTimeEnabled'),
                d(attribute='purgeMaxSize'),
                d(attribute='purgeMinTime'),
                d(attribute='traceIncluded'),
            ],
        ),
        HPELTrace=d(
            items=[
                d(attribute='bufferingEnabled'),
                d(attribute='dataDirectory'),
                d(attribute='fileSwitchEnabled'),
                d(attribute='fileSwitchTime'),
                d(attribute='memoryBufferSize'),
                d(attribute='outOfSpaceAction'),
                d(attribute='purgeBySizeEnabled'),
                d(attribute='purgeByTimeEnabled'),
                d(attribute='purgeMaxSize'),
                d(attribute='purgeMinTime'),
                d(attribute='storageType'),
            ],
        ),
        I18NService=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        JavaPersistenceAPIService=d(
            items=[
                d(attribute='defaultJTADataSourceJNDIName'),
                d(attribute='defaultNonJTADataSourceJNDIName'),
                d(attribute='defaultPersistenceProvider'),
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        MessageListenerService=d(
            keys=['name'],
            items=[
                d(attribute='description'),
                d(attribute='enable'),
                d(attribute='listenerPorts'),
                d(attribute='maxMDBListenerRetries'),
                d(attribute='mdbListenerRecoveryInterval'),
                d(attribute='mqJMSPoolingThreshold'),
                d(attribute='mqJMSPoolingTimeout'),
                d(attribute='properties'),
                d(attribute='threadPool'),
            ],
        ),
        ListenerPort=d(
            keys=['name'],
            items=[
                d(attribute='connectionFactoryJNDIName'),
                d(attribute='description'),
                d(attribute='destinationJNDIName'),
                d(attribute='maxMessages'),
                d(attribute='maxRetries'),
                d(attribute='maxSessions'),
                d(attribute='stateManagement'),
                d(attribute='statisticsProvider'),
            ],
        ),
        ObjectPoolService=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        ObjectRequestBroker=d(
            items=[
                d(attribute='CSIV2_SSL_MUTUALAUTH_LISTENER_ADDRESS'),
                d(attribute='CSIV2_SSL_SERVERAUTH_LISTENER_ADDRESS'),
                d(attribute='ORB_LISTENER_ADDRESS'),
                d(attribute='SAS_SSL_SERVERAUTH_LISTENER_ADDRESS'),
                d(attribute='commTraceEnabled'),
                d(attribute='connectionCacheMaximum'),
                d(attribute='connectionCacheMinimum'),
                d(attribute='enable'),
                d(attribute='forceTunnel'),
                d(attribute='interceptors'),
                d(attribute='locateRequestTimeout'),
                d(attribute='lsdConnection'),
                d(attribute='noLocalCopies'),
                d(attribute='plugins'),
                d(attribute='properties'),
                d(attribute='requestRetriesCount'),
                d(attribute='requestRetriesDelay'),
                d(attribute='requestTimeout'),
                d(attribute='threadPool'),
                d(attribute='tunnelAgentURL'),
                d(attribute='useServerThreadPool'),
            ],
        ),
        Interceptor=d(
            keys=['name'],
        ),
        LSDConnection=d(
            items=[
                d(attribute='endPoint'),
                d(attribute='mode'),
            ],
        ),
        ORBPlugin=d(
            keys=['name'],
        ),
        PMIService=d(
            items=[
                d(attribute='enable'),
                d(attribute='initialSpecLevel'),
                d(attribute='properties'),
                d(attribute='statisticSet'),
                d(attribute='synchronizedUpdate'),
            ],
        ),
        PluginConfigService=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        RASLoggingService=d(
            items=[
                d(attribute='enable'),
                d(attribute='enableCorrelationId'),
                d(attribute='messageFilterLevel'),
                d(attribute='properties'),
                d(attribute='serviceLog'),
                d(attribute='suppressStackTraces'),
            ],
        ),
        ServiceLog=d(
            keys=['name'],
            items=[
                d(attribute='enabled'),
                d(attribute='size'),
            ],
        ),
        SIBService=d(
            items=[
                d(attribute='configurationReloadEnabled'),
                d(attribute='enable'),
                d(attribute='properties'),
                d(attribute='startCRA'),
            ],
        ),
        SchedulerService=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        SessionManager=d(
            items=[
                d(attribute='accessSessionOnTimeout'),
                d(attribute='allowSerializedSessionAccess'),
                d(attribute='defaultCookieSettings'),
                d(attribute='enable'),
                d(attribute='enableCookies'),
                d(attribute='enableProtocolSwitchRewriting'),
                d(attribute='enableSSLTracking'),
                d(attribute='enableSecurityIntegration'),
                d(attribute='enableUrlRewriting'),
                d(attribute='maxWaitTime'),
                d(attribute='properties'),
                d(attribute='sessionDRSPersistence'),
                d(attribute='sessionDatabasePersistence'),
                d(attribute='sessionPersistenceMode'),
                d(attribute='tuningParams'),
            ],
        ),
        Cookie=d(
            items=[
                d(attribute='domain'),
                d(attribute='httpOnly'),
                d(attribute='maximumAge'),
                d(attribute='name'),
                d(attribute='path'),
                d(attribute='secure'),
                d(attribute='useContextRootAsPath'),
            ],
        ),
        SessionDatabasePersistence=d(
            items=[
                d(attribute='datasourceJNDIName'),
                d(attribute='db2RowSize'),
                d(attribute='password'),
                d(attribute='tableSpaceName'),
                d(attribute='userId'),
            ],
        ),
        TuningParams=d(
            items=[
                d(attribute='allowOverflow'),
                d(attribute='invalidationSchedule'),
                d(attribute='invalidationTimeout'),
                d(attribute='maxInMemorySessionCount'),
                d(attribute='scheduleInvalidation'),
                d(attribute='usingMultiRowSchema'),
                d(attribute='writeContents'),
                d(attribute='writeFrequency'),
                d(attribute='writeInterval'),
            ],
        ),
        InvalidationSchedule=d(
            items=[
                d(attribute='firstHour'),
                d(attribute='secondHour'),
            ],
        ),
        StartupBeansService=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        ThreadPoolManager=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
                d(attribute='threadPools'),
            ],
        ),
        TransactionService=d(
            items=[
                d(attribute='LPSHeuristicCompletion'),
                d(attribute='WSTransactionSpecificationLevel'),
                d(attribute='acceptHeuristicHazard'),
                d(attribute='asyncResponseTimeout'),
                d(attribute='clientInactivityTimeout'),
                d(attribute='enable'),
                d(attribute='enableFileLocking'),
                d(attribute='enableLoggingForHeuristicReporting'),
                d(attribute='enableProtocolSecurity'),
                d(attribute='heuristicRetryLimit'),
                d(attribute='heuristicRetryWait'),
                d(attribute='httpProxyPrefix'),
                d(attribute='httpsProxyPrefix'),
                d(attribute='maximumTransactionTimeout'),
                d(attribute='properties'),
                d(attribute='propogatedOrBMTTranLifetimeTimeout'),
                d(attribute='totalTranLifetimeTimeout'),
                d(attribute='transactionLogDirectory'),
                d(attribute='waitForCommitOutcome'),
                d(attribute='wstxURLPrefixSpecified'),
            ],
        ),
        TransportChannelService=d(
            items=[
                d(attribute='enable'),
                d(attribute='factories'),
                d(attribute='properties'),
                d(attribute='transportChannels'),
                d(attribute='chains'),
            ],
        ),
        Chain=d(
            keys=['name'],
            items=[
                d(attribute='enable'),
                d(ref='transportChannels'),
            ],
        ),
        TransportChannelFactory=d(
            items=[
                d(attribute='properties'),
            ],
        ),
        JFAPFactory=d(
            items=[
                d(attribute='properties'),
            ],
        ),
        TCPFactory=d(
            items=[
                d(attribute='properties'),
            ],
        ),
        GenericChannelFactory=d(
            items=[
                d(attribute='configURI'),
                d(attribute='jarFile'),
                d(attribute='properties'),
                d(attribute='typeID'),
            ],
        ),
        RMQChannelFactory=d(
            items=[
                d(attribute='properties'),
            ],
        ),
        TransportChannel=d(
            keys=['name'],
            items=[
                d(attribute='properties'),
            ],
        ),
        InboundTransportChannel=d(
            keys=['name'],
            items=[
                d(attribute='discriminationWeight'),
                d(attribute='properties'),
            ],
        ),
        OutboundTransportChannel=d(
            keys=['name'],
            items=[
                d(attribute='properties'),
            ],
        ),
        TCPInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='addressExcludeList'),
                d(attribute='addressIncludeList'),
                d(attribute='discriminationWeight'),
                d(attribute='endPointName'),
                d(attribute='hostNameExcludeList'),
                d(attribute='hostNameIncludeList'),
                d(attribute='inactivityTimeout'),
                d(attribute='maxOpenConnections'),
                d(attribute='properties'),
                d(ref='threadPool'),
            ],
        ),
        JFAPInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='discriminationWeight'),
                d(attribute='heartbeatInterval'),
                d(attribute='heartbeatTimeout'),
                d(attribute='properties'),
            ],
        ),
        HTTPInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='discriminationWeight'),
                d(attribute='enableLogging'),
                d(attribute='httpInboundChannelLogging'),
                d(attribute='keepAlive'),
                d(attribute='maxFieldSize'),
                d(attribute='maxHeaders'),
                d(attribute='maxRequestMessageBodySize'),
                d(attribute='maximumPersistentRequests'),
                d(attribute='persistentTimeout'),
                d(attribute='properties'),
                d(attribute='readTimeout'),
                d(attribute='useChannelAccessLoggingSettings'),
                d(attribute='useChannelErrorLoggingSettings'),
                d(attribute='useChannelFRCALoggingSettings'),
                d(attribute='writeTimeout'),
            ],
        ),
        MQFAPInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='discriminationWeight'),
                d(attribute='properties'),
            ],
        ),
        WebContainerInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='discriminationWeight'),
                d(attribute='enableFRCA'),
                d(attribute='properties'),
                d(attribute='writeBufferSize'),
            ],
        ),
        SSLInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='discriminationWeight'),
                d(attribute='properties'),
                d(attribute='sslConfigAlias'),
            ],
        ),
        HTTPTunnelInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='discriminationWeight'),
                d(attribute='properties'),
            ],
        ),
        TCPOutboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='inactivityTimeout'),
                d(attribute='properties'),
                d(ref='threadPool'),
            ],
        ),
        HTTPOutboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='keepAlive'),
                d(attribute='properties'),
                d(attribute='readTimeout'),
                d(attribute='writeTimeout'),
            ],
        ),
        HTTPTunnelOutboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='properties'),
            ],
        ),
        SSLOutboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='properties'),
                d(attribute='sslConfigAlias'),
            ],
        ),
        JFAPOutboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='heartbeatInterval'),
                d(attribute='heartbeatTimeout'),
                d(attribute='properties'),
            ],
        ),
        MQFAPOutboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='properties'),
            ],
        ),
        DCSInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='discriminationWeight'),
                d(attribute='properties'),
            ],
        ),
        GenericInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='configURI'),
                d(attribute='discriminationWeight'),
                d(attribute='jarFile'),
                d(attribute='properties'),
                d(attribute='typeID'),
            ],
        ),
        GenericOutboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='configURI'),
                d(attribute='jarFile'),
                d(attribute='properties'),
                d(attribute='typeID'),
            ],
        ),
        SIPInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='discriminationWeight'),
                d(attribute='properties'),
            ],
        ),
        SIPContainerInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='discriminationWeight'),
                d(attribute='properties'),
            ],
        ),
        UDPInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='addressExcludeList'),
                d(attribute='addressIncludeList'),
                d(attribute='discriminationWeight'),
                d(attribute='endPointName'),
                d(attribute='properties'),
            ],
        ),
        SIPProxyInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='discriminationWeight'),
                d(attribute='properties'),
            ],
        ),
        SIPOutboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='properties'),
            ],
        ),
        UDPOutboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='properties'),
            ],
        ),
        ORBInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='discriminationWeight'),
                d(attribute='properties'),
            ],
        ),
        HTTPQueueInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='discriminationWeight'),
                d(attribute='properties'),
            ],
        ),
        DataPowerMgrInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='discriminationWeight'),
                d(attribute='properties'),
            ],
        ),
        RMQOutboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='properties'),
            ],
        ),
        ProxyInboundChannel=d(
            keys=['name'],
            items=[
                d(attribute='discriminationWeight'),
                d(attribute='properties'),
            ],
        ),
        TPVService=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        TraceService=d(
            items=[
                d(attribute='enable'),
                d(attribute='memoryBufferSize'),
                d(attribute='properties'),
                d(attribute='startupTraceSpecification'),
                d(attribute='traceFormat'),
                d(attribute='traceLog'),
                d(attribute='traceOutputType'),
            ],
        ),
        TraceLog=d(
            items=[
                d(attribute='fileName'),
                d(attribute='maxNumberOfBackupFiles'),
                d(attribute='rolloverSize'),
            ],
        ),
        WSByteBufferService=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
        WorkAreaPartitionService=d(
            items=[
                d(attribute='enable'),
                d(attribute='partitions'),
                d(attribute='properties'),
            ],
        ),
        WorkAreaPartition=d(
            keys=['name'],
            items=[
                d(attribute='bidirectional'),
                d(attribute='deferredAttributeSerialization'),
                d(attribute='description'),
                d(attribute='enable'),
                d(attribute='enableWebServicePropagation'),
                d(attribute='maxReceiveSize'),
                d(attribute='maxSendSize'),
                d(attribute='properties'),
            ],
        ),
        WorkAreaService=d(
            items=[
                d(attribute='enable'),
                d(attribute='enableWebServicePropagation'),
                d(attribute='maxReceiveSize'),
                d(attribute='maxSendSize'),
                d(attribute='properties'),
            ],
        ),
        WorkManagerService=d(
            items=[
                d(attribute='enable'),
                d(attribute='properties'),
            ],
        ),
    )


def mail():
    return d(
        MailProvider=d(
            keys=['name'],
            items=[
                d(attribute='classpath'),
                d(attribute='description'),
                d(attribute='isolatedClassLoader'),
                d(attribute='nativepath'),
                d(attribute='propertySet'),
                d(attribute='protocolProviders'),
                d(attribute='providerType'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        MailSession=d(
            keys=['name'],
            items=[
                d(attribute='category'),
                d(attribute='debug'),
                d(attribute='description'),
                d(attribute='jndiName'),
                d(attribute='mailFrom'),
                d(attribute='mailStoreHost'),
                d(attribute='mailStorePassword'),
                d(attribute='mailStorePort'),
                d(ref='mailStoreProtocol'),
                d(attribute='mailStoreUser'),
                d(attribute='mailTransportHost'),
                d(attribute='mailTransportPassword'),
                d(attribute='mailTransportPort'),
                d(ref='mailTransportProtocol'),
                d(attribute='mailTransportUser'),
                d(attribute='propertySet'),
                d(attribute='strict'),
            ],
            parents=['MailProvider'],
        ),
        ProtocolProvider=d(
            keys=['protocol'],
            items=[
                d(attribute='classname'),
                d(attribute='classpath'),
                d(attribute='type'),
            ],
        ),
    )


def env():
    return d(
        ResourceEnvironmentProvider=d(
            keys=['name'],
            items=[
                d(attribute='classpath'),
                d(attribute='description'),
                d(attribute='isolatedClassLoader'),
                d(attribute='nativepath'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='referenceables'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        ResourceEnvEntry=d(
            keys=['name'],
            items=[
                d(attribute='category'),
                d(attribute='description'),
                d(attribute='jndiName'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(ref='referenceable'),
            ],
            parents=[
                'CacheProvider', 'EventInfrastructureProvider',
                'ObjectPoolProvider', 'ResourceEnvironmentProvider',
                'SchedulerProvider', 'TimerManagerProvider',
                'WorkManagerProvider',
            ],
        ),
        Referenceable=d(
            keys=['classname', 'factoryClassname'],
        ),
    )


def jms():
    return d(
        JMSProvider=d(
            keys=['name'],
            items=[
                d(attribute='classpath'),
                d(attribute='description'),
                d(attribute='externalInitialContextFactory'),
                d(attribute='externalProviderURL'),
                d(attribute='isolatedClassLoader'),
                d(attribute='nativepath'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='supportsASF'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        JMSDestination=d(
            keys=['name'],
            items=[
                d(attribute='category'),
                d(attribute='description'),
                d(attribute='jndiName'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
            ],
        ),
        JMSConnectionFactory=d(
            keys=['name'],
            items=[
                d(attribute='XAEnabled'),
                d(attribute='authDataAlias'),
                d(attribute='authMechanismPreference'),
                d(attribute='category'),
                d(attribute='connectionPool'),
                d(attribute='description'),
                d(attribute='diagnoseConnectionUsage'),
                d(attribute='jndiName'),
                d(attribute='logMissingTransactionContext'),
                d(attribute='manageCachedHandles'),
                d(attribute='mapping'),
                d(attribute='preTestConfig'),
                d(attribute='properties'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='sessionPool'),
                d(attribute='xaRecoveryAuthAlias'),
            ],
        ),
        GenericJMSDestination=d(
            keys=['name'],
            items=[
                d(attribute='category'),
                d(attribute='description'),
                d(attribute='externalJNDIName'),
                d(attribute='jndiName'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='type'),
            ],
            parents=['JMSProvider'],
        ),
        GenericJMSConnectionFactory=d(
            keys=['name'],
            items=[
                d(attribute='XAEnabled'),
                d(attribute='authDataAlias'),
                d(attribute='authMechanismPreference'),
                d(attribute='category'),
                d(attribute='connectionPool'),
                d(attribute='description'),
                d(attribute='diagnoseConnectionUsage'),
                d(attribute='externalJNDIName'),
                d(attribute='jndiName'),
                d(attribute='logMissingTransactionContext'),
                d(attribute='manageCachedHandles'),
                d(attribute='mapping'),
                d(attribute='preTestConfig'),
                d(attribute='properties'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='sessionPool'),
                d(attribute='xaRecoveryAuthAlias'),
            ],
            parents=['JMSProvider'],
        ),
        MQQueue=d(
            keys=['name'],
            items=[
                d(attribute='CCSID'),
                d(attribute='baseQueueManagerName'),
                d(attribute='baseQueueName'),
                d(attribute='category'),
                d(attribute='decimalEncoding'),
                d(attribute='description'),
                d(attribute='expiry'),
                d(attribute='floatingPointEncoding'),
                d(attribute='integerEncoding'),
                d(attribute='jndiName'),
                d(attribute='messageBody'),
                d(attribute='mqmdMessageContext'),
                d(attribute='mqmdReadEnabled'),
                d(attribute='mqmdWriteEnabled'),
                d(attribute='password'),
                d(attribute='persistence'),
                d(attribute='priority'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='queueManagerHost'),
                d(attribute='queueManagerPort'),
                d(attribute='readAhead'),
                d(attribute='readAheadClose'),
                d(attribute='receiveCCSID'),
                d(attribute='receiveConvert'),
                d(attribute='replyToStyle'),
                d(attribute='sendAsync'),
                d(attribute='serverConnectionChannelName'),
                d(attribute='specifiedExpiry'),
                d(attribute='specifiedPriority'),
                d(attribute='targetClient'),
                d(attribute='useNativeEncoding'),
                d(attribute='userName'),
            ],
            parents=['JMSProvider'],
        ),
        MQTopic=d(
            keys=['name'],
            items=[
                d(attribute='CCSID'),
                d(attribute='baseTopicName'),
                d(attribute='brokerCCDurSubQueue'),
                d(attribute='brokerDurSubQueue'),
                d(attribute='brokerPubQmgr'),
                d(attribute='brokerPubQueue'),
                d(attribute='brokerVersion'),
                d(attribute='category'),
                d(attribute='decimalEncoding'),
                d(attribute='description'),
                d(attribute='expiry'),
                d(attribute='floatingPointEncoding'),
                d(attribute='integerEncoding'),
                d(attribute='jndiName'),
                d(attribute='messageBody'),
                d(attribute='mqmdMessageContext'),
                d(attribute='mqmdReadEnabled'),
                d(attribute='mqmdWriteEnabled'),
                d(attribute='multicast'),
                d(attribute='persistence'),
                d(attribute='priority'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='readAhead'),
                d(attribute='readAheadClose'),
                d(attribute='receiveCCSID'),
                d(attribute='receiveConvert'),
                d(attribute='replyToStyle'),
                d(attribute='sendAsync'),
                d(attribute='specifiedExpiry'),
                d(attribute='specifiedPriority'),
                d(attribute='targetClient'),
                d(attribute='useNativeEncoding'),
                d(attribute='wildcardFormat'),
                d(attribute='wmqTopicName'),
            ],
            parents=['JMSProvider'],
        ),
        MQConnectionFactory=d(
            keys=['name'],
            items=[
                d(attribute='CCSID'),
                d(attribute='XAEnabled'),
                d(attribute='authDataAlias'),
                d(attribute='authMechanismPreference'),
                d(attribute='brokerCCSubQ'),
                d(attribute='brokerControlQueue'),
                d(attribute='brokerPubQueue'),
                d(attribute='brokerQueueManager'),
                d(attribute='brokerSubQueue'),
                d(attribute='brokerVersion'),
                d(attribute='category'),
                d(attribute='ccdtUrl'),
                d(attribute='channel'),
                d(attribute='clientID'),
                d(attribute='clientReconnectOptions'),
                d(attribute='clientReconnectTimeout'),
                d(attribute='cloneSupport'),
                d(attribute='compressHeaders'),
                d(attribute='compressPayload'),
                d(attribute='connameList'),
                d(attribute='connectionPool'),
                d(attribute='description'),
                d(attribute='diagnoseConnectionUsage'),
                d(attribute='directAuth'),
                d(attribute='failIfQuiesce'),
                d(attribute='host'),
                d(attribute='inheritRRSContext'),
                d(attribute='jndiName'),
                d(attribute='localAddress'),
                d(attribute='logMissingTransactionContext'),
                d(attribute='manageCachedHandles'),
                d(attribute='mapping'),
                d(attribute='maxBatchSize'),
                d(attribute='msgRetention'),
                d(attribute='msgSelection'),
                d(attribute='multicast'),
                d(attribute='pollingInterval'),
                d(attribute='port'),
                d(attribute='preTestConfig'),
                d(attribute='properties'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='providerVersion'),
                d(attribute='proxyHostName'),
                d(attribute='proxyPort'),
                d(attribute='pubSubCleanup'),
                d(attribute='pubSubCleanupInterval'),
                d(attribute='publishAckInterval'),
                d(attribute='qmgrType'),
                d(attribute='queueManager'),
                d(attribute='rcvExit'),
                d(attribute='rcvExitInitData'),
                d(attribute='replyWithRFH2'),
                d(attribute='rescanInterval'),
                d(attribute='secExit'),
                d(attribute='secExitInitData'),
                d(attribute='sendExit'),
                d(attribute='sendExitInitData'),
                d(attribute='sessionPool'),
                d(attribute='sparseSubscriptions'),
                d(attribute='sslCRL'),
                d(attribute='sslCipherSuite'),
                d(attribute='sslConfiguration'),
                d(attribute='sslPeerName'),
                d(attribute='sslResetCount'),
                d(attribute='sslType'),
                d(attribute='statRefreshInterval'),
                d(attribute='substore'),
                d(attribute='tempModel'),
                d(attribute='tempQueuePrefix'),
                d(attribute='tempTopicPrefix'),
                d(attribute='transportType'),
                d(attribute='useConnectionPooling'),
                d(attribute='wildcardFormat'),
                d(attribute='wmqServerEndpoint'),
                d(attribute='wmqServerName'),
                d(attribute='wmqServerSvrconnChannel'),
                d(attribute='xaRecoveryAuthAlias'),
            ],
            parents=['JMSProvider'],
        ),
        MQQueueConnectionFactory=d(
            keys=['name'],
            items=[
                d(attribute='CCSID'),
                d(attribute='XAEnabled'),
                d(attribute='authDataAlias'),
                d(attribute='authMechanismPreference'),
                d(attribute='category'),
                d(attribute='ccdtUrl'),
                d(attribute='channel'),
                d(attribute='clientID'),
                d(attribute='clientReconnectOptions'),
                d(attribute='clientReconnectTimeout'),
                d(attribute='compressHeaders'),
                d(attribute='compressPayload'),
                d(attribute='connameList'),
                d(attribute='connectionPool'),
                d(attribute='description'),
                d(attribute='diagnoseConnectionUsage'),
                d(attribute='failIfQuiesce'),
                d(attribute='host'),
                d(attribute='inheritRRSContext'),
                d(attribute='jndiName'),
                d(attribute='localAddress'),
                d(attribute='logMissingTransactionContext'),
                d(attribute='manageCachedHandles'),
                d(attribute='mapping'),
                d(attribute='maxBatchSize'),
                d(attribute='msgRetention'),
                d(attribute='pollingInterval'),
                d(attribute='port'),
                d(attribute='preTestConfig'),
                d(attribute='properties'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='providerVersion'),
                d(attribute='qmgrType'),
                d(attribute='queueManager'),
                d(attribute='rcvExit'),
                d(attribute='rcvExitInitData'),
                d(attribute='replyWithRFH2'),
                d(attribute='rescanInterval'),
                d(attribute='secExit'),
                d(attribute='secExitInitData'),
                d(attribute='sendExit'),
                d(attribute='sendExitInitData'),
                d(attribute='sessionPool'),
                d(attribute='sslCRL'),
                d(attribute='sslCipherSuite'),
                d(attribute='sslConfiguration'),
                d(attribute='sslPeerName'),
                d(attribute='sslResetCount'),
                d(attribute='sslType'),
                d(attribute='tempModel'),
                d(attribute='tempQueuePrefix'),
                d(attribute='transportType'),
                d(attribute='useConnectionPooling'),
                d(attribute='wmqServerEndpoint'),
                d(attribute='wmqServerName'),
                d(attribute='wmqServerSvrconnChannel'),
                d(attribute='xaRecoveryAuthAlias'),
            ],
            parents=['JMSProvider'],
        ),
        MQTopicConnectionFactory=d(
            keys=['name'],
            items=[
                d(attribute='CCSID'),
                d(attribute='XAEnabled'),
                d(attribute='authDataAlias'),
                d(attribute='authMechanismPreference'),
                d(attribute='brokerCCSubQ'),
                d(attribute='brokerControlQueue'),
                d(attribute='brokerPubQueue'),
                d(attribute='brokerQueueManager'),
                d(attribute='brokerSubQueue'),
                d(attribute='brokerVersion'),
                d(attribute='category'),
                d(attribute='ccdtUrl'),
                d(attribute='channel'),
                d(attribute='clientID'),
                d(attribute='clientReconnectOptions'),
                d(attribute='clientReconnectTimeout'),
                d(attribute='cloneSupport'),
                d(attribute='compressHeaders'),
                d(attribute='compressPayload'),
                d(attribute='connameList'),
                d(attribute='connectionPool'),
                d(attribute='description'),
                d(attribute='diagnoseConnectionUsage'),
                d(attribute='directAuth'),
                d(attribute='failIfQuiesce'),
                d(attribute='host'),
                d(attribute='inheritRRSContext'),
                d(attribute='jndiName'),
                d(attribute='localAddress'),
                d(attribute='logMissingTransactionContext'),
                d(attribute='manageCachedHandles'),
                d(attribute='mapping'),
                d(attribute='maxBatchSize'),
                d(attribute='msgSelection'),
                d(attribute='multicast'),
                d(attribute='pollingInterval'),
                d(attribute='port'),
                d(attribute='preTestConfig'),
                d(attribute='properties'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='providerVersion'),
                d(attribute='proxyHostName'),
                d(attribute='proxyPort'),
                d(attribute='pubSubCleanup'),
                d(attribute='pubSubCleanupInterval'),
                d(attribute='publishAckInterval'),
                d(attribute='qmgrType'),
                d(attribute='queueManager'),
                d(attribute='rcvExit'),
                d(attribute='rcvExitInitData'),
                d(attribute='rescanInterval'),
                d(attribute='secExit'),
                d(attribute='secExitInitData'),
                d(attribute='sendExit'),
                d(attribute='sendExitInitData'),
                d(attribute='sessionPool'),
                d(attribute='sparseSubscriptions'),
                d(attribute='sslCRL'),
                d(attribute='sslCipherSuite'),
                d(attribute='sslConfiguration'),
                d(attribute='sslPeerName'),
                d(attribute='sslResetCount'),
                d(attribute='sslType'),
                d(attribute='statRefreshInterval'),
                d(attribute='substore'),
                d(attribute='tempModel'),
                d(attribute='tempTopicPrefix'),
                d(attribute='transportType'),
                d(attribute='useConnectionPooling'),
                d(attribute='wildcardFormat'),
                d(attribute='wmqServerEndpoint'),
                d(attribute='wmqServerName'),
                d(attribute='wmqServerSvrconnChannel'),
                d(attribute='xaRecoveryAuthAlias'),
            ],
            parents=['JMSProvider'],
        ),
    )


def virtual_host():
    return d(
        VirtualHost=d(
            keys=['name'],
            items=[
                d(attribute='aliases'),
                d(attribute='mimeTypes'),
            ],
            parents=['Cell', 'Node'],
        ),
        HostAlias=d(
            keys=['hostname', 'port'],
        ),
        MimeEntry=d(
            keys=['type'],
            items=[
                d(attribute='extensions'),
            ],
        ),
    )


def object_pool():
    return d(
        ObjectPoolProvider=d(
            keys=['name'],
            items=[
                d(attribute='classpath'),
                d(attribute='description'),
                d(attribute='isolatedClassLoader'),
                d(attribute='nativepath'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='referenceables'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        ObjectPoolManagerInfo=d(
            keys=['name'],
            items=[
                d(attribute='category'),
                d(attribute='description'),
                d(attribute='jndiName'),
                d(attribute='objectPools'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(ref='referenceable'),
            ],
            parents=['ObjectPoolProvider'],
        ),
        ObjectPool=d(
            keys=['poolClassName', 'poolImplClassName'],
            items=[
                d(attribute='properties'),
            ],
        ),
        Referenceable=d(
            keys=['classname', 'factoryClassname'],
        ),
    )


def dyna_cache():
    return d(
        CacheProvider=d(
            keys=['name'],
            items=[
                d(attribute='classpath'),
                d(attribute='description'),
                d(attribute='isolatedClassLoader'),
                d(attribute='nativepath'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='referenceables'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        ObjectCacheInstance=d(
            keys=['name'],
            items=[
                d(attribute='cacheReplication'),
                d(attribute='cacheSize'),
                d(attribute='category'),
                d(attribute='defaultPriority'),
                d(attribute='description'),
                d(attribute='disableDependencyId'),
                d(attribute='diskCacheCleanupFrequency'),
                d(attribute='diskCacheCustomPerformanceSettings'),
                d(attribute='diskCacheEntrySizeInMB'),
                d(attribute='diskCacheEvictionPolicy'),
                d(attribute='diskCachePerformanceLevel'),
                d(attribute='diskCacheSizeInEntries'),
                d(attribute='diskCacheSizeInGB'),
                d(attribute='diskOffloadLocation'),
                d(attribute='enableCacheReplication'),
                d(attribute='enableDiskOffload'),
                d(attribute='flushToDiskOnStop'),
                d(attribute='hashSize'),
                d(attribute='jndiName'),
                d(attribute='memoryCacheEvictionPolicy'),
                d(attribute='memoryCacheSizeInMB'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='pushFrequency'),
                d(attribute='replicationType'),
                d(attribute='useListenerContext'),
                d(ref='referenceable'),
            ],
            parents=[
                'CacheProvider'
            ],
        ),
        ServletCacheInstance=d(
            keys=['name'],
            items=[
                d(attribute='cacheReplication'),
                d(attribute='cacheSize'),
                d(attribute='category'),
                d(attribute='defaultPriority'),
                d(attribute='description'),
                d(attribute='diskCacheCleanupFrequency'),
                d(attribute='diskCacheCustomPerformanceSettings'),
                d(attribute='diskCacheEntrySizeInMB'),
                d(attribute='diskCacheEvictionPolicy'),
                d(attribute='diskCachePerformanceLevel'),
                d(attribute='diskCacheSizeInEntries'),
                d(attribute='diskCacheSizeInGB'),
                d(attribute='diskOffloadLocation'),
                d(attribute='enableCacheReplication'),
                d(attribute='enableDiskOffload'),
                d(attribute='flushToDiskOnStop'),
                d(attribute='hashSize'),
                d(attribute='jndiName'),
                d(attribute='memoryCacheEvictionPolicy'),
                d(attribute='memoryCacheSizeInMB'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='pushFrequency'),
                d(attribute='replicationType'),
                d(attribute='useListenerContext'),
                d(ref='referenceable'),
            ],
            parents=[
                'CacheProvider'
            ],
        ),
        DiskCacheCustomPerformanceSettings=d(
            items=[
                d(attribute='maxBufferedCacheIdsPerMetaEntry'),
                d(attribute='maxBufferedDependencyIds'),
                d(attribute='maxBufferedTemplates'),
            ],
        ),
        DiskCacheEvictionPolicy=d(
            items=[
                d(attribute='algorithm'),
                d(attribute='highThreshold'),
                d(attribute='lowThreshold'),
            ],
        ),
        MemoryCacheEvictionPolicy=d(
            items=[
                d(attribute='highThreshold'),
                d(attribute='lowThreshold'),
            ],
        ),
    )


def work_manager():
    return d(
        WorkManagerProvider=d(
            keys=['name'],
            items=[
                d(attribute='classpath'),
                d(attribute='description'),
                d(attribute='isolatedClassLoader'),
                d(attribute='nativepath'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='referenceables'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        WorkManagerInfo=d(
            keys=['name'],
            items=[
                d(attribute='category'),
                d(attribute='daemonTranClass'),
                d(attribute='defTranClass'),
                d(attribute='description'),
                d(attribute='isDistributable'),
                d(attribute='isGrowable'),
                d(attribute='jndiName'),
                d(attribute='maxThreads'),
                d(attribute='minThreads'),
                d(attribute='numAlarmThreads'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(ref='referenceable'),
                d(attribute='serviceNames'),
                d(attribute='threadPriority'),
                d(attribute='workReqQFullAction'),
                d(attribute='workReqQSize'),
                d(attribute='workTimeout'),
            ],
            parents=['WorkManagerProvider'],
        ),
        TimerManagerProvider=d(
            keys=['name'],
            items=[
                d(attribute='classpath'),
                d(attribute='description'),
                d(attribute='isolatedClassLoader'),
                d(attribute='nativepath'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='referenceables'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        TimerManagerInfo=d(
            keys=['name'],
            items=[
                d(attribute='category'),
                d(attribute='defTranClass'),
                d(attribute='description'),
                d(attribute='jndiName'),
                d(attribute='numAlarmThreads'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(ref='referenceable'),
                d(attribute='serviceNames'),
            ],
            parents=['TimerManagerProvider'],
        ),
        SchedulerProvider=d(
            keys=['name'],
            items=[
                d(attribute='classpath'),
                d(attribute='description'),
                d(attribute='isolatedClassLoader'),
                d(attribute='nativepath'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='referenceables'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        SchedulerConfiguration=d(
            keys=['name'],
            items=[
                d(attribute='category'),
                d(attribute='datasourceAlias'),
                d(attribute='datasourceJNDIName'),
                d(attribute='description'),
                d(attribute='jndiName'),
                d(attribute='loginConfigName'),
                d(attribute='pollInterval'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(ref='referenceable'),
                d(attribute='securityRole'),
                d(attribute='tablePrefix'),
                d(attribute='useAdminRoles'),
                d(ref='workManagerInfo'),
                d(attribute='workManagerInfoJNDIName'),
            ],
            parents=['SchedulerProvider'],
        ),
        Referenceable=d(
            keys=['classname', 'factoryClassname'],
        ),
    )


def url():
    return d(
        URLProvider=d(
            keys=['name'],
            items=[
                d(attribute='classpath'),
                d(attribute='description'),
                d(attribute='isolatedClassLoader'),
                d(attribute='nativepath'),
                d(attribute='propertySet'),
                d(attribute='protocol'),
                d(attribute='providerType'),
                d(attribute='streamHandlerClassName'),
            ],
            parents=['Cell', 'Node', 'Server', 'ServerCluster'],
        ),
        URL=d(
            keys=['name'],
            items=[
                d(attribute='category'),
                d(attribute='description'),
                d(attribute='jndiName'),
                d(attribute='propertySet'),
                d(attribute='providerType'),
                d(attribute='spec'),
            ],
            parents=['URLProvider'],
        ),
    )


def properties():
    return d(
        Property=d(
            keys=['name'],
            items=[
                d(attribute='description'),
                d(attribute='required'),
                d(attribute='validationExpression'),
                d(attribute='value'),
            ],
        ),
        TypedProperty=d(
            keys=['name'],
            items=[
                d(attribute='description'),
                d(attribute='required'),
                d(attribute='type'),
                d(attribute='validationExpression'),
                d(attribute='value'),
            ],
        ),
        DescriptiveProperty=d(
            keys=['name'],
            items=[
                d(attribute='description'),
                d(attribute='displayNameKey'),
                d(attribute='firstClass'),
                d(attribute='hoverHelpKey'),
                d(attribute='inclusive'),
                d(attribute='nlsRangeKey'),
                d(attribute='range'),
                d(attribute='required'),
                d(attribute='type'),
                d(attribute='validationExpression'),
                d(attribute='value'),
            ],
        ),
        DiscoverableDescriptiveProperty=d(
            keys=['name'],
            items=[
                d(attribute='description'),
                d(attribute='descriptor'),
                d(attribute='inclusive'),
                d(attribute='nlsRangeKey'),
                d(attribute='range'),
                d(attribute='required'),
                d(attribute='type'),
                d(attribute='validationExpression'),
                d(attribute='value'),
            ],
        ),
        DisplayDescriptor=d(
            keys=['displayNameKey'],
            items=[
                d(attribute='displayDescriptionKey'),
                d(attribute='displayProperties'),
                d(attribute='firstClass'),
                d(attribute='hidden'),
                d(attribute='hoverHelpKey'),
                d(attribute='readonly'),
                d(attribute='weight'),
            ],
        ),
        J2EEResourcePropertySet=d(
            items=[
                d(attribute='resourceProperties'),
            ],
        ),
        J2EEResourceProperty=d(
            keys=['name'],
            items=[
                d(attribute='confidential'),
                d(attribute='description'),
                d(attribute='ignore'),
                d(attribute='required'),
                d(attribute='supportsDynamicUpdates'),
                d(attribute='type'),
                d(attribute='value'),
            ],
        ),
        EndPoint=d(
            keys=['host', 'port'],
        ),
        OverlayEndpoint=d(
            keys=['host', 'port'],
            items=[
                d(attribute='properties'),
            ],
        ),
        NamedEndPoint=d(
            keys=['endPointName'],
            items=[
                d(attribute='endPoint'),
            ],
        ),
        MappingModule=d(
            items=[
                d(attribute='authDataAlias'),
                d(attribute='mappingConfigAlias'),
            ],
        ),
    )


def all():
    result = {}
    for esf in [
        class_loader, components, connection_pool, env, j2c, j2c_advanced, jdbc,
        jms, mail, object_pool, processes, properties, security, server_index,
        services, topology, variables, virtual_host, dyna_cache, url, work_manager
    ]:
        result.update(esf())
    return result