# Type parameter is not required

**URL:** https://drone.discourse.group/t/type-parameter-is-not-required/7612
**Category:** Drone Support
**Created:** [April 20, 2021, 1:15am UTC](https://drone.discourse.group/t/type-parameter-is-not-required/7612 "2021-04-20T01:15:05Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![vaidd4](https://yyz1.discourse-cdn.com/flex003/user_avatar/drone.discourse.group/vaidd4/32/4824_2.png) [@vaidd4](https://drone.discourse.group/u/vaidd4)
#### Post date: [April 20, 2021, 1:15am UTC](https://drone.discourse.group/t/type-parameter-is-not-required/7612/1 "2021-04-20T01:15:05Z")

</div>

Contrary to the [YAML specification](https://docs.drone.io/yaml/docker/#the-type-attribute), the type attribute is not required for the docker runner and can be omited for a `pipeline` kind.  
(I didn’t check for the other runners)

See: [drone-runner-docker/engine/resource/parser.go at 67e6ccef4361067e020fa1ddd084e6947c88c210 · drone-runners/drone-runner-docker · GitHub](https://github.com/drone-runners/drone-runner-docker/blob/67e6ccef4361067e020fa1ddd084e6947c88c210/engine/resource/parser.go#L36)

Additionally: The schema from [SchemaStore.org](https://json.schemastore.org/drone.json#/definitions/kind_pipeline) marks it as required.  
(After an Intellij update that uses schema mapping from there, my `.drone.yml` file was marked as _Not valid_)

---

<div class="post-metadata">

### Author: ![bradrydzewski](https://yyz1.discourse-cdn.com/flex003/user_avatar/drone.discourse.group/bradrydzewski/32/3513_2.png) [@bradrydzewski](https://drone.discourse.group/u/bradrydzewski)
#### Post date: [April 20, 2021, 3:41am UTC](https://drone.discourse.group/t/type-parameter-is-not-required/7612/2 "2021-04-20T03:41:25Z")

</div>

> Contrary to the [YAML specification](https://docs.drone.io/yaml/docker/#the-type-attribute), the type attribute is not required for the docker runner and can be omited for a `pipeline` kind.

The _type_ attribute should be considered a required field. The reason it defaults to _docker_ is because we needed to support legacy yaml files that were created before Drone had the concept of multiple runner types. However, you should not rely on this legacy behavior when creating new pipelines since, at some point, we will remove this legacy mapping and will fail a pipeline if the _type_ attribute is missing.

> Additionally: The schema from [SchemaStore.org](https://json.schemastore.org/drone.json#/definitions/kind_pipeline) marks it as required.

We are not responsible for the schema at [SchemaStore.org](https://json.schemastore.org/drone.json#/definitions/kind_pipeline)
