{
  "$ref": "#/definitions/StepModel",
  "$schema": "http://json-schema.org/draft-04/schema#",
  "definitions": {
    "AptGetDepModel": {
      "properties": {
        "name": {
          "type": "string"
        },
        "bin_name": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "BashStepToolkitModel": {
      "properties": {
        "entry_file": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "BrewDepModel": {
      "properties": {
        "name": {
          "type": "string"
        },
        "bin_name": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "CheckOnlyDepModel": {
      "properties": {
        "name": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "DependencyModel": {
      "properties": {
        "manager": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "DepsModel": {
      "properties": {
        "brew": {
          "items": {
            "$ref": "#/definitions/BrewDepModel"
          },
          "type": "array"
        },
        "apt_get": {
          "items": {
            "$ref": "#/definitions/AptGetDepModel"
          },
          "type": "array"
        },
        "check_only": {
          "items": {
            "$ref": "#/definitions/CheckOnlyDepModel"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "GoStepToolkitModel": {
      "required": ["package_name"],
      "properties": {
        "package_name": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "StepModel": {
      "properties": {
        "title": {
          "type": "string"
        },
        "summary": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "website": {
          "type": "string"
        },
        "source_code_url": {
          "type": "string"
        },
        "support_url": {
          "type": "string"
        },
        "published_at": {
          "type": "string",
          "format": "date-time"
        },
        "source": {
          "$ref": "#/definitions/StepSourceModel"
        },
        "asset_urls": {
          "patternProperties": {
            ".*": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "host_os_tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "project_type_tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "type_tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "dependencies": {
          "items": {
            "$ref": "#/definitions/DependencyModel"
          },
          "type": "array"
        },
        "toolkit": {
          "$ref": "#/definitions/StepToolkitModel"
        },
        "deps": {
          "$ref": "#/definitions/DepsModel"
        },
        "is_requires_admin_user": {
          "type": "boolean"
        },
        "is_always_run": {
          "type": "boolean"
        },
        "is_skippable": {
          "type": "boolean"
        },
        "run_if": {
          "type": "string"
        },
        "timeout": {
          "type": "integer"
        },
        "meta": {
          "patternProperties": {
            ".*": {
              "additionalProperties": true
            }
          },
          "type": "object"
        },
        "inputs": {
          "items": {
            "patternProperties": {
              ".*": {
                "additionalProperties": true
              }
            },
            "type": "object"
          },
          "type": "array"
        },
        "outputs": {
          "items": {
            "patternProperties": {
              ".*": {
                "additionalProperties": true
              }
            },
            "type": "object"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "StepSourceModel": {
      "properties": {
        "git": {
          "type": "string"
        },
        "commit": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "StepToolkitModel": {
      "properties": {
        "bash": {
          "$ref": "#/definitions/BashStepToolkitModel"
        },
        "go": {
          "$ref": "#/definitions/GoStepToolkitModel"
        }
      },
      "additionalProperties": false,
      "type": "object"
    }
  },
  "id": "https://json.schemastore.org/bitrise-step.json"
}
