{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "fileMatch": [".cirrus.yml"],
  "id": "https://cirrus-ci.org/",
  "patternProperties": {
    "^(.*)docker_builder$": {
      "patternProperties": {
        "^(.*)artifacts$": {
          "properties": {
            "format": {
              "description": "Content Format.",
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "path": {
              "description": "Path or pattern of artifacts.",
              "type": "string"
            },
            "paths": {
              "items": [
                {
                  "description": "Path or pattern of artifacts.",
                  "type": "string"
                }
              ],
              "type": "array"
            },
            "type": {
              "description": "Content Type.",
              "type": "string"
            }
          },
          "type": "object"
        },
        "^(.*)background_script$": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "items": [
                {
                  "type": "string"
                }
              ],
              "type": "array"
            }
          ]
        },
        "^(.*)cache$": {
          "description": "Folder Cache Definition.",
          "properties": {
            "fingerprint_script": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "items": [
                    {
                      "type": "string"
                    }
                  ],
                  "type": "array"
                }
              ],
              "description": "Script that is used to calculate cache key."
            },
            "folder": {
              "description": "Path of a folder to cache.",
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "populate_script": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "items": [
                    {
                      "type": "string"
                    }
                  ],
                  "type": "array"
                }
              ],
              "description": "In case of a cache miss this script will be executed."
            },
            "reupload_on_changes": {
              "description": "Boolean expression. A flag to check if contents of folder has changed after a cache hit.",
              "type": "string"
            }
          },
          "required": ["folder"],
          "type": "object"
        },
        "^(.*)file$": {
          "properties": {
            "name": {
              "type": "string"
            },
            "path": {
              "description": "Destination path.",
              "type": "string"
            },
            "variable_name": {
              "description": "Environment variable name.",
              "type": "string"
            }
          },
          "required": ["path", "variable_name"],
          "type": "object"
        },
        "^(.*)script$": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "items": [
                {
                  "type": "string"
                }
              ],
              "type": "array"
            }
          ]
        }
      },
      "properties": {
        "alias": {
          "type": "string"
        },
        "allow_failures": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "always": {
          "description": "ALWAYS commands.",
          "patternProperties": {
            "^(.*)artifacts$": {
              "properties": {
                "format": {
                  "description": "Content Format.",
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "path": {
                  "description": "Path or pattern of artifacts.",
                  "type": "string"
                },
                "paths": {
                  "items": [
                    {
                      "description": "Path or pattern of artifacts.",
                      "type": "string"
                    }
                  ],
                  "type": "array"
                },
                "type": {
                  "description": "Content Type.",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "^(.*)background_script$": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "items": [
                    {
                      "type": "string"
                    }
                  ],
                  "type": "array"
                }
              ]
            },
            "^(.*)cache$": {
              "description": "Folder Cache Definition.",
              "properties": {
                "fingerprint_script": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "items": [
                        {
                          "type": "string"
                        }
                      ],
                      "type": "array"
                    }
                  ],
                  "description": "Script that is used to calculate cache key."
                },
                "folder": {
                  "description": "Path of a folder to cache.",
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "populate_script": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "items": [
                        {
                          "type": "string"
                        }
                      ],
                      "type": "array"
                    }
                  ],
                  "description": "In case of a cache miss this script will be executed."
                },
                "reupload_on_changes": {
                  "description": "Boolean expression. A flag to check if contents of folder has changed after a cache hit.",
                  "type": "string"
                }
              },
              "required": ["folder"],
              "type": "object"
            },
            "^(.*)file$": {
              "properties": {
                "name": {
                  "type": "string"
                },
                "path": {
                  "description": "Destination path.",
                  "type": "string"
                },
                "variable_name": {
                  "description": "Environment variable name.",
                  "type": "string"
                }
              },
              "required": ["path", "variable_name"],
              "type": "object"
            },
            "^(.*)script$": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "items": [
                    {
                      "type": "string"
                    }
                  ],
                  "type": "array"
                }
              ]
            }
          },
          "type": "object"
        },
        "auto_cancellation": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "depends_on": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "items": [
                {
                  "type": "string"
                }
              ],
              "type": "array"
            }
          ],
          "description": "List of task names this task depends on."
        },
        "env": {
          "description": "Map represented as an object.",
          "patternProperties": {
            ".*": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "environment": {
          "description": "Map represented as an object.",
          "patternProperties": {
            ".*": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "execution_lock": {
          "description": "Lock name for triggering and execution",
          "type": "string"
        },
        "experimental": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "on_failure": {
          "description": "ON_FAILURE commands.",
          "patternProperties": {
            "^(.*)artifacts$": {
              "properties": {
                "format": {
                  "description": "Content Format.",
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "path": {
                  "description": "Path or pattern of artifacts.",
                  "type": "string"
                },
                "paths": {
                  "items": [
                    {
                      "description": "Path or pattern of artifacts.",
                      "type": "string"
                    }
                  ],
                  "type": "array"
                },
                "type": {
                  "description": "Content Type.",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "^(.*)background_script$": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "items": [
                    {
                      "type": "string"
                    }
                  ],
                  "type": "array"
                }
              ]
            },
            "^(.*)cache$": {
              "description": "Folder Cache Definition.",
              "properties": {
                "fingerprint_script": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "items": [
                        {
                          "type": "string"
                        }
                      ],
                      "type": "array"
                    }
                  ],
                  "description": "Script that is used to calculate cache key."
                },
                "folder": {
                  "description": "Path of a folder to cache.",
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "populate_script": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "items": [
                        {
                          "type": "string"
                        }
                      ],
                      "type": "array"
                    }
                  ],
                  "description": "In case of a cache miss this script will be executed."
                },
                "reupload_on_changes": {
                  "description": "Boolean expression. A flag to check if contents of folder has changed after a cache hit.",
                  "type": "string"
                }
              },
              "required": ["folder"],
              "type": "object"
            },
            "^(.*)file$": {
              "properties": {
                "name": {
                  "type": "string"
                },
                "path": {
                  "description": "Destination path.",
                  "type": "string"
                },
                "variable_name": {
                  "description": "Environment variable name.",
                  "type": "string"
                }
              },
              "required": ["path", "variable_name"],
              "type": "object"
            },
            "^(.*)script$": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "items": [
                    {
                      "type": "string"
                    }
                  ],
                  "type": "array"
                }
              ]
            }
          },
          "type": "object"
        },
        "on_success": {
          "description": "ON_SUCCESS commands.",
          "patternProperties": {
            "^(.*)artifacts$": {
              "properties": {
                "format": {
                  "description": "Content Format.",
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "path": {
                  "description": "Path or pattern of artifacts.",
                  "type": "string"
                },
                "paths": {
                  "items": [
                    {
                      "description": "Path or pattern of artifacts.",
                      "type": "string"
                    }
                  ],
                  "type": "array"
                },
                "type": {
                  "description": "Content Type.",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "^(.*)background_script$": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "items": [
                    {
                      "type": "string"
                    }
                  ],
                  "type": "array"
                }
              ]
            },
            "^(.*)cache$": {
              "description": "Folder Cache Definition.",
              "properties": {
                "fingerprint_script": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "items": [
                        {
                          "type": "string"
                        }
                      ],
                      "type": "array"
                    }
                  ],
                  "description": "Script that is used to calculate cache key."
                },
                "folder": {
                  "description": "Path of a folder to cache.",
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "populate_script": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "items": [
                        {
                          "type": "string"
                        }
                      ],
                      "type": "array"
                    }
                  ],
                  "description": "In case of a cache miss this script will be executed."
                },
                "reupload_on_changes": {
                  "description": "Boolean expression. A flag to check if contents of folder has changed after a cache hit.",
                  "type": "string"
                }
              },
              "required": ["folder"],
              "type": "object"
            },
            "^(.*)file$": {
              "properties": {
                "name": {
                  "type": "string"
                },
                "path": {
                  "description": "Destination path.",
                  "type": "string"
                },
                "variable_name": {
                  "description": "Environment variable name.",
                  "type": "string"
                }
              },
              "required": ["path", "variable_name"],
              "type": "object"
            },
            "^(.*)script$": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "items": [
                    {
                      "type": "string"
                    }
                  ],
                  "type": "array"
                }
              ]
            }
          },
          "type": "object"
        },
        "only_if": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "os_version": {
          "description": "Windows version of container.",
          "enum": ["2019", "1709", "1803"]
        },
        "platform": {
          "description": "Container Platform.",
          "enum": ["linux", "windows"]
        },
        "required_pr_labels": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "items": [
                {
                  "type": "string"
                }
              ],
              "type": "array"
            }
          ],
          "description": "List of required labels on a PR."
        },
        "skip": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "skip_notifications": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "stateful": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "timeout_in": {
          "description": "Task timeout in minutes",
          "type": "string"
        },
        "trigger_type": {
          "description": "Trigger type",
          "enum": ["automatic", "manual"]
        },
        "use_compute_credits": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "use_static_ip": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "^(.*)gke_pipe$": {
      "properties": {
        "alias": {
          "type": "string"
        },
        "allow_failures": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "auto_cancellation": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "cluster_name": {
          "description": "GKE cluster name.",
          "type": "string"
        },
        "depends_on": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "items": [
                {
                  "type": "string"
                }
              ],
              "type": "array"
            }
          ],
          "description": "List of task names this task depends on."
        },
        "env": {
          "description": "Map represented as an object.",
          "patternProperties": {
            ".*": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "environment": {
          "description": "Map represented as an object.",
          "patternProperties": {
            ".*": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "execution_lock": {
          "description": "Lock name for triggering and execution",
          "type": "string"
        },
        "experimental": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "gcp_credentials": {
          "pattern": "^ENCRYPTED\\[!?[0-9a-z]*!?\\]$",
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "namespace": {
          "description": "Kubernetes namespace to schedule CI jobs in.",
          "type": "string"
        },
        "only_if": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "required_pr_labels": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "items": [
                {
                  "type": "string"
                }
              ],
              "type": "array"
            }
          ],
          "description": "List of required labels on a PR."
        },
        "resources": {
          "description": "Pipe resources",
          "properties": {
            "cpu": {
              "type": "number"
            },
            "memory": {
              "pattern": "\\d+(G|Mb)?",
              "type": "string"
            }
          },
          "type": "object"
        },
        "skip_notifications": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "stateful": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "steps": {
          "items": [
            {
              "description": "Pipe step",
              "patternProperties": {
                "^(.*)artifacts$": {
                  "properties": {
                    "format": {
                      "description": "Content Format.",
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "path": {
                      "description": "Path or pattern of artifacts.",
                      "type": "string"
                    },
                    "paths": {
                      "items": [
                        {
                          "description": "Path or pattern of artifacts.",
                          "type": "string"
                        }
                      ],
                      "type": "array"
                    },
                    "type": {
                      "description": "Content Type.",
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "^(.*)cache$": {
                  "description": "Folder Cache Definition.",
                  "properties": {
                    "fingerprint_script": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "items": [
                            {
                              "type": "string"
                            }
                          ],
                          "type": "array"
                        }
                      ],
                      "description": "Script that is used to calculate cache key."
                    },
                    "folder": {
                      "description": "Path of a folder to cache.",
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "populate_script": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "items": [
                            {
                              "type": "string"
                            }
                          ],
                          "type": "array"
                        }
                      ],
                      "description": "In case of a cache miss this script will be executed."
                    },
                    "reupload_on_changes": {
                      "description": "Boolean expression. A flag to check if contents of folder has changed after a cache hit.",
                      "type": "string"
                    }
                  },
                  "required": ["folder"],
                  "type": "object"
                },
                "^(.*)file$": {
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "path": {
                      "description": "Destination path.",
                      "type": "string"
                    },
                    "variable_name": {
                      "description": "Environment variable name.",
                      "type": "string"
                    }
                  },
                  "required": ["path", "variable_name"],
                  "type": "object"
                },
                "^(.*)script$": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "items": [
                        {
                          "type": "string"
                        }
                      ],
                      "type": "array"
                    }
                  ]
                }
              },
              "properties": {
                "always": {
                  "description": "ALWAYS commands.",
                  "patternProperties": {
                    "^(.*)artifacts$": {
                      "properties": {
                        "format": {
                          "description": "Content Format.",
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "path": {
                          "description": "Path or pattern of artifacts.",
                          "type": "string"
                        },
                        "paths": {
                          "items": [
                            {
                              "description": "Path or pattern of artifacts.",
                              "type": "string"
                            }
                          ],
                          "type": "array"
                        },
                        "type": {
                          "description": "Content Type.",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "^(.*)background_script$": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "items": [
                            {
                              "type": "string"
                            }
                          ],
                          "type": "array"
                        }
                      ]
                    },
                    "^(.*)cache$": {
                      "description": "Folder Cache Definition.",
                      "properties": {
                        "fingerprint_script": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "items": [
                                {
                                  "type": "string"
                                }
                              ],
                              "type": "array"
                            }
                          ],
                          "description": "Script that is used to calculate cache key."
                        },
                        "folder": {
                          "description": "Path of a folder to cache.",
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "populate_script": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "items": [
                                {
                                  "type": "string"
                                }
                              ],
                              "type": "array"
                            }
                          ],
                          "description": "In case of a cache miss this script will be executed."
                        },
                        "reupload_on_changes": {
                          "description": "Boolean expression. A flag to check if contents of folder has changed after a cache hit.",
                          "type": "string"
                        }
                      },
                      "required": ["folder"],
                      "type": "object"
                    },
                    "^(.*)file$": {
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "path": {
                          "description": "Destination path.",
                          "type": "string"
                        },
                        "variable_name": {
                          "description": "Environment variable name.",
                          "type": "string"
                        }
                      },
                      "required": ["path", "variable_name"],
                      "type": "object"
                    },
                    "^(.*)script$": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "items": [
                            {
                              "type": "string"
                            }
                          ],
                          "type": "array"
                        }
                      ]
                    }
                  },
                  "type": "object"
                },
                "image": {
                  "description": "Docker Image to use.",
                  "type": "string"
                },
                "on_failure": {
                  "description": "ON_FAILURE commands.",
                  "patternProperties": {
                    "^(.*)artifacts$": {
                      "properties": {
                        "format": {
                          "description": "Content Format.",
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "path": {
                          "description": "Path or pattern of artifacts.",
                          "type": "string"
                        },
                        "paths": {
                          "items": [
                            {
                              "description": "Path or pattern of artifacts.",
                              "type": "string"
                            }
                          ],
                          "type": "array"
                        },
                        "type": {
                          "description": "Content Type.",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "^(.*)background_script$": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "items": [
                            {
                              "type": "string"
                            }
                          ],
                          "type": "array"
                        }
                      ]
                    },
                    "^(.*)cache$": {
                      "description": "Folder Cache Definition.",
                      "properties": {
                        "fingerprint_script": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "items": [
                                {
                                  "type": "string"
                                }
                              ],
                              "type": "array"
                            }
                          ],
                          "description": "Script that is used to calculate cache key."
                        },
                        "folder": {
                          "description": "Path of a folder to cache.",
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "populate_script": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "items": [
                                {
                                  "type": "string"
                                }
                              ],
                              "type": "array"
                            }
                          ],
                          "description": "In case of a cache miss this script will be executed."
                        },
                        "reupload_on_changes": {
                          "description": "Boolean expression. A flag to check if contents of folder has changed after a cache hit.",
                          "type": "string"
                        }
                      },
                      "required": ["folder"],
                      "type": "object"
                    },
                    "^(.*)file$": {
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "path": {
                          "description": "Destination path.",
                          "type": "string"
                        },
                        "variable_name": {
                          "description": "Environment variable name.",
                          "type": "string"
                        }
                      },
                      "required": ["path", "variable_name"],
                      "type": "object"
                    },
                    "^(.*)script$": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "items": [
                            {
                              "type": "string"
                            }
                          ],
                          "type": "array"
                        }
                      ]
                    }
                  },
                  "type": "object"
                },
                "on_success": {
                  "description": "ON_SUCCESS commands.",
                  "patternProperties": {
                    "^(.*)artifacts$": {
                      "properties": {
                        "format": {
                          "description": "Content Format.",
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "path": {
                          "description": "Path or pattern of artifacts.",
                          "type": "string"
                        },
                        "paths": {
                          "items": [
                            {
                              "description": "Path or pattern of artifacts.",
                              "type": "string"
                            }
                          ],
                          "type": "array"
                        },
                        "type": {
                          "description": "Content Type.",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "^(.*)background_script$": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "items": [
                            {
                              "type": "string"
                            }
                          ],
                          "type": "array"
                        }
                      ]
                    },
                    "^(.*)cache$": {
                      "description": "Folder Cache Definition.",
                      "properties": {
                        "fingerprint_script": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "items": [
                                {
                                  "type": "string"
                                }
                              ],
                              "type": "array"
                            }
                          ],
                          "description": "Script that is used to calculate cache key."
                        },
                        "folder": {
                          "description": "Path of a folder to cache.",
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "populate_script": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "items": [
                                {
                                  "type": "string"
                                }
                              ],
                              "type": "array"
                            }
                          ],
                          "description": "In case of a cache miss this script will be executed."
                        },
                        "reupload_on_changes": {
                          "description": "Boolean expression. A flag to check if contents of folder has changed after a cache hit.",
                          "type": "string"
                        }
                      },
                      "required": ["folder"],
                      "type": "object"
                    },
                    "^(.*)file$": {
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "path": {
                          "description": "Destination path.",
                          "type": "string"
                        },
                        "variable_name": {
                          "description": "Environment variable name.",
                          "type": "string"
                        }
                      },
                      "required": ["path", "variable_name"],
                      "type": "object"
                    },
                    "^(.*)script$": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "items": [
                            {
                              "type": "string"
                            }
                          ],
                          "type": "array"
                        }
                      ]
                    }
                  },
                  "type": "object"
                }
              },
              "required": ["image"],
              "type": "object"
            }
          ],
          "type": "array"
        },
        "timeout_in": {
          "description": "Task timeout in minutes",
          "type": "string"
        },
        "trigger_type": {
          "description": "Trigger type",
          "enum": ["automatic", "manual"]
        },
        "use_compute_credits": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "zone": {
          "description": "Google Cloud zone of the cluster.",
          "enum": [
            "us-west1-b",
            "us-west2-a",
            "us-west1-c",
            "us-west2-b",
            "us-west2-c",
            "europe-west1-d",
            "europe-west2-c",
            "europe-west3-b",
            "europe-west4-a",
            "europe-west3-c",
            "europe-west4-b",
            "europe-west1-b",
            "europe-west2-a",
            "europe-west1-c",
            "europe-west2-b",
            "europe-west3-a",
            "us-west1-a",
            "us-central1-a",
            "europe-west4-c",
            "us-central1-f",
            "us-central1-b",
            "us-central1-c",
            "us-east1-b",
            "us-east1-c",
            "us-east1-d",
            "us-east4-a",
            "us-east4-b",
            "us-east4-c"
          ]
        }
      },
      "type": "object"
    },
    "^(.*)pipe$": {
      "properties": {
        "alias": {
          "type": "string"
        },
        "allow_failures": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "auto_cancellation": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "depends_on": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "items": [
                {
                  "type": "string"
                }
              ],
              "type": "array"
            }
          ],
          "description": "List of task names this task depends on."
        },
        "env": {
          "description": "Map represented as an object.",
          "patternProperties": {
            ".*": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "environment": {
          "description": "Map represented as an object.",
          "patternProperties": {
            ".*": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "execution_lock": {
          "description": "Lock name for triggering and execution",
          "type": "string"
        },
        "experimental": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "only_if": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "required_pr_labels": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "items": [
                {
                  "type": "string"
                }
              ],
              "type": "array"
            }
          ],
          "description": "List of required labels on a PR."
        },
        "resources": {
          "description": "Pipe resources",
          "properties": {
            "cpu": {
              "type": "number"
            },
            "memory": {
              "pattern": "\\d+(G|Mb)?",
              "type": "string"
            }
          },
          "type": "object"
        },
        "skip": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "skip_notifications": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "stateful": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "steps": {
          "items": [
            {
              "description": "Pipe step",
              "patternProperties": {
                "^(.*)artifacts$": {
                  "properties": {
                    "format": {
                      "description": "Content Format.",
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "path": {
                      "description": "Path or pattern of artifacts.",
                      "type": "string"
                    },
                    "paths": {
                      "items": [
                        {
                          "description": "Path or pattern of artifacts.",
                          "type": "string"
                        }
                      ],
                      "type": "array"
                    },
                    "type": {
                      "description": "Content Type.",
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "^(.*)cache$": {
                  "description": "Folder Cache Definition.",
                  "properties": {
                    "fingerprint_script": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "items": [
                            {
                              "type": "string"
                            }
                          ],
                          "type": "array"
                        }
                      ],
                      "description": "Script that is used to calculate cache key."
                    },
                    "folder": {
                      "description": "Path of a folder to cache.",
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "populate_script": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "items": [
                            {
                              "type": "string"
                            }
                          ],
                          "type": "array"
                        }
                      ],
                      "description": "In case of a cache miss this script will be executed."
                    },
                    "reupload_on_changes": {
                      "description": "Boolean expression. A flag to check if contents of folder has changed after a cache hit.",
                      "type": "string"
                    }
                  },
                  "required": ["folder"],
                  "type": "object"
                },
                "^(.*)file$": {
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "path": {
                      "description": "Destination path.",
                      "type": "string"
                    },
                    "variable_name": {
                      "description": "Environment variable name.",
                      "type": "string"
                    }
                  },
                  "required": ["path", "variable_name"],
                  "type": "object"
                },
                "^(.*)script$": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "items": [
                        {
                          "type": "string"
                        }
                      ],
                      "type": "array"
                    }
                  ]
                }
              },
              "properties": {
                "always": {
                  "description": "ALWAYS commands.",
                  "patternProperties": {
                    "^(.*)artifacts$": {
                      "properties": {
                        "format": {
                          "description": "Content Format.",
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "path": {
                          "description": "Path or pattern of artifacts.",
                          "type": "string"
                        },
                        "paths": {
                          "items": [
                            {
                              "description": "Path or pattern of artifacts.",
                              "type": "string"
                            }
                          ],
                          "type": "array"
                        },
                        "type": {
                          "description": "Content Type.",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "^(.*)background_script$": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "items": [
                            {
                              "type": "string"
                            }
                          ],
                          "type": "array"
                        }
                      ]
                    },
                    "^(.*)cache$": {
                      "description": "Folder Cache Definition.",
                      "properties": {
                        "fingerprint_script": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "items": [
                                {
                                  "type": "string"
                                }
                              ],
                              "type": "array"
                            }
                          ],
                          "description": "Script that is used to calculate cache key."
                        },
                        "folder": {
                          "description": "Path of a folder to cache.",
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "populate_script": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "items": [
                                {
                                  "type": "string"
                                }
                              ],
                              "type": "array"
                            }
                          ],
                          "description": "In case of a cache miss this script will be executed."
                        },
                        "reupload_on_changes": {
                          "description": "Boolean expression. A flag to check if contents of folder has changed after a cache hit.",
                          "type": "string"
                        }
                      },
                      "required": ["folder"],
                      "type": "object"
                    },
                    "^(.*)file$": {
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "path": {
                          "description": "Destination path.",
                          "type": "string"
                        },
                        "variable_name": {
                          "description": "Environment variable name.",
                          "type": "string"
                        }
                      },
                      "required": ["path", "variable_name"],
                      "type": "object"
                    },
                    "^(.*)script$": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "items": [
                            {
                              "type": "string"
                            }
                          ],
                          "type": "array"
                        }
                      ]
                    }
                  },
                  "type": "object"
                },
                "image": {
                  "description": "Docker Image to use.",
                  "type": "string"
                },
                "on_failure": {
                  "description": "ON_FAILURE commands.",
                  "patternProperties": {
                    "^(.*)artifacts$": {
                      "properties": {
                        "format": {
                          "description": "Content Format.",
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "path": {
                          "description": "Path or pattern of artifacts.",
                          "type": "string"
                        },
                        "paths": {
                          "items": [
                            {
                              "description": "Path or pattern of artifacts.",
                              "type": "string"
                            }
                          ],
                          "type": "array"
                        },
                        "type": {
                          "description": "Content Type.",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "^(.*)background_script$": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "items": [
                            {
                              "type": "string"
                            }
                          ],
                          "type": "array"
                        }
                      ]
                    },
                    "^(.*)cache$": {
                      "description": "Folder Cache Definition.",
                      "properties": {
                        "fingerprint_script": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "items": [
                                {
                                  "type": "string"
                                }
                              ],
                              "type": "array"
                            }
                          ],
                          "description": "Script that is used to calculate cache key."
                        },
                        "folder": {
                          "description": "Path of a folder to cache.",
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "populate_script": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "items": [
                                {
                                  "type": "string"
                                }
                              ],
                              "type": "array"
                            }
                          ],
                          "description": "In case of a cache miss this script will be executed."
                        },
                        "reupload_on_changes": {
                          "description": "Boolean expression. A flag to check if contents of folder has changed after a cache hit.",
                          "type": "string"
                        }
                      },
                      "required": ["folder"],
                      "type": "object"
                    },
                    "^(.*)file$": {
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "path": {
                          "description": "Destination path.",
                          "type": "string"
                        },
                        "variable_name": {
                          "description": "Environment variable name.",
                          "type": "string"
                        }
                      },
                      "required": ["path", "variable_name"],
                      "type": "object"
                    },
                    "^(.*)script$": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "items": [
                            {
                              "type": "string"
                            }
                          ],
                          "type": "array"
                        }
                      ]
                    }
                  },
                  "type": "object"
                },
                "on_success": {
                  "description": "ON_SUCCESS commands.",
                  "patternProperties": {
                    "^(.*)artifacts$": {
                      "properties": {
                        "format": {
                          "description": "Content Format.",
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "path": {
                          "description": "Path or pattern of artifacts.",
                          "type": "string"
                        },
                        "paths": {
                          "items": [
                            {
                              "description": "Path or pattern of artifacts.",
                              "type": "string"
                            }
                          ],
                          "type": "array"
                        },
                        "type": {
                          "description": "Content Type.",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "^(.*)background_script$": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "items": [
                            {
                              "type": "string"
                            }
                          ],
                          "type": "array"
                        }
                      ]
                    },
                    "^(.*)cache$": {
                      "description": "Folder Cache Definition.",
                      "properties": {
                        "fingerprint_script": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "items": [
                                {
                                  "type": "string"
                                }
                              ],
                              "type": "array"
                            }
                          ],
                          "description": "Script that is used to calculate cache key."
                        },
                        "folder": {
                          "description": "Path of a folder to cache.",
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "populate_script": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "items": [
                                {
                                  "type": "string"
                                }
                              ],
                              "type": "array"
                            }
                          ],
                          "description": "In case of a cache miss this script will be executed."
                        },
                        "reupload_on_changes": {
                          "description": "Boolean expression. A flag to check if contents of folder has changed after a cache hit.",
                          "type": "string"
                        }
                      },
                      "required": ["folder"],
                      "type": "object"
                    },
                    "^(.*)file$": {
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "path": {
                          "description": "Destination path.",
                          "type": "string"
                        },
                        "variable_name": {
                          "description": "Environment variable name.",
                          "type": "string"
                        }
                      },
                      "required": ["path", "variable_name"],
                      "type": "object"
                    },
                    "^(.*)script$": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "items": [
                            {
                              "type": "string"
                            }
                          ],
                          "type": "array"
                        }
                      ]
                    }
                  },
                  "type": "object"
                }
              },
              "required": ["image"],
              "type": "object"
            }
          ],
          "type": "array"
        },
        "timeout_in": {
          "description": "Task timeout in minutes",
          "type": "string"
        },
        "trigger_type": {
          "description": "Trigger type",
          "enum": ["automatic", "manual"]
        },
        "use_compute_credits": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "^(.*)task$": {
      "description": "Cirrus CI task definition.",
      "patternProperties": {
        "^(.*)artifacts$": {
          "properties": {
            "format": {
              "description": "Content Format.",
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "path": {
              "description": "Path or pattern of artifacts.",
              "type": "string"
            },
            "paths": {
              "items": [
                {
                  "description": "Path or pattern of artifacts.",
                  "type": "string"
                }
              ],
              "type": "array"
            },
            "type": {
              "description": "Content Type.",
              "type": "string"
            }
          },
          "type": "object"
        },
        "^(.*)background_script$": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "items": [
                {
                  "type": "string"
                }
              ],
              "type": "array"
            }
          ]
        },
        "^(.*)cache$": {
          "description": "Folder Cache Definition.",
          "properties": {
            "fingerprint_script": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "items": [
                    {
                      "type": "string"
                    }
                  ],
                  "type": "array"
                }
              ],
              "description": "Script that is used to calculate cache key."
            },
            "folder": {
              "description": "Path of a folder to cache.",
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "populate_script": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "items": [
                    {
                      "type": "string"
                    }
                  ],
                  "type": "array"
                }
              ],
              "description": "In case of a cache miss this script will be executed."
            },
            "reupload_on_changes": {
              "description": "Boolean expression. A flag to check if contents of folder has changed after a cache hit.",
              "type": "string"
            }
          },
          "required": ["folder"],
          "type": "object"
        },
        "^(.*)file$": {
          "properties": {
            "name": {
              "type": "string"
            },
            "path": {
              "description": "Destination path.",
              "type": "string"
            },
            "variable_name": {
              "description": "Environment variable name.",
              "type": "string"
            }
          },
          "required": ["path", "variable_name"],
          "type": "object"
        },
        "^(.*)script$": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "items": [
                {
                  "type": "string"
                }
              ],
              "type": "array"
            }
          ]
        }
      },
      "properties": {
        "alias": {
          "type": "string"
        },
        "allow_failures": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "always": {
          "description": "ALWAYS commands.",
          "patternProperties": {
            "^(.*)artifacts$": {
              "properties": {
                "format": {
                  "description": "Content Format.",
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "path": {
                  "description": "Path or pattern of artifacts.",
                  "type": "string"
                },
                "paths": {
                  "items": [
                    {
                      "description": "Path or pattern of artifacts.",
                      "type": "string"
                    }
                  ],
                  "type": "array"
                },
                "type": {
                  "description": "Content Type.",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "^(.*)background_script$": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "items": [
                    {
                      "type": "string"
                    }
                  ],
                  "type": "array"
                }
              ]
            },
            "^(.*)cache$": {
              "description": "Folder Cache Definition.",
              "properties": {
                "fingerprint_script": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "items": [
                        {
                          "type": "string"
                        }
                      ],
                      "type": "array"
                    }
                  ],
                  "description": "Script that is used to calculate cache key."
                },
                "folder": {
                  "description": "Path of a folder to cache.",
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "populate_script": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "items": [
                        {
                          "type": "string"
                        }
                      ],
                      "type": "array"
                    }
                  ],
                  "description": "In case of a cache miss this script will be executed."
                },
                "reupload_on_changes": {
                  "description": "Boolean expression. A flag to check if contents of folder has changed after a cache hit.",
                  "type": "string"
                }
              },
              "required": ["folder"],
              "type": "object"
            },
            "^(.*)file$": {
              "properties": {
                "name": {
                  "type": "string"
                },
                "path": {
                  "description": "Destination path.",
                  "type": "string"
                },
                "variable_name": {
                  "description": "Environment variable name.",
                  "type": "string"
                }
              },
              "required": ["path", "variable_name"],
              "type": "object"
            },
            "^(.*)script$": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "items": [
                    {
                      "type": "string"
                    }
                  ],
                  "type": "array"
                }
              ]
            }
          },
          "type": "object"
        },
        "auto_cancellation": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "aws_credentials": {
          "pattern": "^ENCRYPTED\\[!?[0-9a-z]*!?\\]$",
          "type": "string"
        },
        "azure_container_instance": {
          "description": "Azure Container Instance definition.",
          "properties": {
            "cpu": {
              "type": "number"
            },
            "image": {
              "description": "Docker Image.",
              "type": "string"
            },
            "memory": {
              "pattern": "\\d+(G|Mb)?",
              "type": "string"
            },
            "platform": {
              "description": "Container Platform.",
              "enum": ["linux", "windows"]
            },
            "region": {
              "description": "Azure zone.",
              "enum": ["westus", "eastus"]
            },
            "resource_group": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "azure_credentials": {
          "pattern": "^ENCRYPTED\\[!?[0-9a-z]*!?\\]$",
          "type": "string"
        },
        "compute_engine_instance": {
          "description": "Compute Engine instance definition.",
          "properties": {
            "cpu": {
              "type": "number"
            },
            "disk": {
              "type": "number"
            },
            "image": {
              "description": "Image name or family.",
              "type": "string"
            },
            "image_project": {
              "description": "Google Cloud project of an image.",
              "type": "string"
            },
            "memory": {
              "pattern": "\\d+(G|Mb)?",
              "type": "string"
            },
            "nested_virtualization": {
              "type": "boolean"
            },
            "platform": {
              "description": "VM platform.",
              "enum": ["freebsd", "linux", "windows", "solaris"]
            }
          },
          "type": "object"
        },
        "container": {
          "description": "Container definition for Community Cluster.",
          "properties": {
            "additional_containers": {
              "items": [
                {
                  "description": "Additional Container definition.",
                  "properties": {
                    "command": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "items": [
                            {
                              "type": "string"
                            }
                          ],
                          "type": "array"
                        }
                      ],
                      "description": "Container CMD to override."
                    },
                    "cpu": {
                      "type": "number"
                    },
                    "env": {
                      "description": "Map represented as an object.",
                      "patternProperties": {
                        ".*": {
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "environment": {
                      "description": "Map represented as an object.",
                      "patternProperties": {
                        ".*": {
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "image": {
                      "description": "Docker Image.",
                      "type": "string"
                    },
                    "memory": {
                      "pattern": "\\d+(G|Mb)?",
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "port": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string"
                        }
                      ],
                      "description": "Port exposed by the container."
                    },
                    "privileged": {
                      "description": "Boolean expression that can use environment variables.",
                      "type": "string"
                    },
                    "readiness_command": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "items": [
                            {
                              "type": "string"
                            }
                          ],
                          "type": "array"
                        }
                      ],
                      "description": "Container readiness probe command."
                    }
                  },
                  "required": ["image", "port"],
                  "type": "object"
                }
              ],
              "type": "array"
            },
            "cpu": {
              "type": "number"
            },
            "docker_arguments": {
              "description": "Arguments for Docker build",
              "patternProperties": {
                ".*": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "dockerfile": {
              "description": "Relative path to Dockerfile to build container from.",
              "type": "string"
            },
            "image": {
              "description": "Docker Image to use.",
              "type": "string"
            },
            "kvm": {
              "description": "Boolean expression that can use environment variables.",
              "type": "string"
            },
            "memory": {
              "pattern": "\\d+(G|Mb)?",
              "type": "string"
            },
            "registry_config": {
              "type": "string"
            },
            "use_in_memory_disk": {
              "description": "Boolean expression that can use environment variables.",
              "type": "string"
            },
            "use_static_ip": {
              "description": "Boolean expression that can use environment variables.",
              "type": "string"
            }
          },
          "type": "object"
        },
        "depends_on": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "items": [
                {
                  "type": "string"
                }
              ],
              "type": "array"
            }
          ],
          "description": "List of task names this task depends on."
        },
        "ec2_instance": {
          "description": "AWS EC2 definition.",
          "properties": {
            "image": {
              "description": "AMI Image.",
              "type": "string"
            },
            "platform": {
              "description": "Image Platform.",
              "enum": ["freebsd", "linux", "windows", "solaris"]
            },
            "region": {
              "description": "AWS region.",
              "enum": [
                "eu-north-1",
                "eu-west-3",
                "eu-west-2",
                "eu-west-1",
                "eu-central-1",
                "us-east-1",
                "us-east-2",
                "us-west-1",
                "us-west-2"
              ]
            },
            "type": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "eks_container": {
          "description": "EKS Container definition.",
          "properties": {
            "additional_containers": {
              "items": [
                {
                  "description": "Additional Container definition.",
                  "properties": {
                    "command": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "items": [
                            {
                              "type": "string"
                            }
                          ],
                          "type": "array"
                        }
                      ],
                      "description": "Container CMD to override."
                    },
                    "cpu": {
                      "type": "number"
                    },
                    "env": {
                      "description": "Map represented as an object.",
                      "patternProperties": {
                        ".*": {
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "environment": {
                      "description": "Map represented as an object.",
                      "patternProperties": {
                        ".*": {
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "image": {
                      "description": "Docker Image.",
                      "type": "string"
                    },
                    "memory": {
                      "pattern": "\\d+(G|Mb)?",
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "port": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string"
                        }
                      ],
                      "description": "Port exposed by the container."
                    },
                    "privileged": {
                      "description": "Boolean expression that can use environment variables.",
                      "type": "string"
                    },
                    "readiness_command": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "items": [
                            {
                              "type": "string"
                            }
                          ],
                          "type": "array"
                        }
                      ],
                      "description": "Container readiness probe command."
                    }
                  },
                  "required": ["image", "port"],
                  "type": "object"
                }
              ],
              "type": "array"
            },
            "cluster_name": {
              "description": "EKS cluster name.",
              "type": "string"
            },
            "cpu": {
              "type": "number"
            },
            "image": {
              "description": "Docker Image.",
              "type": "string"
            },
            "memory": {
              "pattern": "\\d+(G|Mb)?",
              "type": "string"
            },
            "namespace": {
              "description": "Kubernetes namespace to schedule CI jobs in.",
              "type": "string"
            },
            "privileged": {
              "type": "boolean"
            },
            "region": {
              "description": "AWS region.",
              "enum": [
                "eu-north-1",
                "eu-west-3",
                "eu-west-2",
                "eu-west-1",
                "eu-central-1",
                "us-east-1",
                "us-east-2",
                "us-west-1",
                "us-west-2"
              ]
            },
            "registry_config": {
              "type": "string"
            },
            "use_in_memory_disk": {
              "type": "boolean"
            }
          },
          "type": "object"
        },
        "env": {
          "description": "Map represented as an object.",
          "patternProperties": {
            ".*": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "environment": {
          "description": "Map represented as an object.",
          "patternProperties": {
            ".*": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "execution_lock": {
          "description": "Lock name for triggering and execution",
          "type": "string"
        },
        "experimental": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "freebsd_instance": {
          "description": "macOS Virtual Machine definition for Community Cluster.",
          "properties": {
            "cpu": {
              "type": "number"
            },
            "image": {
              "description": "FreeBSD VM image.",
              "type": "string"
            },
            "image_family": {
              "description": "Image family.",
              "type": "string"
            },
            "memory": {
              "pattern": "\\d+(G|Mb)?",
              "type": "string"
            },
            "use_static_ip": {
              "description": "Boolean expression that can use environment variables.",
              "type": "string"
            }
          },
          "type": "object"
        },
        "gce_container": {
          "description": "Google Compute Engine Virtual Machine definition.",
          "properties": {
            "additional_containers": {
              "items": [
                {
                  "description": "Additional Container definition.",
                  "properties": {
                    "command": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "items": [
                            {
                              "type": "string"
                            }
                          ],
                          "type": "array"
                        }
                      ],
                      "description": "Container CMD to override."
                    },
                    "cpu": {
                      "type": "number"
                    },
                    "env": {
                      "description": "Map represented as an object.",
                      "patternProperties": {
                        ".*": {
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "environment": {
                      "description": "Map represented as an object.",
                      "patternProperties": {
                        ".*": {
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "image": {
                      "description": "Docker Image.",
                      "type": "string"
                    },
                    "memory": {
                      "pattern": "\\d+(G|Mb)?",
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "port": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string"
                        }
                      ],
                      "description": "Port exposed by the container."
                    },
                    "privileged": {
                      "description": "Boolean expression that can use environment variables.",
                      "type": "string"
                    },
                    "readiness_command": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "items": [
                            {
                              "type": "string"
                            }
                          ],
                          "type": "array"
                        }
                      ],
                      "description": "Container readiness probe command."
                    }
                  },
                  "required": ["image", "port"],
                  "type": "object"
                }
              ],
              "type": "array"
            },
            "container": {
              "description": "Container image.",
              "type": "string"
            },
            "cpu": {
              "type": "number"
            },
            "disk": {
              "type": "number"
            },
            "enable_nested_virtualization": {
              "description": "Boolean expression that can use environment variables.",
              "type": "string"
            },
            "image_family": {
              "description": "Image family.",
              "type": "string"
            },
            "image_name": {
              "description": "Image name.",
              "type": "string"
            },
            "image_project": {
              "description": "Google Cloud project of an image.",
              "type": "string"
            },
            "memory": {
              "pattern": "\\d+(G|Mb)?",
              "type": "string"
            },
            "preemptible": {
              "description": "Boolean expression that can use environment variables.",
              "type": "string"
            },
            "scopes": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "items": [
                    {
                      "type": "string"
                    }
                  ],
                  "type": "array"
                }
              ],
              "description": "Google Cloud Scopes of the VM."
            },
            "use_ssd": {
              "description": "Boolean expression that can use environment variables.",
              "type": "string"
            },
            "zone": {
              "description": "Google Cloud zone where to start a VM.",
              "enum": [
                "us-west1-b",
                "us-west2-a",
                "us-west1-c",
                "us-west2-b",
                "us-west2-c",
                "europe-west1-d",
                "europe-west2-c",
                "europe-west3-b",
                "europe-west4-a",
                "europe-west3-c",
                "europe-west4-b",
                "europe-west1-b",
                "europe-west2-a",
                "europe-west1-c",
                "europe-west2-b",
                "europe-west3-a",
                "us-west1-a",
                "us-central1-a",
                "europe-west4-c",
                "us-central1-f",
                "us-central1-b",
                "us-central1-c",
                "us-east1-b",
                "us-east1-c",
                "us-east1-d",
                "us-east4-a",
                "us-east4-b",
                "us-east4-c"
              ]
            }
          },
          "type": "object"
        },
        "gce_instance": {
          "description": "Google Compute Engine Virtual Machine definition.",
          "properties": {
            "cpu": {
              "type": "number"
            },
            "disk": {
              "type": "number"
            },
            "enable_nested_virtualization": {
              "description": "Boolean expression that can use environment variables.",
              "type": "string"
            },
            "image_family": {
              "description": "Image family.",
              "type": "string"
            },
            "image_name": {
              "description": "Image name.",
              "type": "string"
            },
            "image_project": {
              "description": "Google Cloud project of an image.",
              "type": "string"
            },
            "memory": {
              "pattern": "\\d+(G|Mb)?",
              "type": "string"
            },
            "platform": {
              "description": "VM platform.",
              "enum": ["freebsd", "linux", "windows", "solaris"]
            },
            "preemptible": {
              "description": "Boolean expression that can use environment variables.",
              "type": "string"
            },
            "scopes": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "items": [
                    {
                      "type": "string"
                    }
                  ],
                  "type": "array"
                }
              ],
              "description": "Google Cloud Scopes of the VM."
            },
            "type": {
              "description": "Machine Type.",
              "type": "string"
            },
            "use_ssd": {
              "description": "Boolean expression that can use environment variables.",
              "type": "string"
            },
            "zone": {
              "description": "Google Cloud zone where to start a VM.",
              "enum": [
                "us-west1-b",
                "us-west2-a",
                "us-west1-c",
                "us-west2-b",
                "us-west2-c",
                "europe-west1-d",
                "europe-west2-c",
                "europe-west3-b",
                "europe-west4-a",
                "europe-west3-c",
                "europe-west4-b",
                "europe-west1-b",
                "europe-west2-a",
                "europe-west1-c",
                "europe-west2-b",
                "europe-west3-a",
                "us-west1-a",
                "us-central1-a",
                "europe-west4-c",
                "us-central1-f",
                "us-central1-b",
                "us-central1-c",
                "us-east1-b",
                "us-east1-c",
                "us-east1-d",
                "us-east4-a",
                "us-east4-b",
                "us-east4-c"
              ]
            }
          },
          "type": "object"
        },
        "gcp_credentials": {
          "pattern": "^ENCRYPTED\\[!?[0-9a-z]*!?\\]$",
          "type": "string"
        },
        "gke_container": {
          "description": "Google Kubernetes Engine Container definition.",
          "properties": {
            "additional_containers": {
              "items": [
                {
                  "description": "Additional Container definition.",
                  "properties": {
                    "command": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "items": [
                            {
                              "type": "string"
                            }
                          ],
                          "type": "array"
                        }
                      ],
                      "description": "Container CMD to override."
                    },
                    "cpu": {
                      "type": "number"
                    },
                    "env": {
                      "description": "Map represented as an object.",
                      "patternProperties": {
                        ".*": {
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "environment": {
                      "description": "Map represented as an object.",
                      "patternProperties": {
                        ".*": {
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "image": {
                      "description": "Docker Image.",
                      "type": "string"
                    },
                    "memory": {
                      "pattern": "\\d+(G|Mb)?",
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "port": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string"
                        }
                      ],
                      "description": "Port exposed by the container."
                    },
                    "privileged": {
                      "description": "Boolean expression that can use environment variables.",
                      "type": "string"
                    },
                    "readiness_command": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "items": [
                            {
                              "type": "string"
                            }
                          ],
                          "type": "array"
                        }
                      ],
                      "description": "Container readiness probe command."
                    }
                  },
                  "required": ["image", "port"],
                  "type": "object"
                }
              ],
              "type": "array"
            },
            "builder_image_name": {
              "description": "Image name.",
              "type": "string"
            },
            "builder_image_project": {
              "description": "Google Cloud project of an image used to build Docker container from Dockerfile.",
              "type": "string"
            },
            "cluster_name": {
              "description": "GKE cluster name.",
              "type": "string"
            },
            "cpu": {
              "type": "number"
            },
            "docker_arguments": {
              "description": "Arguments for Docker build",
              "patternProperties": {
                ".*": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "dockerfile": {
              "description": "Relative path to Dockerfile.",
              "type": "string"
            },
            "image": {
              "description": "Docker Image.",
              "type": "string"
            },
            "memory": {
              "pattern": "\\d+(G|Mb)?",
              "type": "string"
            },
            "namespace": {
              "description": "Kubernetes namespace to schedule CI jobs in.",
              "type": "string"
            },
            "platform": {
              "description": "Container Platform.",
              "enum": ["linux", "windows"]
            },
            "privileged": {
              "type": "boolean"
            },
            "registry_config": {
              "type": "string"
            },
            "use_in_memory_disk": {
              "type": "boolean"
            },
            "zone": {
              "description": "Google Cloud zone of the cluster.",
              "enum": [
                "us-west1-b",
                "us-west2-a",
                "us-west1-c",
                "us-west2-b",
                "us-west2-c",
                "europe-west1-d",
                "europe-west2-c",
                "europe-west3-b",
                "europe-west4-a",
                "europe-west3-c",
                "europe-west4-b",
                "europe-west1-b",
                "europe-west2-a",
                "europe-west1-c",
                "europe-west2-b",
                "europe-west3-a",
                "us-west1-a",
                "us-central1-a",
                "europe-west4-c",
                "us-central1-f",
                "us-central1-b",
                "us-central1-c",
                "us-east1-b",
                "us-east1-c",
                "us-east1-d",
                "us-east4-a",
                "us-east4-b",
                "us-east4-c"
              ]
            }
          },
          "type": "object"
        },
        "macos_instance": {
          "description": "macOS Virtual Machine definition for Community Cluster.",
          "properties": {
            "image": {
              "description": "macOS VM image.",
              "type": "string"
            }
          },
          "type": "object"
        },
        "name": {
          "type": "string"
        },
        "on_failure": {
          "description": "ON_FAILURE commands.",
          "patternProperties": {
            "^(.*)artifacts$": {
              "properties": {
                "format": {
                  "description": "Content Format.",
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "path": {
                  "description": "Path or pattern of artifacts.",
                  "type": "string"
                },
                "paths": {
                  "items": [
                    {
                      "description": "Path or pattern of artifacts.",
                      "type": "string"
                    }
                  ],
                  "type": "array"
                },
                "type": {
                  "description": "Content Type.",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "^(.*)background_script$": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "items": [
                    {
                      "type": "string"
                    }
                  ],
                  "type": "array"
                }
              ]
            },
            "^(.*)cache$": {
              "description": "Folder Cache Definition.",
              "properties": {
                "fingerprint_script": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "items": [
                        {
                          "type": "string"
                        }
                      ],
                      "type": "array"
                    }
                  ],
                  "description": "Script that is used to calculate cache key."
                },
                "folder": {
                  "description": "Path of a folder to cache.",
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "populate_script": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "items": [
                        {
                          "type": "string"
                        }
                      ],
                      "type": "array"
                    }
                  ],
                  "description": "In case of a cache miss this script will be executed."
                },
                "reupload_on_changes": {
                  "description": "Boolean expression. A flag to check if contents of folder has changed after a cache hit.",
                  "type": "string"
                }
              },
              "required": ["folder"],
              "type": "object"
            },
            "^(.*)file$": {
              "properties": {
                "name": {
                  "type": "string"
                },
                "path": {
                  "description": "Destination path.",
                  "type": "string"
                },
                "variable_name": {
                  "description": "Environment variable name.",
                  "type": "string"
                }
              },
              "required": ["path", "variable_name"],
              "type": "object"
            },
            "^(.*)script$": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "items": [
                    {
                      "type": "string"
                    }
                  ],
                  "type": "array"
                }
              ]
            }
          },
          "type": "object"
        },
        "on_success": {
          "description": "ON_SUCCESS commands.",
          "patternProperties": {
            "^(.*)artifacts$": {
              "properties": {
                "format": {
                  "description": "Content Format.",
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "path": {
                  "description": "Path or pattern of artifacts.",
                  "type": "string"
                },
                "paths": {
                  "items": [
                    {
                      "description": "Path or pattern of artifacts.",
                      "type": "string"
                    }
                  ],
                  "type": "array"
                },
                "type": {
                  "description": "Content Type.",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "^(.*)background_script$": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "items": [
                    {
                      "type": "string"
                    }
                  ],
                  "type": "array"
                }
              ]
            },
            "^(.*)cache$": {
              "description": "Folder Cache Definition.",
              "properties": {
                "fingerprint_script": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "items": [
                        {
                          "type": "string"
                        }
                      ],
                      "type": "array"
                    }
                  ],
                  "description": "Script that is used to calculate cache key."
                },
                "folder": {
                  "description": "Path of a folder to cache.",
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "populate_script": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "items": [
                        {
                          "type": "string"
                        }
                      ],
                      "type": "array"
                    }
                  ],
                  "description": "In case of a cache miss this script will be executed."
                },
                "reupload_on_changes": {
                  "description": "Boolean expression. A flag to check if contents of folder has changed after a cache hit.",
                  "type": "string"
                }
              },
              "required": ["folder"],
              "type": "object"
            },
            "^(.*)file$": {
              "properties": {
                "name": {
                  "type": "string"
                },
                "path": {
                  "description": "Destination path.",
                  "type": "string"
                },
                "variable_name": {
                  "description": "Environment variable name.",
                  "type": "string"
                }
              },
              "required": ["path", "variable_name"],
              "type": "object"
            },
            "^(.*)script$": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "items": [
                    {
                      "type": "string"
                    }
                  ],
                  "type": "array"
                }
              ]
            }
          },
          "type": "object"
        },
        "only_if": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "osx_instance": {
          "description": "macOS Virtual Machine definition for Community Cluster.",
          "properties": {
            "image": {
              "description": "macOS VM image.",
              "type": "string"
            }
          },
          "type": "object"
        },
        "persistent_worker": {
          "description": "Persistent Worker definition.",
          "properties": {
            "isolation": {
              "description": "Persistent Worker isolation.",
              "properties": {
                "parallels": {
                  "description": "Parallels VM isolation.",
                  "properties": {
                    "image": {
                      "description": "Image name.",
                      "type": "string"
                    },
                    "password": {
                      "description": "SSH password",
                      "type": "string"
                    },
                    "platform": {
                      "description": "Image Platform.",
                      "enum": ["darwin", "linux", "windows"]
                    },
                    "user": {
                      "description": "SSH username",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            },
            "labels": {
              "description": "Labels for selection.",
              "type": "string"
            }
          },
          "type": "object"
        },
        "required_pr_labels": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "items": [
                {
                  "type": "string"
                }
              ],
              "type": "array"
            }
          ],
          "description": "List of required labels on a PR."
        },
        "skip": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "skip_notifications": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "stateful": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "timeout_in": {
          "description": "Task timeout in minutes",
          "type": "string"
        },
        "trigger_type": {
          "description": "Trigger type",
          "enum": ["automatic", "manual"]
        },
        "use_compute_credits": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "windows_container": {
          "description": "Windows Container definition for Community Cluster.",
          "properties": {
            "cpu": {
              "type": "number"
            },
            "docker_arguments": {
              "description": "Arguments for Docker build",
              "patternProperties": {
                ".*": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "dockerfile": {
              "description": "Relative path to Dockerfile to build container from.",
              "type": "string"
            },
            "image": {
              "description": "Docker Image to use.",
              "type": "string"
            },
            "memory": {
              "pattern": "\\d+(G|Mb)?",
              "type": "string"
            },
            "os_version": {
              "description": "Windows version of container.",
              "enum": ["2019", "1709", "1803"]
            },
            "use_static_ip": {
              "description": "Boolean expression that can use environment variables.",
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    }
  },
  "properties": {
    "allow_failures": {
      "description": "Boolean expression that can use environment variables.",
      "type": "string"
    },
    "auto_cancellation": {
      "description": "Boolean expression that can use environment variables.",
      "type": "string"
    },
    "aws_credentials": {
      "pattern": "^ENCRYPTED\\[!?[0-9a-z]*!?\\]$",
      "type": "string"
    },
    "azure_container_instance": {
      "description": "Azure Container Instance definition.",
      "properties": {
        "cpu": {
          "type": "number"
        },
        "image": {
          "description": "Docker Image.",
          "type": "string"
        },
        "memory": {
          "pattern": "\\d+(G|Mb)?",
          "type": "string"
        },
        "platform": {
          "description": "Container Platform.",
          "enum": ["linux", "windows"]
        },
        "region": {
          "description": "Azure zone.",
          "enum": ["westus", "eastus"]
        },
        "resource_group": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "azure_credentials": {
      "pattern": "^ENCRYPTED\\[!?[0-9a-z]*!?\\]$",
      "type": "string"
    },
    "compute_engine_instance": {
      "description": "Compute Engine instance definition.",
      "properties": {
        "cpu": {
          "type": "number"
        },
        "disk": {
          "type": "number"
        },
        "image": {
          "description": "Image name or family.",
          "type": "string"
        },
        "image_project": {
          "description": "Google Cloud project of an image.",
          "type": "string"
        },
        "memory": {
          "pattern": "\\d+(G|Mb)?",
          "type": "string"
        },
        "nested_virtualization": {
          "type": "boolean"
        },
        "platform": {
          "description": "VM platform.",
          "enum": ["freebsd", "linux", "windows", "solaris"]
        }
      },
      "type": "object"
    },
    "container": {
      "description": "Container definition for Community Cluster.",
      "properties": {
        "additional_containers": {
          "items": [
            {
              "description": "Additional Container definition.",
              "properties": {
                "command": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "items": [
                        {
                          "type": "string"
                        }
                      ],
                      "type": "array"
                    }
                  ],
                  "description": "Container CMD to override."
                },
                "cpu": {
                  "type": "number"
                },
                "env": {
                  "description": "Map represented as an object.",
                  "patternProperties": {
                    ".*": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "environment": {
                  "description": "Map represented as an object.",
                  "patternProperties": {
                    ".*": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "image": {
                  "description": "Docker Image.",
                  "type": "string"
                },
                "memory": {
                  "pattern": "\\d+(G|Mb)?",
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "port": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string"
                    }
                  ],
                  "description": "Port exposed by the container."
                },
                "privileged": {
                  "description": "Boolean expression that can use environment variables.",
                  "type": "string"
                },
                "readiness_command": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "items": [
                        {
                          "type": "string"
                        }
                      ],
                      "type": "array"
                    }
                  ],
                  "description": "Container readiness probe command."
                }
              },
              "required": ["image", "port"],
              "type": "object"
            }
          ],
          "type": "array"
        },
        "cpu": {
          "type": "number"
        },
        "docker_arguments": {
          "description": "Arguments for Docker build",
          "patternProperties": {
            ".*": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "dockerfile": {
          "description": "Relative path to Dockerfile to build container from.",
          "type": "string"
        },
        "image": {
          "description": "Docker Image to use.",
          "type": "string"
        },
        "kvm": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "memory": {
          "pattern": "\\d+(G|Mb)?",
          "type": "string"
        },
        "registry_config": {
          "type": "string"
        },
        "use_in_memory_disk": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "use_static_ip": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ec2_instance": {
      "description": "AWS EC2 definition.",
      "properties": {
        "image": {
          "description": "AMI Image.",
          "type": "string"
        },
        "platform": {
          "description": "Image Platform.",
          "enum": ["freebsd", "linux", "windows", "solaris"]
        },
        "region": {
          "description": "AWS region.",
          "enum": [
            "eu-north-1",
            "eu-west-3",
            "eu-west-2",
            "eu-west-1",
            "eu-central-1",
            "us-east-1",
            "us-east-2",
            "us-west-1",
            "us-west-2"
          ]
        },
        "type": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "eks_container": {
      "description": "EKS Container definition.",
      "properties": {
        "additional_containers": {
          "items": [
            {
              "description": "Additional Container definition.",
              "properties": {
                "command": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "items": [
                        {
                          "type": "string"
                        }
                      ],
                      "type": "array"
                    }
                  ],
                  "description": "Container CMD to override."
                },
                "cpu": {
                  "type": "number"
                },
                "env": {
                  "description": "Map represented as an object.",
                  "patternProperties": {
                    ".*": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "environment": {
                  "description": "Map represented as an object.",
                  "patternProperties": {
                    ".*": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "image": {
                  "description": "Docker Image.",
                  "type": "string"
                },
                "memory": {
                  "pattern": "\\d+(G|Mb)?",
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "port": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string"
                    }
                  ],
                  "description": "Port exposed by the container."
                },
                "privileged": {
                  "description": "Boolean expression that can use environment variables.",
                  "type": "string"
                },
                "readiness_command": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "items": [
                        {
                          "type": "string"
                        }
                      ],
                      "type": "array"
                    }
                  ],
                  "description": "Container readiness probe command."
                }
              },
              "required": ["image", "port"],
              "type": "object"
            }
          ],
          "type": "array"
        },
        "cluster_name": {
          "description": "EKS cluster name.",
          "type": "string"
        },
        "cpu": {
          "type": "number"
        },
        "image": {
          "description": "Docker Image.",
          "type": "string"
        },
        "memory": {
          "pattern": "\\d+(G|Mb)?",
          "type": "string"
        },
        "namespace": {
          "description": "Kubernetes namespace to schedule CI jobs in.",
          "type": "string"
        },
        "privileged": {
          "type": "boolean"
        },
        "region": {
          "description": "AWS region.",
          "enum": [
            "eu-north-1",
            "eu-west-3",
            "eu-west-2",
            "eu-west-1",
            "eu-central-1",
            "us-east-1",
            "us-east-2",
            "us-west-1",
            "us-west-2"
          ]
        },
        "registry_config": {
          "type": "string"
        },
        "use_in_memory_disk": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "env": {
      "description": "Map represented as an object.",
      "patternProperties": {
        ".*": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "environment": {
      "description": "Map represented as an object.",
      "patternProperties": {
        ".*": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "experimental": {
      "description": "Boolean expression that can use environment variables.",
      "type": "string"
    },
    "freebsd_instance": {
      "description": "macOS Virtual Machine definition for Community Cluster.",
      "properties": {
        "cpu": {
          "type": "number"
        },
        "image": {
          "description": "FreeBSD VM image.",
          "type": "string"
        },
        "image_family": {
          "description": "Image family.",
          "type": "string"
        },
        "memory": {
          "pattern": "\\d+(G|Mb)?",
          "type": "string"
        },
        "use_static_ip": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "gce_container": {
      "description": "Google Compute Engine Virtual Machine definition.",
      "properties": {
        "additional_containers": {
          "items": [
            {
              "description": "Additional Container definition.",
              "properties": {
                "command": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "items": [
                        {
                          "type": "string"
                        }
                      ],
                      "type": "array"
                    }
                  ],
                  "description": "Container CMD to override."
                },
                "cpu": {
                  "type": "number"
                },
                "env": {
                  "description": "Map represented as an object.",
                  "patternProperties": {
                    ".*": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "environment": {
                  "description": "Map represented as an object.",
                  "patternProperties": {
                    ".*": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "image": {
                  "description": "Docker Image.",
                  "type": "string"
                },
                "memory": {
                  "pattern": "\\d+(G|Mb)?",
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "port": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string"
                    }
                  ],
                  "description": "Port exposed by the container."
                },
                "privileged": {
                  "description": "Boolean expression that can use environment variables.",
                  "type": "string"
                },
                "readiness_command": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "items": [
                        {
                          "type": "string"
                        }
                      ],
                      "type": "array"
                    }
                  ],
                  "description": "Container readiness probe command."
                }
              },
              "required": ["image", "port"],
              "type": "object"
            }
          ],
          "type": "array"
        },
        "container": {
          "description": "Container image.",
          "type": "string"
        },
        "cpu": {
          "type": "number"
        },
        "disk": {
          "type": "number"
        },
        "enable_nested_virtualization": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "image_family": {
          "description": "Image family.",
          "type": "string"
        },
        "image_name": {
          "description": "Image name.",
          "type": "string"
        },
        "image_project": {
          "description": "Google Cloud project of an image.",
          "type": "string"
        },
        "memory": {
          "pattern": "\\d+(G|Mb)?",
          "type": "string"
        },
        "preemptible": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "scopes": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "items": [
                {
                  "type": "string"
                }
              ],
              "type": "array"
            }
          ],
          "description": "Google Cloud Scopes of the VM."
        },
        "use_ssd": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "zone": {
          "description": "Google Cloud zone where to start a VM.",
          "enum": [
            "us-west1-b",
            "us-west2-a",
            "us-west1-c",
            "us-west2-b",
            "us-west2-c",
            "europe-west1-d",
            "europe-west2-c",
            "europe-west3-b",
            "europe-west4-a",
            "europe-west3-c",
            "europe-west4-b",
            "europe-west1-b",
            "europe-west2-a",
            "europe-west1-c",
            "europe-west2-b",
            "europe-west3-a",
            "us-west1-a",
            "us-central1-a",
            "europe-west4-c",
            "us-central1-f",
            "us-central1-b",
            "us-central1-c",
            "us-east1-b",
            "us-east1-c",
            "us-east1-d",
            "us-east4-a",
            "us-east4-b",
            "us-east4-c"
          ]
        }
      },
      "type": "object"
    },
    "gce_instance": {
      "description": "Google Compute Engine Virtual Machine definition.",
      "properties": {
        "cpu": {
          "type": "number"
        },
        "disk": {
          "type": "number"
        },
        "enable_nested_virtualization": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "image_family": {
          "description": "Image family.",
          "type": "string"
        },
        "image_name": {
          "description": "Image name.",
          "type": "string"
        },
        "image_project": {
          "description": "Google Cloud project of an image.",
          "type": "string"
        },
        "memory": {
          "pattern": "\\d+(G|Mb)?",
          "type": "string"
        },
        "platform": {
          "description": "VM platform.",
          "enum": ["freebsd", "linux", "windows", "solaris"]
        },
        "preemptible": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "scopes": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "items": [
                {
                  "type": "string"
                }
              ],
              "type": "array"
            }
          ],
          "description": "Google Cloud Scopes of the VM."
        },
        "type": {
          "description": "Machine Type.",
          "type": "string"
        },
        "use_ssd": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        },
        "zone": {
          "description": "Google Cloud zone where to start a VM.",
          "enum": [
            "us-west1-b",
            "us-west2-a",
            "us-west1-c",
            "us-west2-b",
            "us-west2-c",
            "europe-west1-d",
            "europe-west2-c",
            "europe-west3-b",
            "europe-west4-a",
            "europe-west3-c",
            "europe-west4-b",
            "europe-west1-b",
            "europe-west2-a",
            "europe-west1-c",
            "europe-west2-b",
            "europe-west3-a",
            "us-west1-a",
            "us-central1-a",
            "europe-west4-c",
            "us-central1-f",
            "us-central1-b",
            "us-central1-c",
            "us-east1-b",
            "us-east1-c",
            "us-east1-d",
            "us-east4-a",
            "us-east4-b",
            "us-east4-c"
          ]
        }
      },
      "type": "object"
    },
    "gcp_credentials": {
      "pattern": "^ENCRYPTED\\[!?[0-9a-z]*!?\\]$",
      "type": "string"
    },
    "gke_container": {
      "description": "Google Kubernetes Engine Container definition.",
      "properties": {
        "additional_containers": {
          "items": [
            {
              "description": "Additional Container definition.",
              "properties": {
                "command": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "items": [
                        {
                          "type": "string"
                        }
                      ],
                      "type": "array"
                    }
                  ],
                  "description": "Container CMD to override."
                },
                "cpu": {
                  "type": "number"
                },
                "env": {
                  "description": "Map represented as an object.",
                  "patternProperties": {
                    ".*": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "environment": {
                  "description": "Map represented as an object.",
                  "patternProperties": {
                    ".*": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "image": {
                  "description": "Docker Image.",
                  "type": "string"
                },
                "memory": {
                  "pattern": "\\d+(G|Mb)?",
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "port": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string"
                    }
                  ],
                  "description": "Port exposed by the container."
                },
                "privileged": {
                  "description": "Boolean expression that can use environment variables.",
                  "type": "string"
                },
                "readiness_command": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "items": [
                        {
                          "type": "string"
                        }
                      ],
                      "type": "array"
                    }
                  ],
                  "description": "Container readiness probe command."
                }
              },
              "required": ["image", "port"],
              "type": "object"
            }
          ],
          "type": "array"
        },
        "builder_image_name": {
          "description": "Image name.",
          "type": "string"
        },
        "builder_image_project": {
          "description": "Google Cloud project of an image used to build Docker container from Dockerfile.",
          "type": "string"
        },
        "cluster_name": {
          "description": "GKE cluster name.",
          "type": "string"
        },
        "cpu": {
          "type": "number"
        },
        "docker_arguments": {
          "description": "Arguments for Docker build",
          "patternProperties": {
            ".*": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "dockerfile": {
          "description": "Relative path to Dockerfile.",
          "type": "string"
        },
        "image": {
          "description": "Docker Image.",
          "type": "string"
        },
        "memory": {
          "pattern": "\\d+(G|Mb)?",
          "type": "string"
        },
        "namespace": {
          "description": "Kubernetes namespace to schedule CI jobs in.",
          "type": "string"
        },
        "platform": {
          "description": "Container Platform.",
          "enum": ["linux", "windows"]
        },
        "privileged": {
          "type": "boolean"
        },
        "registry_config": {
          "type": "string"
        },
        "use_in_memory_disk": {
          "type": "boolean"
        },
        "zone": {
          "description": "Google Cloud zone of the cluster.",
          "enum": [
            "us-west1-b",
            "us-west2-a",
            "us-west1-c",
            "us-west2-b",
            "us-west2-c",
            "europe-west1-d",
            "europe-west2-c",
            "europe-west3-b",
            "europe-west4-a",
            "europe-west3-c",
            "europe-west4-b",
            "europe-west1-b",
            "europe-west2-a",
            "europe-west1-c",
            "europe-west2-b",
            "europe-west3-a",
            "us-west1-a",
            "us-central1-a",
            "europe-west4-c",
            "us-central1-f",
            "us-central1-b",
            "us-central1-c",
            "us-east1-b",
            "us-east1-c",
            "us-east1-d",
            "us-east4-a",
            "us-east4-b",
            "us-east4-c"
          ]
        }
      },
      "type": "object"
    },
    "macos_instance": {
      "description": "macOS Virtual Machine definition for Community Cluster.",
      "properties": {
        "image": {
          "description": "macOS VM image.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "only_if": {
      "description": "Boolean expression that can use environment variables.",
      "type": "string"
    },
    "osx_instance": {
      "description": "macOS Virtual Machine definition for Community Cluster.",
      "properties": {
        "image": {
          "description": "macOS VM image.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "persistent_worker": {
      "description": "Persistent Worker definition.",
      "properties": {
        "isolation": {
          "description": "Persistent Worker isolation.",
          "properties": {
            "parallels": {
              "description": "Parallels VM isolation.",
              "properties": {
                "image": {
                  "description": "Image name.",
                  "type": "string"
                },
                "password": {
                  "description": "SSH password",
                  "type": "string"
                },
                "platform": {
                  "description": "Image Platform.",
                  "enum": ["darwin", "linux", "windows"]
                },
                "user": {
                  "description": "SSH username",
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        "labels": {
          "description": "Labels for selection.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "skip": {
      "description": "Boolean expression that can use environment variables.",
      "type": "string"
    },
    "skip_notifications": {
      "description": "Boolean expression that can use environment variables.",
      "type": "string"
    },
    "stateful": {
      "description": "Boolean expression that can use environment variables.",
      "type": "string"
    },
    "timeout_in": {
      "description": "Task timeout in minutes",
      "type": "string"
    },
    "trigger_type": {
      "description": "Trigger type",
      "enum": ["automatic", "manual"]
    },
    "use_compute_credits": {
      "description": "Boolean expression that can use environment variables.",
      "type": "string"
    },
    "windows_container": {
      "description": "Windows Container definition for Community Cluster.",
      "properties": {
        "cpu": {
          "type": "number"
        },
        "docker_arguments": {
          "description": "Arguments for Docker build",
          "patternProperties": {
            ".*": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "dockerfile": {
          "description": "Relative path to Dockerfile to build container from.",
          "type": "string"
        },
        "image": {
          "description": "Docker Image to use.",
          "type": "string"
        },
        "memory": {
          "pattern": "\\d+(G|Mb)?",
          "type": "string"
        },
        "os_version": {
          "description": "Windows version of container.",
          "enum": ["2019", "1709", "1803"]
        },
        "use_static_ip": {
          "description": "Boolean expression that can use environment variables.",
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "title": "JSON schema for Cirrus CI configuration files",
  "type": "object"
}
