go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/common/api/luci_config/config/v1/config-api.json (about)

     1  {
     2    "auth": {
     3      "oauth2": {
     4        "scopes": {
     5          "https://www.googleapis.com/auth/userinfo.email": {
     6            "description": "https://www.googleapis.com/auth/userinfo.email"
     7          }
     8        }
     9      }
    10    },
    11    "basePath": "/_ah/api/config/v1",
    12    "baseUrl": "https://luci-config.appspot.com/_ah/api/config/v1",
    13    "batchPath": "batch",
    14    "description": "API to access configurations.",
    15    "discoveryVersion": "v1",
    16    "icons": {
    17      "x16": "https://www.google.com/images/icons/product/search-16.gif",
    18      "x32": "https://www.google.com/images/icons/product/search-32.gif"
    19    },
    20    "id": "config:v1",
    21    "kind": "discovery#restDescription",
    22    "methods": {
    23      "get_config": {
    24        "description": "Gets a config file.",
    25        "httpMethod": "GET",
    26        "id": "config.get_config",
    27        "parameterOrder": [
    28          "config_set",
    29          "path"
    30        ],
    31        "parameters": {
    32          "config_set": {
    33            "location": "path",
    34            "required": true,
    35            "type": "string"
    36          },
    37          "hash_only": {
    38            "location": "query",
    39            "type": "boolean"
    40          },
    41          "path": {
    42            "location": "path",
    43            "required": true,
    44            "type": "string"
    45          },
    46          "revision": {
    47            "location": "query",
    48            "type": "string"
    49          },
    50          "use_zlib": {
    51            "location": "query",
    52            "type": "boolean"
    53          }
    54        },
    55        "path": "config_sets/{config_set}/config/{path}",
    56        "response": {
    57          "$ref": "LuciConfigGetConfigResponseMessage"
    58        },
    59        "scopes": [
    60          "https://www.googleapis.com/auth/userinfo.email"
    61        ]
    62      },
    63      "get_config_by_hash": {
    64        "description": "Gets a config file by its hash.",
    65        "httpMethod": "GET",
    66        "id": "config.get_config_by_hash",
    67        "parameterOrder": [
    68          "content_hash"
    69        ],
    70        "parameters": {
    71          "content_hash": {
    72            "location": "path",
    73            "required": true,
    74            "type": "string"
    75          }
    76        },
    77        "path": "config/{content_hash}",
    78        "response": {
    79          "$ref": "LuciConfigGetConfigByHashResponseMessage"
    80        },
    81        "scopes": [
    82          "https://www.googleapis.com/auth/userinfo.email"
    83        ]
    84      },
    85      "get_config_sets": {
    86        "description": "Returns config sets.",
    87        "httpMethod": "GET",
    88        "id": "config.get_config_sets",
    89        "parameters": {
    90          "config_set": {
    91            "location": "query",
    92            "type": "string"
    93          },
    94          "include_files": {
    95            "location": "query",
    96            "type": "boolean"
    97          },
    98          "include_last_import_attempt": {
    99            "location": "query",
   100            "type": "boolean"
   101          }
   102        },
   103        "path": "config-sets",
   104        "response": {
   105          "$ref": "LuciConfigGetConfigSetsResponseMessage"
   106        },
   107        "scopes": [
   108          "https://www.googleapis.com/auth/userinfo.email"
   109        ]
   110      },
   111      "get_mapping": {
   112        "description": "DEPRECATED. Use get_config_sets.",
   113        "httpMethod": "GET",
   114        "id": "config.get_mapping",
   115        "parameters": {
   116          "config_set": {
   117            "location": "query",
   118            "type": "string"
   119          }
   120        },
   121        "path": "mapping",
   122        "response": {
   123          "$ref": "LuciConfigGetMappingResponseMessage"
   124        },
   125        "scopes": [
   126          "https://www.googleapis.com/auth/userinfo.email"
   127        ]
   128      },
   129      "get_project_configs": {
   130        "description": "Gets configs in all project config sets.",
   131        "httpMethod": "GET",
   132        "id": "config.get_project_configs",
   133        "parameterOrder": [
   134          "path"
   135        ],
   136        "parameters": {
   137          "hashes_only": {
   138            "location": "query",
   139            "type": "boolean"
   140          },
   141          "path": {
   142            "location": "path",
   143            "required": true,
   144            "type": "string"
   145          }
   146        },
   147        "path": "configs/projects/{path}",
   148        "response": {
   149          "$ref": "LuciConfigGetConfigMultiResponseMessage"
   150        },
   151        "scopes": [
   152          "https://www.googleapis.com/auth/userinfo.email"
   153        ]
   154      },
   155      "get_projects": {
   156        "description": "Gets list of registered projects. The project list is stored in services/luci-config:projects.cfg.",
   157        "httpMethod": "GET",
   158        "id": "config.get_projects",
   159        "path": "projects",
   160        "response": {
   161          "$ref": "LuciConfigGetProjectsResponseMessage"
   162        },
   163        "scopes": [
   164          "https://www.googleapis.com/auth/userinfo.email"
   165        ]
   166      },
   167      "get_ref_configs": {
   168        "description": "Gets configs in all ref config sets.",
   169        "httpMethod": "GET",
   170        "id": "config.get_ref_configs",
   171        "parameterOrder": [
   172          "path"
   173        ],
   174        "parameters": {
   175          "hashes_only": {
   176            "location": "query",
   177            "type": "boolean"
   178          },
   179          "path": {
   180            "location": "path",
   181            "required": true,
   182            "type": "string"
   183          }
   184        },
   185        "path": "configs/refs/{path}",
   186        "response": {
   187          "$ref": "LuciConfigGetConfigMultiResponseMessage"
   188        },
   189        "scopes": [
   190          "https://www.googleapis.com/auth/userinfo.email"
   191        ]
   192      },
   193      "get_refs": {
   194        "description": "Gets list of refs of a project.",
   195        "httpMethod": "GET",
   196        "id": "config.get_refs",
   197        "parameterOrder": [
   198          "project_id"
   199        ],
   200        "parameters": {
   201          "project_id": {
   202            "location": "path",
   203            "required": true,
   204            "type": "string"
   205          }
   206        },
   207        "path": "projects/{project_id}/refs",
   208        "response": {
   209          "$ref": "LuciConfigGetRefsResponseMessage"
   210        },
   211        "scopes": [
   212          "https://www.googleapis.com/auth/userinfo.email"
   213        ]
   214      },
   215      "reimport": {
   216        "description": "Reimports a config set.",
   217        "httpMethod": "POST",
   218        "id": "config.reimport",
   219        "parameterOrder": [
   220          "config_set"
   221        ],
   222        "parameters": {
   223          "config_set": {
   224            "location": "query",
   225            "required": true,
   226            "type": "string"
   227          }
   228        },
   229        "path": "reimport",
   230        "scopes": [
   231          "https://www.googleapis.com/auth/userinfo.email"
   232        ]
   233      },
   234      "validate_config": {
   235        "httpMethod": "POST",
   236        "id": "config.validate_config",
   237        "path": "validate-config",
   238        "request": {
   239          "$ref": "LuciConfigValidateConfigRequestMessage",
   240          "parameterName": "resource"
   241        },
   242        "response": {
   243          "$ref": "LuciConfigValidateConfigResponseMessage"
   244        },
   245        "scopes": [
   246          "https://www.googleapis.com/auth/userinfo.email"
   247        ]
   248      }
   249    },
   250    "name": "config",
   251    "parameters": {
   252      "alt": {
   253        "default": "json",
   254        "description": "Data format for the response.",
   255        "enum": [
   256          "json"
   257        ],
   258        "enumDescriptions": [
   259          "Responses with Content-Type of application/json"
   260        ],
   261        "location": "query",
   262        "type": "string"
   263      },
   264      "fields": {
   265        "description": "Selector specifying which fields to include in a partial response.",
   266        "location": "query",
   267        "type": "string"
   268      },
   269      "key": {
   270        "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.",
   271        "location": "query",
   272        "type": "string"
   273      },
   274      "oauth_token": {
   275        "description": "OAuth 2.0 token for the current user.",
   276        "location": "query",
   277        "type": "string"
   278      },
   279      "prettyPrint": {
   280        "default": "true",
   281        "description": "Returns response with indentations and line breaks.",
   282        "location": "query",
   283        "type": "boolean"
   284      },
   285      "quotaUser": {
   286        "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.",
   287        "location": "query",
   288        "type": "string"
   289      },
   290      "userIp": {
   291        "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
   292        "location": "query",
   293        "type": "string"
   294      }
   295    },
   296    "protocol": "rest",
   297    "rootUrl": "https://luci-config.appspot.com/_ah/api/",
   298    "schemas": {
   299      "ComponentsConfigEndpointValidationMessage": {
   300        "id": "ComponentsConfigEndpointValidationMessage",
   301        "properties": {
   302          "path": {
   303            "type": "string"
   304          },
   305          "severity": {
   306            "enum": [
   307              "CRITICAL",
   308              "DEBUG",
   309              "ERROR",
   310              "INFO",
   311              "WARNING"
   312            ],
   313            "enumDescriptions": [
   314              "",
   315              "",
   316              "",
   317              "",
   318              ""
   319            ],
   320            "required": true,
   321            "type": "string"
   322          },
   323          "text": {
   324            "required": true,
   325            "type": "string"
   326          }
   327        },
   328        "type": "object"
   329      },
   330      "LuciConfigConfigSet": {
   331        "description": "Describes a config set.",
   332        "id": "LuciConfigConfigSet",
   333        "properties": {
   334          "config_set": {
   335            "required": true,
   336            "type": "string"
   337          },
   338          "files": {
   339            "description": "Describes a file.",
   340            "items": {
   341              "$ref": "LuciConfigFile"
   342            },
   343            "type": "array"
   344          },
   345          "last_import_attempt": {
   346            "$ref": "LuciConfigConfigSetImportAttempt"
   347          },
   348          "location": {
   349            "type": "string"
   350          },
   351          "revision": {
   352            "$ref": "LuciConfigRevision"
   353          }
   354        },
   355        "type": "object"
   356      },
   357      "LuciConfigConfigSetImportAttempt": {
   358        "id": "LuciConfigConfigSetImportAttempt",
   359        "properties": {
   360          "message": {
   361            "type": "string"
   362          },
   363          "revision": {
   364            "$ref": "LuciConfigRevision"
   365          },
   366          "success": {
   367            "type": "boolean"
   368          },
   369          "timestamp": {
   370            "format": "int64",
   371            "type": "string"
   372          },
   373          "validation_messages": {
   374            "items": {
   375              "$ref": "ComponentsConfigEndpointValidationMessage"
   376            },
   377            "type": "array"
   378          }
   379        },
   380        "type": "object"
   381      },
   382      "LuciConfigFile": {
   383        "description": "Describes a file.",
   384        "id": "LuciConfigFile",
   385        "properties": {
   386          "path": {
   387            "type": "string"
   388          }
   389        },
   390        "type": "object"
   391      },
   392      "LuciConfigGetConfigByHashResponseMessage": {
   393        "id": "LuciConfigGetConfigByHashResponseMessage",
   394        "properties": {
   395          "content": {
   396            "format": "byte",
   397            "required": true,
   398            "type": "string"
   399          }
   400        },
   401        "type": "object"
   402      },
   403      "LuciConfigGetConfigMultiResponseMessage": {
   404        "id": "LuciConfigGetConfigMultiResponseMessage",
   405        "properties": {
   406          "configs": {
   407            "items": {
   408              "$ref": "LuciConfigGetConfigMultiResponseMessageConfigEntry"
   409            },
   410            "type": "array"
   411          }
   412        },
   413        "type": "object"
   414      },
   415      "LuciConfigGetConfigMultiResponseMessageConfigEntry": {
   416        "id": "LuciConfigGetConfigMultiResponseMessageConfigEntry",
   417        "properties": {
   418          "config_set": {
   419            "required": true,
   420            "type": "string"
   421          },
   422          "content": {
   423            "format": "byte",
   424            "type": "string"
   425          },
   426          "content_hash": {
   427            "required": true,
   428            "type": "string"
   429          },
   430          "revision": {
   431            "required": true,
   432            "type": "string"
   433          },
   434          "url": {
   435            "type": "string"
   436          }
   437        },
   438        "type": "object"
   439      },
   440      "LuciConfigGetConfigResponseMessage": {
   441        "id": "LuciConfigGetConfigResponseMessage",
   442        "properties": {
   443          "content": {
   444            "format": "byte",
   445            "type": "string"
   446          },
   447          "content_hash": {
   448            "required": true,
   449            "type": "string"
   450          },
   451          "is_zlib_compressed": {
   452            "type": "boolean"
   453          },
   454          "revision": {
   455            "required": true,
   456            "type": "string"
   457          },
   458          "url": {
   459            "type": "string"
   460          }
   461        },
   462        "type": "object"
   463      },
   464      "LuciConfigGetConfigSetsResponseMessage": {
   465        "id": "LuciConfigGetConfigSetsResponseMessage",
   466        "properties": {
   467          "config_sets": {
   468            "description": "Describes a config set.",
   469            "items": {
   470              "$ref": "LuciConfigConfigSet"
   471            },
   472            "type": "array"
   473          }
   474        },
   475        "type": "object"
   476      },
   477      "LuciConfigGetMappingResponseMessage": {
   478        "id": "LuciConfigGetMappingResponseMessage",
   479        "properties": {
   480          "mappings": {
   481            "items": {
   482              "$ref": "LuciConfigGetMappingResponseMessageMapping"
   483            },
   484            "type": "array"
   485          }
   486        },
   487        "type": "object"
   488      },
   489      "LuciConfigGetMappingResponseMessageMapping": {
   490        "id": "LuciConfigGetMappingResponseMessageMapping",
   491        "properties": {
   492          "config_set": {
   493            "required": true,
   494            "type": "string"
   495          },
   496          "location": {
   497            "type": "string"
   498          }
   499        },
   500        "type": "object"
   501      },
   502      "LuciConfigGetProjectsResponseMessage": {
   503        "id": "LuciConfigGetProjectsResponseMessage",
   504        "properties": {
   505          "projects": {
   506            "items": {
   507              "$ref": "LuciConfigProject"
   508            },
   509            "type": "array"
   510          }
   511        },
   512        "type": "object"
   513      },
   514      "LuciConfigGetRefsResponseMessage": {
   515        "id": "LuciConfigGetRefsResponseMessage",
   516        "properties": {
   517          "refs": {
   518            "items": {
   519              "$ref": "LuciConfigGetRefsResponseMessageRef"
   520            },
   521            "type": "array"
   522          }
   523        },
   524        "type": "object"
   525      },
   526      "LuciConfigGetRefsResponseMessageRef": {
   527        "id": "LuciConfigGetRefsResponseMessageRef",
   528        "properties": {
   529          "name": {
   530            "type": "string"
   531          }
   532        },
   533        "type": "object"
   534      },
   535      "LuciConfigProject": {
   536        "id": "LuciConfigProject",
   537        "properties": {
   538          "id": {
   539            "required": true,
   540            "type": "string"
   541          },
   542          "name": {
   543            "type": "string"
   544          },
   545          "repo_type": {
   546            "enum": [
   547              "GITILES"
   548            ],
   549            "enumDescriptions": [
   550              ""
   551            ],
   552            "required": true,
   553            "type": "string"
   554          },
   555          "repo_url": {
   556            "required": true,
   557            "type": "string"
   558          }
   559        },
   560        "type": "object"
   561      },
   562      "LuciConfigRevision": {
   563        "id": "LuciConfigRevision",
   564        "properties": {
   565          "committer_email": {
   566            "type": "string"
   567          },
   568          "id": {
   569            "type": "string"
   570          },
   571          "timestamp": {
   572            "format": "int64",
   573            "type": "string"
   574          },
   575          "url": {
   576            "type": "string"
   577          }
   578        },
   579        "type": "object"
   580      },
   581      "LuciConfigValidateConfigRequestMessage": {
   582        "id": "LuciConfigValidateConfigRequestMessage",
   583        "properties": {
   584          "config_set": {
   585            "type": "string"
   586          },
   587          "files": {
   588            "items": {
   589              "$ref": "LuciConfigValidateConfigRequestMessageFile"
   590            },
   591            "type": "array"
   592          }
   593        },
   594        "type": "object"
   595      },
   596      "LuciConfigValidateConfigRequestMessageFile": {
   597        "id": "LuciConfigValidateConfigRequestMessageFile",
   598        "properties": {
   599          "content": {
   600            "format": "byte",
   601            "type": "string"
   602          },
   603          "path": {
   604            "type": "string"
   605          }
   606        },
   607        "type": "object"
   608      },
   609      "LuciConfigValidateConfigResponseMessage": {
   610        "id": "LuciConfigValidateConfigResponseMessage",
   611        "properties": {
   612          "messages": {
   613            "items": {
   614              "$ref": "ComponentsConfigEndpointValidationMessage"
   615            },
   616            "type": "array"
   617          }
   618        },
   619        "type": "object"
   620      }
   621    },
   622    "servicePath": "config/v1/",
   623    "title": "Configuration Service",
   624    "version": "v1"
   625  }