core.data_types.schema.yml 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832
  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. mapping:
  332. label:
  333. type: label
  334. label: 'Label'
  335. layout_plugin.settings.*:
  336. type: layout_plugin.settings
  337. base_entity_reference_field_settings:
  338. type: mapping
  339. mapping:
  340. target_type:
  341. type: string
  342. label: 'Type of item to reference'
  343. field_config_base:
  344. type: config_entity
  345. mapping:
  346. id:
  347. type: string
  348. label: 'ID'
  349. field_name:
  350. type: string
  351. label: 'Field name'
  352. entity_type:
  353. type: string
  354. label: 'Entity type'
  355. bundle:
  356. type: string
  357. label: 'Bundle'
  358. label:
  359. type: label
  360. label: 'Label'
  361. description:
  362. type: text
  363. label: 'Help text'
  364. required:
  365. type: boolean
  366. label: 'Required field'
  367. translatable:
  368. type: boolean
  369. label: 'Translatable'
  370. default_value:
  371. type: sequence
  372. label: 'Default values'
  373. sequence:
  374. type: field.value.[%parent.%parent.field_type]
  375. label: 'Default value'
  376. default_value_callback:
  377. type: string
  378. label: 'Default value callback'
  379. settings:
  380. type: field.field_settings.[%parent.field_type]
  381. field_type:
  382. type: string
  383. label: 'Field type'
  384. core.base_field_override.*.*.*:
  385. type: field_config_base
  386. label: 'Base field bundle override'
  387. core.date_format.*:
  388. type: config_entity
  389. label: 'Date format'
  390. mapping:
  391. id:
  392. type: string
  393. label: 'ID'
  394. label:
  395. type: label
  396. label: 'Label'
  397. locked:
  398. type: boolean
  399. label: 'Locked'
  400. pattern:
  401. type: core_date_format_pattern.[%parent.locked]
  402. label: 'PHP date format'
  403. # Unlocked date formats should use the translatable type.
  404. core_date_format_pattern.0:
  405. type: date_format
  406. label: 'Date format'
  407. # Locked date formats are just used to transport the value.
  408. core_date_format_pattern.1:
  409. type: string
  410. label: 'Date format'
  411. # Generic field settings schemas.
  412. field.storage_settings.*:
  413. type: mapping
  414. label: 'Settings'
  415. field.field_settings.*:
  416. type: mapping
  417. label: 'Settings'
  418. field.value.*:
  419. type: mapping
  420. label: 'Default value'
  421. # Schema for the configuration of the String field type.
  422. field.storage_settings.string:
  423. type: mapping
  424. label: 'String settings'
  425. mapping:
  426. max_length:
  427. type: integer
  428. label: 'Maximum length'
  429. case_sensitive:
  430. type: boolean
  431. label: 'Case sensitive'
  432. is_ascii:
  433. type: boolean
  434. label: 'Contains US ASCII characters only'
  435. field.field_settings.string:
  436. type: mapping
  437. label: 'String settings'
  438. field.value.string:
  439. type: mapping
  440. label: 'Default value'
  441. mapping:
  442. value:
  443. type: label
  444. label: 'Value'
  445. # Schema for the configuration of the String (long) field type.
  446. field.storage_settings.string_long:
  447. type: mapping
  448. label: 'String (long) settings'
  449. mapping:
  450. case_sensitive:
  451. type: boolean
  452. label: 'Case sensitive'
  453. field.field_settings.string_long:
  454. type: mapping
  455. label: 'String (long) settings'
  456. field.value.string_long:
  457. type: mapping
  458. label: 'Default value'
  459. mapping:
  460. value:
  461. type: text
  462. label: 'Value'
  463. # Schema for the configuration of the URI field type.
  464. field.storage_settings.uri:
  465. type: field.storage_settings.string
  466. label: 'URI settings'
  467. mapping:
  468. max_length:
  469. type: integer
  470. label: 'Maximum length'
  471. case_sensitive:
  472. type: boolean
  473. label: 'Case sensitive'
  474. field.field_settings.uri:
  475. type: mapping
  476. label: 'URI settings'
  477. field.value.uri:
  478. type: mapping
  479. label: 'Default value'
  480. mapping:
  481. value:
  482. type: string
  483. label: 'Value'
  484. # Schema for the configuration of the Created field type.
  485. field.storage_settings.created:
  486. type: mapping
  487. label: 'Created timestamp settings'
  488. field.field_settings.created:
  489. type: mapping
  490. label: 'Created timestamp settings'
  491. field.value.created:
  492. type: mapping
  493. label: 'Default value'
  494. mapping:
  495. value:
  496. type: integer
  497. label: 'Value'
  498. # Schema for the configuration of the Changed field type.
  499. field.storage_settings.changed:
  500. type: mapping
  501. label: 'Changed timestamp settings'
  502. field.field_settings.changed:
  503. type: mapping
  504. label: 'Changed timestamp settings'
  505. field.value.changed:
  506. type: mapping
  507. label: 'Default value'
  508. mapping:
  509. value:
  510. type: integer
  511. label: 'Value'
  512. # Schema for the configuration of the Entity reference field type.
  513. field.storage_settings.entity_reference:
  514. type: mapping
  515. label: 'Entity reference field storage settings'
  516. mapping:
  517. target_type:
  518. type: string
  519. label: 'Type of item to reference'
  520. field.field_settings.entity_reference:
  521. type: mapping
  522. label: 'Entity reference field settings'
  523. mapping:
  524. handler:
  525. type: string
  526. label: 'Reference method'
  527. handler_settings:
  528. type: entity_reference_selection.[%parent.handler]
  529. label: 'Entity reference selection plugin settings'
  530. field.value.entity_reference:
  531. type: mapping
  532. label: 'Default value'
  533. mapping:
  534. target_id:
  535. type: string
  536. label: 'Value'
  537. target_uuid:
  538. type: uuid
  539. # Schema for the configuration of the Boolean field type.
  540. field.field_settings.boolean:
  541. label: 'Boolean settings'
  542. type: mapping
  543. mapping:
  544. on_label:
  545. type: label
  546. label: 'On label'
  547. off_label:
  548. type: label
  549. label: 'Off label'
  550. field.value.boolean:
  551. type: mapping
  552. mapping:
  553. value:
  554. type: integer
  555. label: 'Value'
  556. # Schema for the configuration of the Email field type.
  557. field.storage_settings.email:
  558. type: mapping
  559. label: 'Email settings'
  560. field.field_settings.email:
  561. type: mapping
  562. label: 'Email settings'
  563. sequence:
  564. type: string
  565. label: 'Setting'
  566. field.value.email:
  567. type: mapping
  568. label: 'Default value'
  569. mapping:
  570. value:
  571. type: email
  572. label: 'Value'
  573. # Schema for the configuration of the Integer field type.
  574. field.storage_settings.integer:
  575. type: mapping
  576. label: 'Integer settings'
  577. mapping:
  578. unsigned:
  579. type: boolean
  580. label: 'Unsigned'
  581. size:
  582. type: string
  583. label: 'Database storage size'
  584. field.field_settings.integer:
  585. type: mapping
  586. label: 'Integer'
  587. mapping:
  588. min:
  589. type: integer
  590. label: 'Minimum'
  591. max:
  592. type: integer
  593. label: 'Maximum'
  594. prefix:
  595. type: label
  596. label: 'Prefix'
  597. suffix:
  598. type: label
  599. label: 'Suffix'
  600. field.value.integer:
  601. type: mapping
  602. label: 'Default value'
  603. mapping:
  604. value:
  605. type: integer
  606. label: 'Value'
  607. # Schema for the configuration of the Decimal field type.
  608. field.storage_settings.decimal:
  609. type: mapping
  610. label: 'Decimal settings'
  611. mapping:
  612. precision:
  613. type: integer
  614. label: 'Precision'
  615. scale:
  616. type: integer
  617. label: 'Scale'
  618. field.field_settings.decimal:
  619. type: mapping
  620. label: 'Decimal settings'
  621. mapping:
  622. min:
  623. type: float
  624. label: 'Minimum'
  625. max:
  626. type: float
  627. label: 'Maximum'
  628. prefix:
  629. type: label
  630. label: 'Prefix'
  631. suffix:
  632. type: label
  633. label: 'Suffix'
  634. field.value.decimal:
  635. type: mapping
  636. label: 'Default value'
  637. mapping:
  638. value:
  639. type: float
  640. label: 'Value'
  641. # Schema for the configuration of the Float field type.
  642. field.storage_settings.float:
  643. type: mapping
  644. label: 'Float settings'
  645. field.field_settings.float:
  646. type: mapping
  647. label: 'Float settings'
  648. mapping:
  649. min:
  650. type: float
  651. label: 'Minimum'
  652. max:
  653. type: float
  654. label: 'Maximum'
  655. prefix:
  656. type: label
  657. label: 'Prefix'
  658. suffix:
  659. type: label
  660. label: 'Suffix'
  661. field.value.float:
  662. type: mapping
  663. label: 'Default value'
  664. mapping:
  665. value:
  666. type: float
  667. label: 'Value'
  668. # Schema for the configuration of the Timestamp field type.
  669. field.value.timestamp:
  670. type: mapping
  671. label: 'Timestamp value'
  672. mapping:
  673. value:
  674. type: timestamp
  675. label: 'Value'
  676. # Text with a text format.
  677. text_format:
  678. type: mapping
  679. label: 'Text with text format'
  680. # We declare the entire mapping of text and text format as translatable. This
  681. # causes the entire mapping to be saved to the language overrides of the
  682. # configuration. Storing only the (to be formatted) text could result in
  683. # security problems in case the text format of the source text is changed.
  684. translatable: true
  685. mapping:
  686. value:
  687. type: text
  688. label: 'Text'
  689. # Mark the actual text as translatable (in addition to the entire mapping
  690. # being marked as translatable) so that shipped configuration with
  691. # formatted text can participate in the string translation system.
  692. translatable: true
  693. format:
  694. type: string
  695. label: 'Text format'
  696. # The text format should not be translated as part of the string
  697. # translation system, so this is not marked as translatable.
  698. # Base schema for all entity reference selection handler schemas.
  699. entity_reference_selection:
  700. type: mapping
  701. label: 'Entity reference selection handler settings'
  702. mapping:
  703. target_type:
  704. type: string
  705. label: 'Type of item to reference'
  706. # Schema for all entity reference selection handlers that are not providing a
  707. # specific schema.
  708. entity_reference_selection.*:
  709. type: entity_reference_selection
  710. # Schema for the entity reference 'default' selection handler settings.
  711. entity_reference_selection.default:
  712. type: entity_reference_selection
  713. label: 'Default selection handler settings'
  714. mapping:
  715. target_bundles:
  716. type: sequence
  717. label: 'types'
  718. nullable: true
  719. sequence:
  720. type: string
  721. label: 'Bundle'
  722. sort:
  723. type: mapping
  724. label: 'Sort settings'
  725. mapping:
  726. field:
  727. type: string
  728. label: 'Sort by'
  729. direction:
  730. type: string
  731. label: 'Sort direction'
  732. auto_create:
  733. type: boolean
  734. label: 'Create referenced entities if they don''t already exist'
  735. auto_create_bundle:
  736. type: string
  737. label: 'Bundle assigned to the auto-created entities.'
  738. # Schema for all entity reference 'default:*' selection handlers that are not
  739. # providing a specific schema.
  740. entity_reference_selection.default:*:
  741. type: entity_reference_selection.default