mirror of
https://github.com/prometheus/prometheus.git
synced 2024-11-18 11:34:05 -08:00
21e50a3f9d
Signed-off-by: jojohappy <sarahdj0917@gmail.com>
664 lines
18 KiB
Protocol Buffer
664 lines
18 KiB
Protocol Buffer
// Copyright 2017 Google Inc. All Rights Reserved.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
// THIS FILE IS AUTOMATICALLY GENERATED.
|
|
|
|
syntax = "proto3";
|
|
|
|
package openapi.v2;
|
|
|
|
import "google/protobuf/any.proto";
|
|
|
|
// This option lets the proto compiler generate Java code inside the package
|
|
// name (see below) instead of inside an outer class. It creates a simpler
|
|
// developer experience by reducing one-level of name nesting and be
|
|
// consistent with most programming languages that don't support outer classes.
|
|
option java_multiple_files = true;
|
|
|
|
// The Java outer classname should be the filename in UpperCamelCase. This
|
|
// class is only used to hold proto descriptor, so developers don't need to
|
|
// work with it directly.
|
|
option java_outer_classname = "OpenAPIProto";
|
|
|
|
// The Java package name must be proto package name with proper prefix.
|
|
option java_package = "org.openapi_v2";
|
|
|
|
// A reasonable prefix for the Objective-C symbols generated from the package.
|
|
// It should at a minimum be 3 characters long, all uppercase, and convention
|
|
// is to use an abbreviation of the package name. Something short, but
|
|
// hopefully unique enough to not conflict with things that may come along in
|
|
// the future. 'GPB' is reserved for the protocol buffer implementation itself.
|
|
option objc_class_prefix = "OAS";
|
|
|
|
message AdditionalPropertiesItem {
|
|
oneof oneof {
|
|
Schema schema = 1;
|
|
bool boolean = 2;
|
|
}
|
|
}
|
|
|
|
message Any {
|
|
google.protobuf.Any value = 1;
|
|
string yaml = 2;
|
|
}
|
|
|
|
message ApiKeySecurity {
|
|
string type = 1;
|
|
string name = 2;
|
|
string in = 3;
|
|
string description = 4;
|
|
repeated NamedAny vendor_extension = 5;
|
|
}
|
|
|
|
message BasicAuthenticationSecurity {
|
|
string type = 1;
|
|
string description = 2;
|
|
repeated NamedAny vendor_extension = 3;
|
|
}
|
|
|
|
message BodyParameter {
|
|
// A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed.
|
|
string description = 1;
|
|
// The name of the parameter.
|
|
string name = 2;
|
|
// Determines the location of the parameter.
|
|
string in = 3;
|
|
// Determines whether or not this parameter is required or optional.
|
|
bool required = 4;
|
|
Schema schema = 5;
|
|
repeated NamedAny vendor_extension = 6;
|
|
}
|
|
|
|
// Contact information for the owners of the API.
|
|
message Contact {
|
|
// The identifying name of the contact person/organization.
|
|
string name = 1;
|
|
// The URL pointing to the contact information.
|
|
string url = 2;
|
|
// The email address of the contact person/organization.
|
|
string email = 3;
|
|
repeated NamedAny vendor_extension = 4;
|
|
}
|
|
|
|
message Default {
|
|
repeated NamedAny additional_properties = 1;
|
|
}
|
|
|
|
// One or more JSON objects describing the schemas being consumed and produced by the API.
|
|
message Definitions {
|
|
repeated NamedSchema additional_properties = 1;
|
|
}
|
|
|
|
message Document {
|
|
// The Swagger version of this document.
|
|
string swagger = 1;
|
|
Info info = 2;
|
|
// The host (name or ip) of the API. Example: 'swagger.io'
|
|
string host = 3;
|
|
// The base path to the API. Example: '/api'.
|
|
string base_path = 4;
|
|
// The transfer protocol of the API.
|
|
repeated string schemes = 5;
|
|
// A list of MIME types accepted by the API.
|
|
repeated string consumes = 6;
|
|
// A list of MIME types the API can produce.
|
|
repeated string produces = 7;
|
|
Paths paths = 8;
|
|
Definitions definitions = 9;
|
|
ParameterDefinitions parameters = 10;
|
|
ResponseDefinitions responses = 11;
|
|
repeated SecurityRequirement security = 12;
|
|
SecurityDefinitions security_definitions = 13;
|
|
repeated Tag tags = 14;
|
|
ExternalDocs external_docs = 15;
|
|
repeated NamedAny vendor_extension = 16;
|
|
}
|
|
|
|
message Examples {
|
|
repeated NamedAny additional_properties = 1;
|
|
}
|
|
|
|
// information about external documentation
|
|
message ExternalDocs {
|
|
string description = 1;
|
|
string url = 2;
|
|
repeated NamedAny vendor_extension = 3;
|
|
}
|
|
|
|
// A deterministic version of a JSON Schema object.
|
|
message FileSchema {
|
|
string format = 1;
|
|
string title = 2;
|
|
string description = 3;
|
|
Any default = 4;
|
|
repeated string required = 5;
|
|
string type = 6;
|
|
bool read_only = 7;
|
|
ExternalDocs external_docs = 8;
|
|
Any example = 9;
|
|
repeated NamedAny vendor_extension = 10;
|
|
}
|
|
|
|
message FormDataParameterSubSchema {
|
|
// Determines whether or not this parameter is required or optional.
|
|
bool required = 1;
|
|
// Determines the location of the parameter.
|
|
string in = 2;
|
|
// A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed.
|
|
string description = 3;
|
|
// The name of the parameter.
|
|
string name = 4;
|
|
// allows sending a parameter by name only or with an empty value.
|
|
bool allow_empty_value = 5;
|
|
string type = 6;
|
|
string format = 7;
|
|
PrimitivesItems items = 8;
|
|
string collection_format = 9;
|
|
Any default = 10;
|
|
double maximum = 11;
|
|
bool exclusive_maximum = 12;
|
|
double minimum = 13;
|
|
bool exclusive_minimum = 14;
|
|
int64 max_length = 15;
|
|
int64 min_length = 16;
|
|
string pattern = 17;
|
|
int64 max_items = 18;
|
|
int64 min_items = 19;
|
|
bool unique_items = 20;
|
|
repeated Any enum = 21;
|
|
double multiple_of = 22;
|
|
repeated NamedAny vendor_extension = 23;
|
|
}
|
|
|
|
message Header {
|
|
string type = 1;
|
|
string format = 2;
|
|
PrimitivesItems items = 3;
|
|
string collection_format = 4;
|
|
Any default = 5;
|
|
double maximum = 6;
|
|
bool exclusive_maximum = 7;
|
|
double minimum = 8;
|
|
bool exclusive_minimum = 9;
|
|
int64 max_length = 10;
|
|
int64 min_length = 11;
|
|
string pattern = 12;
|
|
int64 max_items = 13;
|
|
int64 min_items = 14;
|
|
bool unique_items = 15;
|
|
repeated Any enum = 16;
|
|
double multiple_of = 17;
|
|
string description = 18;
|
|
repeated NamedAny vendor_extension = 19;
|
|
}
|
|
|
|
message HeaderParameterSubSchema {
|
|
// Determines whether or not this parameter is required or optional.
|
|
bool required = 1;
|
|
// Determines the location of the parameter.
|
|
string in = 2;
|
|
// A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed.
|
|
string description = 3;
|
|
// The name of the parameter.
|
|
string name = 4;
|
|
string type = 5;
|
|
string format = 6;
|
|
PrimitivesItems items = 7;
|
|
string collection_format = 8;
|
|
Any default = 9;
|
|
double maximum = 10;
|
|
bool exclusive_maximum = 11;
|
|
double minimum = 12;
|
|
bool exclusive_minimum = 13;
|
|
int64 max_length = 14;
|
|
int64 min_length = 15;
|
|
string pattern = 16;
|
|
int64 max_items = 17;
|
|
int64 min_items = 18;
|
|
bool unique_items = 19;
|
|
repeated Any enum = 20;
|
|
double multiple_of = 21;
|
|
repeated NamedAny vendor_extension = 22;
|
|
}
|
|
|
|
message Headers {
|
|
repeated NamedHeader additional_properties = 1;
|
|
}
|
|
|
|
// General information about the API.
|
|
message Info {
|
|
// A unique and precise title of the API.
|
|
string title = 1;
|
|
// A semantic version number of the API.
|
|
string version = 2;
|
|
// A longer description of the API. Should be different from the title. GitHub Flavored Markdown is allowed.
|
|
string description = 3;
|
|
// The terms of service for the API.
|
|
string terms_of_service = 4;
|
|
Contact contact = 5;
|
|
License license = 6;
|
|
repeated NamedAny vendor_extension = 7;
|
|
}
|
|
|
|
message ItemsItem {
|
|
repeated Schema schema = 1;
|
|
}
|
|
|
|
message JsonReference {
|
|
string _ref = 1;
|
|
string description = 2;
|
|
}
|
|
|
|
message License {
|
|
// The name of the license type. It's encouraged to use an OSI compatible license.
|
|
string name = 1;
|
|
// The URL pointing to the license.
|
|
string url = 2;
|
|
repeated NamedAny vendor_extension = 3;
|
|
}
|
|
|
|
// Automatically-generated message used to represent maps of Any as ordered (name,value) pairs.
|
|
message NamedAny {
|
|
// Map key
|
|
string name = 1;
|
|
// Mapped value
|
|
Any value = 2;
|
|
}
|
|
|
|
// Automatically-generated message used to represent maps of Header as ordered (name,value) pairs.
|
|
message NamedHeader {
|
|
// Map key
|
|
string name = 1;
|
|
// Mapped value
|
|
Header value = 2;
|
|
}
|
|
|
|
// Automatically-generated message used to represent maps of Parameter as ordered (name,value) pairs.
|
|
message NamedParameter {
|
|
// Map key
|
|
string name = 1;
|
|
// Mapped value
|
|
Parameter value = 2;
|
|
}
|
|
|
|
// Automatically-generated message used to represent maps of PathItem as ordered (name,value) pairs.
|
|
message NamedPathItem {
|
|
// Map key
|
|
string name = 1;
|
|
// Mapped value
|
|
PathItem value = 2;
|
|
}
|
|
|
|
// Automatically-generated message used to represent maps of Response as ordered (name,value) pairs.
|
|
message NamedResponse {
|
|
// Map key
|
|
string name = 1;
|
|
// Mapped value
|
|
Response value = 2;
|
|
}
|
|
|
|
// Automatically-generated message used to represent maps of ResponseValue as ordered (name,value) pairs.
|
|
message NamedResponseValue {
|
|
// Map key
|
|
string name = 1;
|
|
// Mapped value
|
|
ResponseValue value = 2;
|
|
}
|
|
|
|
// Automatically-generated message used to represent maps of Schema as ordered (name,value) pairs.
|
|
message NamedSchema {
|
|
// Map key
|
|
string name = 1;
|
|
// Mapped value
|
|
Schema value = 2;
|
|
}
|
|
|
|
// Automatically-generated message used to represent maps of SecurityDefinitionsItem as ordered (name,value) pairs.
|
|
message NamedSecurityDefinitionsItem {
|
|
// Map key
|
|
string name = 1;
|
|
// Mapped value
|
|
SecurityDefinitionsItem value = 2;
|
|
}
|
|
|
|
// Automatically-generated message used to represent maps of string as ordered (name,value) pairs.
|
|
message NamedString {
|
|
// Map key
|
|
string name = 1;
|
|
// Mapped value
|
|
string value = 2;
|
|
}
|
|
|
|
// Automatically-generated message used to represent maps of StringArray as ordered (name,value) pairs.
|
|
message NamedStringArray {
|
|
// Map key
|
|
string name = 1;
|
|
// Mapped value
|
|
StringArray value = 2;
|
|
}
|
|
|
|
message NonBodyParameter {
|
|
oneof oneof {
|
|
HeaderParameterSubSchema header_parameter_sub_schema = 1;
|
|
FormDataParameterSubSchema form_data_parameter_sub_schema = 2;
|
|
QueryParameterSubSchema query_parameter_sub_schema = 3;
|
|
PathParameterSubSchema path_parameter_sub_schema = 4;
|
|
}
|
|
}
|
|
|
|
message Oauth2AccessCodeSecurity {
|
|
string type = 1;
|
|
string flow = 2;
|
|
Oauth2Scopes scopes = 3;
|
|
string authorization_url = 4;
|
|
string token_url = 5;
|
|
string description = 6;
|
|
repeated NamedAny vendor_extension = 7;
|
|
}
|
|
|
|
message Oauth2ApplicationSecurity {
|
|
string type = 1;
|
|
string flow = 2;
|
|
Oauth2Scopes scopes = 3;
|
|
string token_url = 4;
|
|
string description = 5;
|
|
repeated NamedAny vendor_extension = 6;
|
|
}
|
|
|
|
message Oauth2ImplicitSecurity {
|
|
string type = 1;
|
|
string flow = 2;
|
|
Oauth2Scopes scopes = 3;
|
|
string authorization_url = 4;
|
|
string description = 5;
|
|
repeated NamedAny vendor_extension = 6;
|
|
}
|
|
|
|
message Oauth2PasswordSecurity {
|
|
string type = 1;
|
|
string flow = 2;
|
|
Oauth2Scopes scopes = 3;
|
|
string token_url = 4;
|
|
string description = 5;
|
|
repeated NamedAny vendor_extension = 6;
|
|
}
|
|
|
|
message Oauth2Scopes {
|
|
repeated NamedString additional_properties = 1;
|
|
}
|
|
|
|
message Operation {
|
|
repeated string tags = 1;
|
|
// A brief summary of the operation.
|
|
string summary = 2;
|
|
// A longer description of the operation, GitHub Flavored Markdown is allowed.
|
|
string description = 3;
|
|
ExternalDocs external_docs = 4;
|
|
// A unique identifier of the operation.
|
|
string operation_id = 5;
|
|
// A list of MIME types the API can produce.
|
|
repeated string produces = 6;
|
|
// A list of MIME types the API can consume.
|
|
repeated string consumes = 7;
|
|
// The parameters needed to send a valid API call.
|
|
repeated ParametersItem parameters = 8;
|
|
Responses responses = 9;
|
|
// The transfer protocol of the API.
|
|
repeated string schemes = 10;
|
|
bool deprecated = 11;
|
|
repeated SecurityRequirement security = 12;
|
|
repeated NamedAny vendor_extension = 13;
|
|
}
|
|
|
|
message Parameter {
|
|
oneof oneof {
|
|
BodyParameter body_parameter = 1;
|
|
NonBodyParameter non_body_parameter = 2;
|
|
}
|
|
}
|
|
|
|
// One or more JSON representations for parameters
|
|
message ParameterDefinitions {
|
|
repeated NamedParameter additional_properties = 1;
|
|
}
|
|
|
|
message ParametersItem {
|
|
oneof oneof {
|
|
Parameter parameter = 1;
|
|
JsonReference json_reference = 2;
|
|
}
|
|
}
|
|
|
|
message PathItem {
|
|
string _ref = 1;
|
|
Operation get = 2;
|
|
Operation put = 3;
|
|
Operation post = 4;
|
|
Operation delete = 5;
|
|
Operation options = 6;
|
|
Operation head = 7;
|
|
Operation patch = 8;
|
|
// The parameters needed to send a valid API call.
|
|
repeated ParametersItem parameters = 9;
|
|
repeated NamedAny vendor_extension = 10;
|
|
}
|
|
|
|
message PathParameterSubSchema {
|
|
// Determines whether or not this parameter is required or optional.
|
|
bool required = 1;
|
|
// Determines the location of the parameter.
|
|
string in = 2;
|
|
// A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed.
|
|
string description = 3;
|
|
// The name of the parameter.
|
|
string name = 4;
|
|
string type = 5;
|
|
string format = 6;
|
|
PrimitivesItems items = 7;
|
|
string collection_format = 8;
|
|
Any default = 9;
|
|
double maximum = 10;
|
|
bool exclusive_maximum = 11;
|
|
double minimum = 12;
|
|
bool exclusive_minimum = 13;
|
|
int64 max_length = 14;
|
|
int64 min_length = 15;
|
|
string pattern = 16;
|
|
int64 max_items = 17;
|
|
int64 min_items = 18;
|
|
bool unique_items = 19;
|
|
repeated Any enum = 20;
|
|
double multiple_of = 21;
|
|
repeated NamedAny vendor_extension = 22;
|
|
}
|
|
|
|
// Relative paths to the individual endpoints. They must be relative to the 'basePath'.
|
|
message Paths {
|
|
repeated NamedAny vendor_extension = 1;
|
|
repeated NamedPathItem path = 2;
|
|
}
|
|
|
|
message PrimitivesItems {
|
|
string type = 1;
|
|
string format = 2;
|
|
PrimitivesItems items = 3;
|
|
string collection_format = 4;
|
|
Any default = 5;
|
|
double maximum = 6;
|
|
bool exclusive_maximum = 7;
|
|
double minimum = 8;
|
|
bool exclusive_minimum = 9;
|
|
int64 max_length = 10;
|
|
int64 min_length = 11;
|
|
string pattern = 12;
|
|
int64 max_items = 13;
|
|
int64 min_items = 14;
|
|
bool unique_items = 15;
|
|
repeated Any enum = 16;
|
|
double multiple_of = 17;
|
|
repeated NamedAny vendor_extension = 18;
|
|
}
|
|
|
|
message Properties {
|
|
repeated NamedSchema additional_properties = 1;
|
|
}
|
|
|
|
message QueryParameterSubSchema {
|
|
// Determines whether or not this parameter is required or optional.
|
|
bool required = 1;
|
|
// Determines the location of the parameter.
|
|
string in = 2;
|
|
// A brief description of the parameter. This could contain examples of use. GitHub Flavored Markdown is allowed.
|
|
string description = 3;
|
|
// The name of the parameter.
|
|
string name = 4;
|
|
// allows sending a parameter by name only or with an empty value.
|
|
bool allow_empty_value = 5;
|
|
string type = 6;
|
|
string format = 7;
|
|
PrimitivesItems items = 8;
|
|
string collection_format = 9;
|
|
Any default = 10;
|
|
double maximum = 11;
|
|
bool exclusive_maximum = 12;
|
|
double minimum = 13;
|
|
bool exclusive_minimum = 14;
|
|
int64 max_length = 15;
|
|
int64 min_length = 16;
|
|
string pattern = 17;
|
|
int64 max_items = 18;
|
|
int64 min_items = 19;
|
|
bool unique_items = 20;
|
|
repeated Any enum = 21;
|
|
double multiple_of = 22;
|
|
repeated NamedAny vendor_extension = 23;
|
|
}
|
|
|
|
message Response {
|
|
string description = 1;
|
|
SchemaItem schema = 2;
|
|
Headers headers = 3;
|
|
Examples examples = 4;
|
|
repeated NamedAny vendor_extension = 5;
|
|
}
|
|
|
|
// One or more JSON representations for parameters
|
|
message ResponseDefinitions {
|
|
repeated NamedResponse additional_properties = 1;
|
|
}
|
|
|
|
message ResponseValue {
|
|
oneof oneof {
|
|
Response response = 1;
|
|
JsonReference json_reference = 2;
|
|
}
|
|
}
|
|
|
|
// Response objects names can either be any valid HTTP status code or 'default'.
|
|
message Responses {
|
|
repeated NamedResponseValue response_code = 1;
|
|
repeated NamedAny vendor_extension = 2;
|
|
}
|
|
|
|
// A deterministic version of a JSON Schema object.
|
|
message Schema {
|
|
string _ref = 1;
|
|
string format = 2;
|
|
string title = 3;
|
|
string description = 4;
|
|
Any default = 5;
|
|
double multiple_of = 6;
|
|
double maximum = 7;
|
|
bool exclusive_maximum = 8;
|
|
double minimum = 9;
|
|
bool exclusive_minimum = 10;
|
|
int64 max_length = 11;
|
|
int64 min_length = 12;
|
|
string pattern = 13;
|
|
int64 max_items = 14;
|
|
int64 min_items = 15;
|
|
bool unique_items = 16;
|
|
int64 max_properties = 17;
|
|
int64 min_properties = 18;
|
|
repeated string required = 19;
|
|
repeated Any enum = 20;
|
|
AdditionalPropertiesItem additional_properties = 21;
|
|
TypeItem type = 22;
|
|
ItemsItem items = 23;
|
|
repeated Schema all_of = 24;
|
|
Properties properties = 25;
|
|
string discriminator = 26;
|
|
bool read_only = 27;
|
|
Xml xml = 28;
|
|
ExternalDocs external_docs = 29;
|
|
Any example = 30;
|
|
repeated NamedAny vendor_extension = 31;
|
|
}
|
|
|
|
message SchemaItem {
|
|
oneof oneof {
|
|
Schema schema = 1;
|
|
FileSchema file_schema = 2;
|
|
}
|
|
}
|
|
|
|
message SecurityDefinitions {
|
|
repeated NamedSecurityDefinitionsItem additional_properties = 1;
|
|
}
|
|
|
|
message SecurityDefinitionsItem {
|
|
oneof oneof {
|
|
BasicAuthenticationSecurity basic_authentication_security = 1;
|
|
ApiKeySecurity api_key_security = 2;
|
|
Oauth2ImplicitSecurity oauth2_implicit_security = 3;
|
|
Oauth2PasswordSecurity oauth2_password_security = 4;
|
|
Oauth2ApplicationSecurity oauth2_application_security = 5;
|
|
Oauth2AccessCodeSecurity oauth2_access_code_security = 6;
|
|
}
|
|
}
|
|
|
|
message SecurityRequirement {
|
|
repeated NamedStringArray additional_properties = 1;
|
|
}
|
|
|
|
message StringArray {
|
|
repeated string value = 1;
|
|
}
|
|
|
|
message Tag {
|
|
string name = 1;
|
|
string description = 2;
|
|
ExternalDocs external_docs = 3;
|
|
repeated NamedAny vendor_extension = 4;
|
|
}
|
|
|
|
message TypeItem {
|
|
repeated string value = 1;
|
|
}
|
|
|
|
// Any property starting with x- is valid.
|
|
message VendorExtension {
|
|
repeated NamedAny additional_properties = 1;
|
|
}
|
|
|
|
message Xml {
|
|
string name = 1;
|
|
string namespace = 2;
|
|
string prefix = 3;
|
|
bool attribute = 4;
|
|
bool wrapped = 5;
|
|
repeated NamedAny vendor_extension = 6;
|
|
}
|
|
|