You are here

core.data_types.schema.yml in Drupal 9

Same filename and directory in other branches
  1. 8 core/config/schema/core.data_types.schema.yml
core/config/schema/core.data_types.schema.yml

File

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