core.data_types.schema.yml 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828
  1. # Base types provided by Drupal core.
  2. # Read https://www.drupal.org/node/1905070 for more details about configuration
  3. # schema, types and type resolution.
  4. # Undefined type used by the system to assign to elements at any level where
  5. # configuration schema is not defined. Using explicitly has the same effect as
  6. # not defining schema, so there is no point in doing that.
  7. undefined:
  8. label: 'Undefined'
  9. class: '\Drupal\Core\Config\Schema\Undefined'
  10. # Explicit type to use when no data typing is possible. Instead of using this
  11. # type, we strongly suggest you use configuration structures that can be
  12. # described with other structural elements of schema, and describe your schema
  13. # with those elements.
  14. ignore:
  15. label: 'Ignore'
  16. class: '\Drupal\Core\Config\Schema\Ignore'
  17. # Basic scalar data types from typed data.
  18. boolean:
  19. label: 'Boolean'
  20. class: '\Drupal\Core\TypedData\Plugin\DataType\BooleanData'
  21. email:
  22. label: 'Email'
  23. class: '\Drupal\Core\TypedData\Plugin\DataType\Email'
  24. integer:
  25. label: 'Integer'
  26. class: '\Drupal\Core\TypedData\Plugin\DataType\IntegerData'
  27. timestamp:
  28. label: 'Timestamp'
  29. class: '\Drupal\Core\TypedData\Plugin\DataType\Timestamp'
  30. float:
  31. label: 'Float'
  32. class: '\Drupal\Core\TypedData\Plugin\DataType\FloatData'
  33. string:
  34. label: 'String'
  35. class: '\Drupal\Core\TypedData\Plugin\DataType\StringData'
  36. uri:
  37. label: 'Uri'
  38. class: '\Drupal\Core\TypedData\Plugin\DataType\Uri'
  39. # Container data types for lists with known and unknown keys.
  40. mapping:
  41. label: Mapping
  42. class: '\Drupal\Core\Config\Schema\Mapping'
  43. definition_class: '\Drupal\Core\TypedData\MapDataDefinition'
  44. sequence:
  45. label: Sequence
  46. class: '\Drupal\Core\Config\Schema\Sequence'
  47. definition_class: '\Drupal\Core\Config\Schema\SequenceDataDefinition'
  48. # Simple extended data types:
  49. # Human readable string that must be plain text and editable with a text field.
  50. label:
  51. type: string
  52. label: 'Label'
  53. translatable: true
  54. # String containing plural variants, separated by EXT.
  55. plural_label:
  56. type: label
  57. label: 'Plural variants'
  58. # Internal Drupal path
  59. path:
  60. type: string
  61. label: 'Path'
  62. # Human readable string that can contain multiple lines of text or HTML.
  63. text:
  64. type: string
  65. label: 'Text'
  66. translatable: true
  67. # A UUID.
  68. uuid:
  69. type: string
  70. label: 'UUID'
  71. constraints:
  72. Uuid: {}
  73. # PHP Date format string that is translatable.
  74. date_format:
  75. type: string
  76. label: 'Date format'
  77. translatable: true
  78. translation context: 'PHP date format'
  79. # HTML color value.
  80. color_hex:
  81. type: string
  82. label: 'Color'
  83. # Complex extended data types:
  84. # Root of a configuration object.
  85. _core_config_info:
  86. type: mapping
  87. mapping:
  88. default_config_hash:
  89. type: string
  90. label: 'Default configuration hash'
  91. config_object:
  92. type: mapping
  93. mapping:
  94. langcode:
  95. type: string
  96. label: 'Language code'
  97. _core:
  98. type: _core_config_info
  99. # Mail text with subject and body parts.
  100. mail:
  101. type: mapping
  102. label: 'Mail'
  103. mapping:
  104. subject:
  105. type: label
  106. label: 'Subject'
  107. body:
  108. type: text
  109. label: 'Body'
  110. # Filter with module and status.
  111. filter:
  112. type: mapping
  113. label: 'Filter'
  114. mapping:
  115. id:
  116. type: string
  117. label: 'ID'
  118. provider:
  119. type: string
  120. label: 'Provider'
  121. status:
  122. type: boolean
  123. label: 'Status'
  124. weight:
  125. type: integer
  126. label: 'Weight'
  127. settings:
  128. type: filter_settings.[%parent.id]
  129. # System action configuration base.
  130. action_configuration_default:
  131. type: sequence
  132. label: 'Action configuration'
  133. sequence:
  134. type: string
  135. theme_settings:
  136. type: config_object
  137. mapping:
  138. favicon:
  139. type: mapping
  140. label: 'Shortcut icon settings'
  141. mapping:
  142. mimetype:
  143. type: string
  144. label: 'MIME type'
  145. path:
  146. type: string
  147. label: 'Path'
  148. url:
  149. type: string
  150. label: 'URL'
  151. use_default:
  152. type: boolean
  153. label: 'Use the default shortcut icon supplied by the theme'
  154. features:
  155. type: mapping
  156. label: 'Optional features'
  157. mapping:
  158. comment_user_picture:
  159. type: boolean
  160. label: 'User pictures in comments'
  161. comment_user_verification:
  162. type: boolean
  163. label: 'User verification status in comments'
  164. favicon:
  165. type: boolean
  166. label: 'Shortcut icon'
  167. logo:
  168. type: boolean
  169. label: 'Logo'
  170. name:
  171. type: boolean
  172. label: 'Site name'
  173. node_user_picture:
  174. type: boolean
  175. label: 'User pictures in posts'
  176. slogan:
  177. type: boolean
  178. label: 'Site slogan'
  179. logo:
  180. type: mapping
  181. label: 'Logo settings'
  182. mapping:
  183. path:
  184. type: string
  185. label: 'Logo path'
  186. url:
  187. type: uri
  188. label: 'URL'
  189. use_default:
  190. type: boolean
  191. label: 'Use default'
  192. third_party_settings:
  193. type: sequence
  194. label: 'Third party settings'
  195. sequence:
  196. type: theme_settings.third_party.[%key]
  197. # Array of routes with route_name and route_params keys.
  198. route:
  199. type: mapping
  200. label: 'Route'
  201. mapping:
  202. route_name:
  203. type: string
  204. label: 'Route Name'
  205. route_params:
  206. type: sequence
  207. label: 'Route Params'
  208. sequence:
  209. type: string
  210. label: 'Param'
  211. # Config dependencies.
  212. config_dependencies_base:
  213. type: mapping
  214. mapping:
  215. config:
  216. type: sequence
  217. label: 'Configuration entity dependencies'
  218. sequence:
  219. type: string
  220. content:
  221. type: sequence
  222. label: 'Content entity dependencies'
  223. sequence:
  224. type: string
  225. module:
  226. type: sequence
  227. label: 'Module dependencies'
  228. sequence:
  229. type: string
  230. theme:
  231. type: sequence
  232. label: 'Theme dependencies'
  233. sequence:
  234. type: string
  235. config_dependencies:
  236. type: config_dependencies_base
  237. label: 'Configuration dependencies'
  238. mapping:
  239. enforced:
  240. type: config_dependencies_base
  241. label: 'Enforced configuration dependencies'
  242. config_entity:
  243. type: mapping
  244. mapping:
  245. uuid:
  246. type: uuid
  247. label: 'UUID'
  248. langcode:
  249. type: string
  250. label: 'Language code'
  251. status:
  252. type: boolean
  253. label: 'Status'
  254. dependencies:
  255. type: config_dependencies
  256. label: 'Dependencies'
  257. third_party_settings:
  258. type: sequence
  259. label: 'Third party settings'
  260. sequence:
  261. type: '[%parent.%parent.%type].third_party.[%key]'
  262. _core:
  263. type: _core_config_info
  264. block.settings.*:
  265. type: block_settings
  266. block_settings:
  267. type: mapping
  268. label: 'Block settings'
  269. mapping:
  270. id:
  271. type: string
  272. label: 'ID'
  273. label:
  274. type: label
  275. label: 'Description'
  276. label_display:
  277. type: string
  278. label: 'Display title'
  279. status:
  280. type: boolean
  281. label: 'Status'
  282. info:
  283. type: label
  284. label: 'Admin info'
  285. view_mode:
  286. type: string
  287. label: 'View mode'
  288. provider:
  289. type: string
  290. label: 'Provider'
  291. context_mapping:
  292. type: sequence
  293. label: 'Context assignments'
  294. sequence:
  295. type: string
  296. condition.plugin:
  297. type: mapping
  298. label: 'Condition'
  299. mapping:
  300. id:
  301. type: string
  302. label: 'ID'
  303. negate:
  304. type: boolean
  305. label: 'Negate'
  306. uuid:
  307. type: uuid
  308. context_mapping:
  309. type: sequence
  310. label: 'Context assignments'
  311. sequence:
  312. type: string
  313. display_variant.plugin:
  314. type: mapping
  315. label: 'Display variant'
  316. mapping:
  317. id:
  318. type: string
  319. label: 'ID'
  320. label:
  321. type: label
  322. label: 'Label'
  323. weight:
  324. type: integer
  325. label: 'Weight'
  326. uuid:
  327. type: uuid
  328. layout_plugin.settings:
  329. type: mapping
  330. label: 'Layout settings'
  331. layout_plugin.settings.*:
  332. type: layout_plugin.settings
  333. base_entity_reference_field_settings:
  334. type: mapping
  335. mapping:
  336. target_type:
  337. type: string
  338. label: 'Type of item to reference'
  339. field_config_base:
  340. type: config_entity
  341. mapping:
  342. id:
  343. type: string
  344. label: 'ID'
  345. field_name:
  346. type: string
  347. label: 'Field name'
  348. entity_type:
  349. type: string
  350. label: 'Entity type'
  351. bundle:
  352. type: string
  353. label: 'Bundle'
  354. label:
  355. type: label
  356. label: 'Label'
  357. description:
  358. type: text
  359. label: 'Help text'
  360. required:
  361. type: boolean
  362. label: 'Required field'
  363. translatable:
  364. type: boolean
  365. label: 'Translatable'
  366. default_value:
  367. type: sequence
  368. label: 'Default values'
  369. sequence:
  370. type: field.value.[%parent.%parent.field_type]
  371. label: 'Default value'
  372. default_value_callback:
  373. type: string
  374. label: 'Default value callback'
  375. settings:
  376. type: field.field_settings.[%parent.field_type]
  377. field_type:
  378. type: string
  379. label: 'Field type'
  380. core.base_field_override.*.*.*:
  381. type: field_config_base
  382. label: 'Base field bundle override'
  383. core.date_format.*:
  384. type: config_entity
  385. label: 'Date format'
  386. mapping:
  387. id:
  388. type: string
  389. label: 'ID'
  390. label:
  391. type: label
  392. label: 'Label'
  393. locked:
  394. type: boolean
  395. label: 'Locked'
  396. pattern:
  397. type: core_date_format_pattern.[%parent.locked]
  398. label: 'PHP date format'
  399. # Unlocked date formats should use the translatable type.
  400. core_date_format_pattern.0:
  401. type: date_format
  402. label: 'Date format'
  403. # Locked date formats are just used to transport the value.
  404. core_date_format_pattern.1:
  405. type: string
  406. label: 'Date format'
  407. # Generic field settings schemas.
  408. field.storage_settings.*:
  409. type: mapping
  410. label: 'Settings'
  411. field.field_settings.*:
  412. type: mapping
  413. label: 'Settings'
  414. field.value.*:
  415. type: mapping
  416. label: 'Default value'
  417. # Schema for the configuration of the String field type.
  418. field.storage_settings.string:
  419. type: mapping
  420. label: 'String settings'
  421. mapping:
  422. max_length:
  423. type: integer
  424. label: 'Maximum length'
  425. case_sensitive:
  426. type: boolean
  427. label: 'Case sensitive'
  428. is_ascii:
  429. type: boolean
  430. label: 'Contains US ASCII characters only'
  431. field.field_settings.string:
  432. type: mapping
  433. label: 'String settings'
  434. field.value.string:
  435. type: mapping
  436. label: 'Default value'
  437. mapping:
  438. value:
  439. type: label
  440. label: 'Value'
  441. # Schema for the configuration of the String (long) field type.
  442. field.storage_settings.string_long:
  443. type: mapping
  444. label: 'String (long) settings'
  445. mapping:
  446. case_sensitive:
  447. type: boolean
  448. label: 'Case sensitive'
  449. field.field_settings.string_long:
  450. type: mapping
  451. label: 'String (long) settings'
  452. field.value.string_long:
  453. type: mapping
  454. label: 'Default value'
  455. mapping:
  456. value:
  457. type: text
  458. label: 'Value'
  459. # Schema for the configuration of the URI field type.
  460. field.storage_settings.uri:
  461. type: field.storage_settings.string
  462. label: 'URI settings'
  463. mapping:
  464. max_length:
  465. type: integer
  466. label: 'Maximum length'
  467. case_sensitive:
  468. type: boolean
  469. label: 'Case sensitive'
  470. field.field_settings.uri:
  471. type: mapping
  472. label: 'URI settings'
  473. field.value.uri:
  474. type: mapping
  475. label: 'Default value'
  476. mapping:
  477. value:
  478. type: string
  479. label: 'Value'
  480. # Schema for the configuration of the Created field type.
  481. field.storage_settings.created:
  482. type: mapping
  483. label: 'Created timestamp settings'
  484. field.field_settings.created:
  485. type: mapping
  486. label: 'Created timestamp settings'
  487. field.value.created:
  488. type: mapping
  489. label: 'Default value'
  490. mapping:
  491. value:
  492. type: integer
  493. label: 'Value'
  494. # Schema for the configuration of the Changed field type.
  495. field.storage_settings.changed:
  496. type: mapping
  497. label: 'Changed timestamp settings'
  498. field.field_settings.changed:
  499. type: mapping
  500. label: 'Changed timestamp settings'
  501. field.value.changed:
  502. type: mapping
  503. label: 'Default value'
  504. mapping:
  505. value:
  506. type: integer
  507. label: 'Value'
  508. # Schema for the configuration of the Entity reference field type.
  509. field.storage_settings.entity_reference:
  510. type: mapping
  511. label: 'Entity reference field storage settings'
  512. mapping:
  513. target_type:
  514. type: string
  515. label: 'Type of item to reference'
  516. field.field_settings.entity_reference:
  517. type: mapping
  518. label: 'Entity reference field settings'
  519. mapping:
  520. handler:
  521. type: string
  522. label: 'Reference method'
  523. handler_settings:
  524. type: entity_reference_selection.[%parent.handler]
  525. label: 'Entity reference selection plugin settings'
  526. field.value.entity_reference:
  527. type: mapping
  528. label: 'Default value'
  529. mapping:
  530. target_id:
  531. type: string
  532. label: 'Value'
  533. target_uuid:
  534. type: uuid
  535. # Schema for the configuration of the Boolean field type.
  536. field.field_settings.boolean:
  537. label: 'Boolean settings'
  538. type: mapping
  539. mapping:
  540. on_label:
  541. type: label
  542. label: 'On label'
  543. off_label:
  544. type: label
  545. label: 'Off label'
  546. field.value.boolean:
  547. type: mapping
  548. mapping:
  549. value:
  550. type: integer
  551. label: 'Value'
  552. # Schema for the configuration of the Email field type.
  553. field.storage_settings.email:
  554. type: mapping
  555. label: 'Email settings'
  556. field.field_settings.email:
  557. type: mapping
  558. label: 'Email settings'
  559. sequence:
  560. type: string
  561. label: 'Setting'
  562. field.value.email:
  563. type: mapping
  564. label: 'Default value'
  565. mapping:
  566. value:
  567. type: email
  568. label: 'Value'
  569. # Schema for the configuration of the Integer field type.
  570. field.storage_settings.integer:
  571. type: mapping
  572. label: 'Integer settings'
  573. mapping:
  574. unsigned:
  575. type: boolean
  576. label: 'Unsigned'
  577. size:
  578. type: string
  579. label: 'Database storage size'
  580. field.field_settings.integer:
  581. type: mapping
  582. label: 'Integer'
  583. mapping:
  584. min:
  585. type: integer
  586. label: 'Minimum'
  587. max:
  588. type: integer
  589. label: 'Maximum'
  590. prefix:
  591. type: label
  592. label: 'Prefix'
  593. suffix:
  594. type: label
  595. label: 'Suffix'
  596. field.value.integer:
  597. type: mapping
  598. label: 'Default value'
  599. mapping:
  600. value:
  601. type: integer
  602. label: 'Value'
  603. # Schema for the configuration of the Decimal field type.
  604. field.storage_settings.decimal:
  605. type: mapping
  606. label: 'Decimal settings'
  607. mapping:
  608. precision:
  609. type: integer
  610. label: 'Precision'
  611. scale:
  612. type: integer
  613. label: 'Scale'
  614. field.field_settings.decimal:
  615. type: mapping
  616. label: 'Decimal settings'
  617. mapping:
  618. min:
  619. type: float
  620. label: 'Minimum'
  621. max:
  622. type: float
  623. label: 'Maximum'
  624. prefix:
  625. type: label
  626. label: 'Prefix'
  627. suffix:
  628. type: label
  629. label: 'Suffix'
  630. field.value.decimal:
  631. type: mapping
  632. label: 'Default value'
  633. mapping:
  634. value:
  635. type: float
  636. label: 'Value'
  637. # Schema for the configuration of the Float field type.
  638. field.storage_settings.float:
  639. type: mapping
  640. label: 'Float settings'
  641. field.field_settings.float:
  642. type: mapping
  643. label: 'Float settings'
  644. mapping:
  645. min:
  646. type: float
  647. label: 'Minimum'
  648. max:
  649. type: float
  650. label: 'Maximum'
  651. prefix:
  652. type: label
  653. label: 'Prefix'
  654. suffix:
  655. type: label
  656. label: 'Suffix'
  657. field.value.float:
  658. type: mapping
  659. label: 'Default value'
  660. mapping:
  661. value:
  662. type: float
  663. label: 'Value'
  664. # Schema for the configuration of the Timestamp field type.
  665. field.value.timestamp:
  666. type: mapping
  667. label: 'Timestamp value'
  668. mapping:
  669. value:
  670. type: timestamp
  671. label: 'Value'
  672. # Text with a text format.
  673. text_format:
  674. type: mapping
  675. label: 'Text with text format'
  676. # We declare the entire mapping of text and text format as translatable. This
  677. # causes the entire mapping to be saved to the language overrides of the
  678. # configuration. Storing only the (to be formatted) text could result in
  679. # security problems in case the text format of the source text is changed.
  680. translatable: true
  681. mapping:
  682. value:
  683. type: text
  684. label: 'Text'
  685. # Mark the actual text as translatable (in addition to the entire mapping
  686. # being marked as translatable) so that shipped configuration with
  687. # formatted text can participate in the string translation system.
  688. translatable: true
  689. format:
  690. type: string
  691. label: 'Text format'
  692. # The text format should not be translated as part of the string
  693. # translation system, so this is not marked as translatable.
  694. # Base schema for all entity reference selection handler schemas.
  695. entity_reference_selection:
  696. type: mapping
  697. label: 'Entity reference selection handler settings'
  698. mapping:
  699. target_type:
  700. type: string
  701. label: 'Type of item to reference'
  702. # Schema for all entity reference selection handlers that are not providing a
  703. # specific schema.
  704. entity_reference_selection.*:
  705. type: entity_reference_selection
  706. # Schema for the entity reference 'default' selection handler settings.
  707. entity_reference_selection.default:
  708. type: entity_reference_selection
  709. label: 'Default selection handler settings'
  710. mapping:
  711. target_bundles:
  712. type: sequence
  713. label: 'types'
  714. nullable: true
  715. sequence:
  716. type: string
  717. label: 'Bundle'
  718. sort:
  719. type: mapping
  720. label: 'Sort settings'
  721. mapping:
  722. field:
  723. type: string
  724. label: 'Sort by'
  725. direction:
  726. type: string
  727. label: 'Sort direction'
  728. auto_create:
  729. type: boolean
  730. label: 'Create referenced entities if they don''t already exist'
  731. auto_create_bundle:
  732. type: string
  733. label: 'Bundle assigned to the auto-created entities.'
  734. # Schema for all entity reference 'default:*' selection handlers that are not
  735. # providing a specific schema.
  736. entity_reference_selection.default:*:
  737. type: entity_reference_selection.default