core.data_types.schema.yml 18 KB

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