blob: 86c1d9091059eacbbea5cfe04fdc71d8fa7c4d68 [file] [log] [blame]
{
"auth": {
"oauth2": {
"scopes": {
"https://www.googleapis.com/auth/userinfo.email": {
"description": "https://www.googleapis.com/auth/userinfo.email"
}
}
}
},
"basePath": "/_ah/api/config/v1",
"baseUrl": "https://luci-config.appspot.com/_ah/api/config/v1",
"batchPath": "batch",
"description": "API to access configurations.",
"discoveryVersion": "v1",
"icons": {
"x16": "https://www.google.com/images/icons/product/search-16.gif",
"x32": "https://www.google.com/images/icons/product/search-32.gif"
},
"id": "config:v1",
"kind": "discovery#restDescription",
"methods": {
"get_config": {
"description": "Gets a config file.",
"httpMethod": "GET",
"id": "config.get_config",
"parameterOrder": [
"config_set",
"path"
],
"parameters": {
"config_set": {
"location": "path",
"required": true,
"type": "string"
},
"hash_only": {
"location": "query",
"type": "boolean"
},
"path": {
"location": "path",
"required": true,
"type": "string"
},
"revision": {
"location": "query",
"type": "string"
}
},
"path": "config_sets/{config_set}/config/{path}",
"response": {
"$ref": "LuciConfigGetConfigResponseMessage"
},
"scopes": [
"https://www.googleapis.com/auth/userinfo.email"
]
},
"get_config_by_hash": {
"description": "Gets a config file by its hash.",
"httpMethod": "GET",
"id": "config.get_config_by_hash",
"parameterOrder": [
"content_hash"
],
"parameters": {
"content_hash": {
"location": "path",
"required": true,
"type": "string"
}
},
"path": "config/{content_hash}",
"response": {
"$ref": "LuciConfigGetConfigByHashResponseMessage"
},
"scopes": [
"https://www.googleapis.com/auth/userinfo.email"
]
},
"get_config_sets": {
"description": "Returns config sets.",
"httpMethod": "GET",
"id": "config.get_config_sets",
"parameters": {
"config_set": {
"location": "query",
"type": "string"
},
"include_files": {
"location": "query",
"type": "boolean"
},
"include_last_import_attempt": {
"location": "query",
"type": "boolean"
}
},
"path": "config-sets",
"response": {
"$ref": "LuciConfigGetConfigSetsResponseMessage"
},
"scopes": [
"https://www.googleapis.com/auth/userinfo.email"
]
},
"get_mapping": {
"description": "DEPRECATED. Use get_config_sets.",
"httpMethod": "GET",
"id": "config.get_mapping",
"parameters": {
"config_set": {
"location": "query",
"type": "string"
}
},
"path": "mapping",
"response": {
"$ref": "LuciConfigGetMappingResponseMessage"
},
"scopes": [
"https://www.googleapis.com/auth/userinfo.email"
]
},
"get_project_configs": {
"description": "Gets configs in all project config sets.",
"httpMethod": "GET",
"id": "config.get_project_configs",
"parameterOrder": [
"path"
],
"parameters": {
"hashes_only": {
"location": "query",
"type": "boolean"
},
"path": {
"location": "path",
"required": true,
"type": "string"
}
},
"path": "configs/projects/{path}",
"response": {
"$ref": "LuciConfigGetConfigMultiResponseMessage"
},
"scopes": [
"https://www.googleapis.com/auth/userinfo.email"
]
},
"get_projects": {
"description": "Gets list of registered projects. The project list is stored in services/luci-config:projects.cfg.",
"httpMethod": "GET",
"id": "config.get_projects",
"path": "projects",
"response": {
"$ref": "LuciConfigGetProjectsResponseMessage"
},
"scopes": [
"https://www.googleapis.com/auth/userinfo.email"
]
},
"get_ref_configs": {
"description": "Gets configs in all ref config sets.",
"httpMethod": "GET",
"id": "config.get_ref_configs",
"parameterOrder": [
"path"
],
"parameters": {
"hashes_only": {
"location": "query",
"type": "boolean"
},
"path": {
"location": "path",
"required": true,
"type": "string"
}
},
"path": "configs/refs/{path}",
"response": {
"$ref": "LuciConfigGetConfigMultiResponseMessage"
},
"scopes": [
"https://www.googleapis.com/auth/userinfo.email"
]
},
"get_refs": {
"description": "Gets list of refs of a project.",
"httpMethod": "GET",
"id": "config.get_refs",
"parameterOrder": [
"project_id"
],
"parameters": {
"project_id": {
"location": "path",
"required": true,
"type": "string"
}
},
"path": "projects/{project_id}/refs",
"response": {
"$ref": "LuciConfigGetRefsResponseMessage"
},
"scopes": [
"https://www.googleapis.com/auth/userinfo.email"
]
},
"reimport": {
"description": "Reimports a config set.",
"httpMethod": "POST",
"id": "config.reimport",
"parameterOrder": [
"config_set"
],
"parameters": {
"config_set": {
"location": "query",
"required": true,
"type": "string"
}
},
"path": "reimport",
"scopes": [
"https://www.googleapis.com/auth/userinfo.email"
]
},
"validate_config": {
"httpMethod": "POST",
"id": "config.validate_config",
"path": "validate-config",
"request": {
"$ref": "LuciConfigValidateConfigRequestMessage",
"parameterName": "resource"
},
"response": {
"$ref": "LuciConfigValidateConfigResponseMessage"
},
"scopes": [
"https://www.googleapis.com/auth/userinfo.email"
]
}
},
"name": "config",
"parameters": {
"alt": {
"default": "json",
"description": "Data format for the response.",
"enum": [
"json"
],
"enumDescriptions": [
"Responses with Content-Type of application/json"
],
"location": "query",
"type": "string"
},
"fields": {
"description": "Selector specifying which fields to include in a partial response.",
"location": "query",
"type": "string"
},
"key": {
"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
"location": "query",
"type": "string"
},
"oauth_token": {
"description": "OAuth 2.0 token for the current user.",
"location": "query",
"type": "string"
},
"prettyPrint": {
"default": "true",
"description": "Returns response with indentations and line breaks.",
"location": "query",
"type": "boolean"
},
"quotaUser": {
"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. Overrides userIp if both are provided.",
"location": "query",
"type": "string"
},
"userIp": {
"description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
"location": "query",
"type": "string"
}
},
"protocol": "rest",
"rootUrl": "https://luci-config.appspot.com/_ah/api/",
"schemas": {
"ComponentsConfigEndpointValidationMessage": {
"id": "ComponentsConfigEndpointValidationMessage",
"properties": {
"path": {
"type": "string"
},
"severity": {
"enum": [
"CRITICAL",
"DEBUG",
"ERROR",
"INFO",
"WARNING"
],
"enumDescriptions": [
"",
"",
"",
"",
""
],
"required": true,
"type": "string"
},
"text": {
"required": true,
"type": "string"
}
},
"type": "object"
},
"LuciConfigConfigSet": {
"description": "Describes a config set.",
"id": "LuciConfigConfigSet",
"properties": {
"config_set": {
"required": true,
"type": "string"
},
"files": {
"description": "Describes a file.",
"items": {
"$ref": "LuciConfigFile"
},
"type": "array"
},
"last_import_attempt": {
"$ref": "LuciConfigConfigSetImportAttempt"
},
"location": {
"type": "string"
},
"revision": {
"$ref": "LuciConfigRevision"
}
},
"type": "object"
},
"LuciConfigConfigSetImportAttempt": {
"id": "LuciConfigConfigSetImportAttempt",
"properties": {
"message": {
"type": "string"
},
"revision": {
"$ref": "LuciConfigRevision"
},
"success": {
"type": "boolean"
},
"timestamp": {
"format": "int64",
"type": "string"
},
"validation_messages": {
"items": {
"$ref": "ComponentsConfigEndpointValidationMessage"
},
"type": "array"
}
},
"type": "object"
},
"LuciConfigFile": {
"description": "Describes a file.",
"id": "LuciConfigFile",
"properties": {
"path": {
"type": "string"
}
},
"type": "object"
},
"LuciConfigGetConfigByHashResponseMessage": {
"id": "LuciConfigGetConfigByHashResponseMessage",
"properties": {
"content": {
"format": "byte",
"required": true,
"type": "string"
}
},
"type": "object"
},
"LuciConfigGetConfigMultiResponseMessage": {
"id": "LuciConfigGetConfigMultiResponseMessage",
"properties": {
"configs": {
"items": {
"$ref": "LuciConfigGetConfigMultiResponseMessageConfigEntry"
},
"type": "array"
}
},
"type": "object"
},
"LuciConfigGetConfigMultiResponseMessageConfigEntry": {
"id": "LuciConfigGetConfigMultiResponseMessageConfigEntry",
"properties": {
"config_set": {
"required": true,
"type": "string"
},
"content": {
"format": "byte",
"type": "string"
},
"content_hash": {
"required": true,
"type": "string"
},
"revision": {
"required": true,
"type": "string"
},
"url": {
"type": "string"
}
},
"type": "object"
},
"LuciConfigGetConfigResponseMessage": {
"id": "LuciConfigGetConfigResponseMessage",
"properties": {
"content": {
"format": "byte",
"type": "string"
},
"content_hash": {
"required": true,
"type": "string"
},
"revision": {
"required": true,
"type": "string"
},
"url": {
"type": "string"
}
},
"type": "object"
},
"LuciConfigGetConfigSetsResponseMessage": {
"id": "LuciConfigGetConfigSetsResponseMessage",
"properties": {
"config_sets": {
"description": "Describes a config set.",
"items": {
"$ref": "LuciConfigConfigSet"
},
"type": "array"
}
},
"type": "object"
},
"LuciConfigGetMappingResponseMessage": {
"id": "LuciConfigGetMappingResponseMessage",
"properties": {
"mappings": {
"items": {
"$ref": "LuciConfigGetMappingResponseMessageMapping"
},
"type": "array"
}
},
"type": "object"
},
"LuciConfigGetMappingResponseMessageMapping": {
"id": "LuciConfigGetMappingResponseMessageMapping",
"properties": {
"config_set": {
"required": true,
"type": "string"
},
"location": {
"type": "string"
}
},
"type": "object"
},
"LuciConfigGetProjectsResponseMessage": {
"id": "LuciConfigGetProjectsResponseMessage",
"properties": {
"projects": {
"items": {
"$ref": "LuciConfigProject"
},
"type": "array"
}
},
"type": "object"
},
"LuciConfigGetRefsResponseMessage": {
"id": "LuciConfigGetRefsResponseMessage",
"properties": {
"refs": {
"items": {
"$ref": "LuciConfigGetRefsResponseMessageRef"
},
"type": "array"
}
},
"type": "object"
},
"LuciConfigGetRefsResponseMessageRef": {
"id": "LuciConfigGetRefsResponseMessageRef",
"properties": {
"name": {
"type": "string"
}
},
"type": "object"
},
"LuciConfigProject": {
"id": "LuciConfigProject",
"properties": {
"id": {
"required": true,
"type": "string"
},
"name": {
"type": "string"
},
"repo_type": {
"enum": [
"GITILES"
],
"enumDescriptions": [
""
],
"required": true,
"type": "string"
},
"repo_url": {
"required": true,
"type": "string"
}
},
"type": "object"
},
"LuciConfigRevision": {
"id": "LuciConfigRevision",
"properties": {
"committer_email": {
"type": "string"
},
"id": {
"type": "string"
},
"timestamp": {
"format": "int64",
"type": "string"
},
"url": {
"type": "string"
}
},
"type": "object"
},
"LuciConfigValidateConfigRequestMessage": {
"id": "LuciConfigValidateConfigRequestMessage",
"properties": {
"config_set": {
"type": "string"
},
"files": {
"items": {
"$ref": "LuciConfigValidateConfigRequestMessageFile"
},
"type": "array"
}
},
"type": "object"
},
"LuciConfigValidateConfigRequestMessageFile": {
"id": "LuciConfigValidateConfigRequestMessageFile",
"properties": {
"content": {
"format": "byte",
"type": "string"
},
"path": {
"type": "string"
}
},
"type": "object"
},
"LuciConfigValidateConfigResponseMessage": {
"id": "LuciConfigValidateConfigResponseMessage",
"properties": {
"messages": {
"items": {
"$ref": "ComponentsConfigEndpointValidationMessage"
},
"type": "array"
}
},
"type": "object"
}
},
"servicePath": "config/v1/",
"title": "Configuration Service",
"version": "v1"
}