You are here

core.data_types.schema.yml in Drupal 10

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. _core:
  95. type: _core_config_info
  96. langcode:
  97. type: string
  98. label: 'Language code'
  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. provider:
  280. type: string
  281. label: 'Provider'
  282. status:
  283. type: boolean
  284. label: 'Status'
  285. info:
  286. type: label
  287. label: 'Admin info'
  288. view_mode:
  289. type: string
  290. label: 'View mode'
  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 Password field type.
  476. field.storage_settings.password:
  477. type: field.storage_settings.string
  478. label: 'Password settings'
  479. field.field_settings.password:
  480. type: mapping
  481. label: 'Password settings'
  482. # Schema for the configuration of the URI field type.
  483. field.storage_settings.uri:
  484. type: field.storage_settings.string
  485. label: 'URI settings'
  486. mapping:
  487. max_length:
  488. type: integer
  489. label: 'Maximum length'
  490. case_sensitive:
  491. type: boolean
  492. label: 'Case sensitive'
  493. field.field_settings.uri:
  494. type: mapping
  495. label: 'URI settings'
  496. field.value.uri:
  497. type: mapping
  498. label: 'Default value'
  499. mapping:
  500. value:
  501. type: string
  502. label: 'Value'
  503. # Schema for the configuration of the Created field type.
  504. field.storage_settings.created:
  505. type: mapping
  506. label: 'Created timestamp settings'
  507. field.field_settings.created:
  508. type: mapping
  509. label: 'Created timestamp settings'
  510. field.value.created:
  511. type: mapping
  512. label: 'Default value'
  513. mapping:
  514. value:
  515. type: integer
  516. label: 'Value'
  517. # Schema for the configuration of the Changed field type.
  518. field.storage_settings.changed:
  519. type: mapping
  520. label: 'Changed timestamp settings'
  521. field.field_settings.changed:
  522. type: mapping
  523. label: 'Changed timestamp settings'
  524. field.value.changed:
  525. type: mapping
  526. label: 'Default value'
  527. mapping:
  528. value:
  529. type: integer
  530. label: 'Value'
  531. # Schema for the configuration of the Entity reference field type.
  532. field.storage_settings.entity_reference:
  533. type: mapping
  534. label: 'Entity reference field storage settings'
  535. mapping:
  536. target_type:
  537. type: string
  538. label: 'Type of item to reference'
  539. field.field_settings.entity_reference:
  540. type: mapping
  541. label: 'Entity reference field settings'
  542. mapping:
  543. handler:
  544. type: string
  545. label: 'Reference method'
  546. handler_settings:
  547. type: entity_reference_selection.[%parent.handler]
  548. label: 'Entity reference selection plugin settings'
  549. field.value.entity_reference:
  550. type: mapping
  551. label: 'Default value'
  552. mapping:
  553. target_id:
  554. type: string
  555. label: 'Value'
  556. target_uuid:
  557. type: uuid
  558. # Schema for the configuration of the Boolean field type.
  559. field.field_settings.boolean:
  560. label: 'Boolean settings'
  561. type: mapping
  562. mapping:
  563. on_label:
  564. type: label
  565. label: 'On label'
  566. off_label:
  567. type: label
  568. label: 'Off label'
  569. field.value.boolean:
  570. type: mapping
  571. mapping:
  572. value:
  573. type: integer
  574. label: 'Value'
  575. # Schema for the configuration of the Email field type.
  576. field.storage_settings.email:
  577. type: mapping
  578. label: 'Email settings'
  579. field.field_settings.email:
  580. type: mapping
  581. label: 'Email settings'
  582. sequence:
  583. type: string
  584. label: 'Setting'
  585. field.value.email:
  586. type: mapping
  587. label: 'Default value'
  588. mapping:
  589. value:
  590. type: email
  591. label: 'Value'
  592. # Schema for the configuration of the Integer field type.
  593. field.storage_settings.integer:
  594. type: mapping
  595. label: 'Integer settings'
  596. mapping:
  597. unsigned:
  598. type: boolean
  599. label: 'Unsigned'
  600. size:
  601. type: string
  602. label: 'Database storage size'
  603. field.field_settings.integer:
  604. type: mapping
  605. label: 'Integer'
  606. mapping:
  607. min:
  608. type: integer
  609. label: 'Minimum'
  610. max:
  611. type: integer
  612. label: 'Maximum'
  613. prefix:
  614. type: label
  615. label: 'Prefix'
  616. suffix:
  617. type: label
  618. label: 'Suffix'
  619. field.value.integer:
  620. type: mapping
  621. label: 'Default value'
  622. mapping:
  623. value:
  624. type: integer
  625. label: 'Value'
  626. # Schema for the configuration of the Decimal field type.
  627. field.storage_settings.decimal:
  628. type: mapping
  629. label: 'Decimal settings'
  630. mapping:
  631. precision:
  632. type: integer
  633. label: 'Precision'
  634. scale:
  635. type: integer
  636. label: 'Scale'
  637. field.field_settings.decimal:
  638. type: mapping
  639. label: 'Decimal settings'
  640. mapping:
  641. min:
  642. type: float
  643. label: 'Minimum'
  644. max:
  645. type: float
  646. label: 'Maximum'
  647. prefix:
  648. type: label
  649. label: 'Prefix'
  650. suffix:
  651. type: label
  652. label: 'Suffix'
  653. field.value.decimal:
  654. type: mapping
  655. label: 'Default value'
  656. mapping:
  657. value:
  658. type: float
  659. label: 'Value'
  660. # Schema for the configuration of the Float field type.
  661. field.storage_settings.float:
  662. type: mapping
  663. label: 'Float settings'
  664. field.field_settings.float:
  665. type: mapping
  666. label: 'Float settings'
  667. mapping:
  668. min:
  669. type: float
  670. label: 'Minimum'
  671. max:
  672. type: float
  673. label: 'Maximum'
  674. prefix:
  675. type: label
  676. label: 'Prefix'
  677. suffix:
  678. type: label
  679. label: 'Suffix'
  680. field.value.float:
  681. type: mapping
  682. label: 'Default value'
  683. mapping:
  684. value:
  685. type: float
  686. label: 'Value'
  687. # Schema for the configuration of the Timestamp field type.
  688. field.value.timestamp:
  689. type: mapping
  690. label: 'Timestamp value'
  691. mapping:
  692. value:
  693. type: timestamp
  694. label: 'Value'
  695. # Text with a text format.
  696. text_format:
  697. type: mapping
  698. label: 'Text with text format'
  699. # We declare the entire mapping of text and text format as translatable. This
  700. # causes the entire mapping to be saved to the language overrides of the
  701. # configuration. Storing only the (to be formatted) text could result in
  702. # security problems in case the text format of the source text is changed.
  703. translatable: true
  704. mapping:
  705. value:
  706. type: text
  707. label: 'Text'
  708. # Mark the actual text as translatable (in addition to the entire mapping
  709. # being marked as translatable) so that shipped configuration with
  710. # formatted text can participate in the string translation system.
  711. translatable: true
  712. format:
  713. type: string
  714. label: 'Text format'
  715. # The text format should not be translated as part of the string
  716. # translation system, so this is not marked as translatable.
  717. # Base schema for all entity reference selection handler schemas.
  718. entity_reference_selection:
  719. type: mapping
  720. label: 'Entity reference selection handler settings'
  721. mapping:
  722. target_type:
  723. type: string
  724. label: 'Type of item to reference'
  725. # Schema for all entity reference selection handlers that are not providing a
  726. # specific schema.
  727. entity_reference_selection.*:
  728. type: entity_reference_selection
  729. # Schema for the entity reference 'default' selection handler settings.
  730. entity_reference_selection.default:
  731. type: entity_reference_selection
  732. label: 'Default selection handler settings'
  733. mapping:
  734. target_bundles:
  735. type: sequence
  736. label: 'types'
  737. nullable: true
  738. sequence:
  739. type: string
  740. label: 'Bundle'
  741. sort:
  742. type: mapping
  743. label: 'Sort settings'
  744. mapping:
  745. field:
  746. type: string
  747. label: 'Sort by'
  748. direction:
  749. type: string
  750. label: 'Sort direction'
  751. auto_create:
  752. type: boolean
  753. label: 'Create referenced entities if they don''t already exist'
  754. auto_create_bundle:
  755. type: string
  756. label: 'Bundle assigned to the auto-created entities.'
  757. # Schema for all entity reference 'default:*' selection handlers that are not
  758. # providing a specific schema.
  759. entity_reference_selection.default:*:
  760. type: entity_reference_selection.default