github.com/percona/percona-xtradb-cluster-operator@v1.14.0/version/version.swagger.yaml (about)

     1  swagger: "2.0"
     2  info:
     3    title: api/version.proto
     4    version: "1.0"
     5  schemes:
     6    - http
     7    - https
     8  consumes:
     9    - application/json
    10  produces:
    11    - application/json
    12  paths:
    13    /versions/v1/{product}:
    14      get:
    15        summary: Product versions for all operator version
    16        description: Return product versions for all operator
    17        operationId: VersionService_Product
    18        responses:
    19          "200":
    20            description: A successful response.
    21            schema:
    22              $ref: '#/definitions/versionProductResponse'
    23          default:
    24            description: An unexpected error response
    25            schema:
    26              $ref: '#/definitions/googlerpcStatus'
    27        parameters:
    28          - name: product
    29            in: path
    30            required: true
    31            type: string
    32          - name: databaseVersion
    33            in: query
    34            required: false
    35            type: string
    36          - name: kubeVersion
    37            in: query
    38            required: false
    39            type: string
    40          - name: platform
    41            in: query
    42            required: false
    43            type: string
    44          - name: pmmVersion
    45            in: query
    46            required: false
    47            type: string
    48          - name: backupVersion
    49            in: query
    50            required: false
    51            type: string
    52          - name: proxysqlVersion
    53            in: query
    54            required: false
    55            type: string
    56          - name: haproxyVersion
    57            in: query
    58            required: false
    59            type: string
    60          - name: namespaceUid
    61            in: query
    62            required: false
    63            type: string
    64          - name: customResourceUid
    65            in: query
    66            required: false
    67            type: string
    68          - name: logCollectorVersion
    69            in: query
    70            required: false
    71            type: string
    72          - name: shardingEnabled
    73            in: query
    74            required: false
    75            type: boolean
    76            format: boolean
    77          - name: hashicorpVaultEnabled
    78            in: query
    79            required: false
    80            type: boolean
    81            format: boolean
    82          - name: clusterWideEnabled
    83            in: query
    84            required: false
    85            type: boolean
    86            format: boolean
    87        tags:
    88          - VersionService
    89    /versions/v1/{product}/{operatorVersion}:
    90      get:
    91        summary: Product versions for specific operator version
    92        description: Return product versions for specific operator
    93        operationId: VersionService_Operator
    94        responses:
    95          "200":
    96            description: A successful response.
    97            schema:
    98              $ref: '#/definitions/versionOperatorResponse'
    99          default:
   100            description: An unexpected error response
   101            schema:
   102              $ref: '#/definitions/googlerpcStatus'
   103        parameters:
   104          - name: product
   105            in: path
   106            required: true
   107            type: string
   108          - name: operatorVersion
   109            in: path
   110            required: true
   111            type: string
   112          - name: databaseVersion
   113            in: query
   114            required: false
   115            type: string
   116          - name: kubeVersion
   117            in: query
   118            required: false
   119            type: string
   120          - name: platform
   121            in: query
   122            required: false
   123            type: string
   124          - name: pmmVersion
   125            in: query
   126            required: false
   127            type: string
   128          - name: backupVersion
   129            in: query
   130            required: false
   131            type: string
   132          - name: proxysqlVersion
   133            in: query
   134            required: false
   135            type: string
   136          - name: haproxyVersion
   137            in: query
   138            required: false
   139            type: string
   140          - name: namespaceUid
   141            in: query
   142            required: false
   143            type: string
   144          - name: customResourceUid
   145            in: query
   146            required: false
   147            type: string
   148          - name: logCollectorVersion
   149            in: query
   150            required: false
   151            type: string
   152          - name: shardingEnabled
   153            in: query
   154            required: false
   155            type: boolean
   156            format: boolean
   157          - name: hashicorpVaultEnabled
   158            in: query
   159            required: false
   160            type: boolean
   161            format: boolean
   162          - name: clusterWideEnabled
   163            in: query
   164            required: false
   165            type: boolean
   166            format: boolean
   167        tags:
   168          - VersionService
   169    /versions/v1/{product}/{operatorVersion}/{apply}:
   170      get:
   171        summary: Specific version
   172        description: Return specific product version
   173        operationId: VersionService_Apply
   174        responses:
   175          "200":
   176            description: A successful response.
   177            schema:
   178              $ref: '#/definitions/versionVersionResponse'
   179          default:
   180            description: An unexpected error response
   181            schema:
   182              $ref: '#/definitions/googlerpcStatus'
   183        parameters:
   184          - name: product
   185            in: path
   186            required: true
   187            type: string
   188          - name: operatorVersion
   189            in: path
   190            required: true
   191            type: string
   192          - name: apply
   193            in: path
   194            required: true
   195            type: string
   196          - name: databaseVersion
   197            in: query
   198            required: false
   199            type: string
   200          - name: kubeVersion
   201            in: query
   202            required: false
   203            type: string
   204          - name: platform
   205            in: query
   206            required: false
   207            type: string
   208          - name: pmmVersion
   209            in: query
   210            required: false
   211            type: string
   212          - name: backupVersion
   213            in: query
   214            required: false
   215            type: string
   216          - name: proxysqlVersion
   217            in: query
   218            required: false
   219            type: string
   220          - name: haproxyVersion
   221            in: query
   222            required: false
   223            type: string
   224          - name: namespaceUid
   225            in: query
   226            required: false
   227            type: string
   228          - name: customResourceUid
   229            in: query
   230            required: false
   231            type: string
   232          - name: logCollectorVersion
   233            in: query
   234            required: false
   235            type: string
   236          - name: shardingEnabled
   237            in: query
   238            required: false
   239            type: boolean
   240            format: boolean
   241          - name: hashicorpVaultEnabled
   242            in: query
   243            required: false
   244            type: boolean
   245            format: boolean
   246          - name: clusterWideEnabled
   247            in: query
   248            required: false
   249            type: boolean
   250            format: boolean
   251        tags:
   252          - VersionService
   253  definitions:
   254    googlerpcStatus:
   255      type: object
   256      properties:
   257        code:
   258          type: integer
   259          format: int32
   260        message:
   261          type: string
   262        details:
   263          type: array
   264          items:
   265            $ref: '#/definitions/protobufAny'
   266    protobufAny:
   267      type: object
   268      properties:
   269        typeUrl:
   270          type: string
   271          description: |-
   272            A URL/resource name that uniquely identifies the type of the serialized
   273            protocol buffer message. This string must contain at least
   274            one "/" character. The last segment of the URL's path must represent
   275            the fully qualified name of the type (as in
   276            `path/google.protobuf.Duration`). The name should be in a canonical form
   277            (e.g., leading "." is not accepted).
   278  
   279            In practice, teams usually precompile into the binary all types that they
   280            expect it to use in the context of Any. However, for URLs which use the
   281            scheme `http`, `https`, or no scheme, one can optionally set up a type
   282            server that maps type URLs to message definitions as follows:
   283  
   284            * If no scheme is provided, `https` is assumed.
   285            * An HTTP GET on the URL must yield a [google.protobuf.Type][]
   286              value in binary format, or produce an error.
   287            * Applications are allowed to cache lookup results based on the
   288              URL, or have them precompiled into a binary to avoid any
   289              lookup. Therefore, binary compatibility needs to be preserved
   290              on changes to types. (Use versioned type names to manage
   291              breaking changes.)
   292  
   293            Note: this functionality is not currently available in the official
   294            protobuf release, and it is not used for type URLs beginning with
   295            type.googleapis.com.
   296  
   297            Schemes other than `http`, `https` (or the empty scheme) might be
   298            used with implementation specific semantics.
   299        value:
   300          type: string
   301          format: byte
   302          description: Must be a valid serialized protocol buffer of the above specified type.
   303      description: |-
   304        `Any` contains an arbitrary serialized protocol buffer message along with a
   305        URL that describes the type of the serialized message.
   306  
   307        Protobuf library provides support to pack/unpack Any values in the form
   308        of utility functions or additional generated methods of the Any type.
   309  
   310        Example 1: Pack and unpack a message in C++.
   311  
   312            Foo foo = ...;
   313            Any any;
   314            any.PackFrom(foo);
   315            ...
   316            if (any.UnpackTo(&foo)) {
   317              ...
   318            }
   319  
   320        Example 2: Pack and unpack a message in Java.
   321  
   322            Foo foo = ...;
   323            Any any = Any.pack(foo);
   324            ...
   325            if (any.is(Foo.class)) {
   326              foo = any.unpack(Foo.class);
   327            }
   328  
   329         Example 3: Pack and unpack a message in Python.
   330  
   331            foo = Foo(...)
   332            any = Any()
   333            any.Pack(foo)
   334            ...
   335            if any.Is(Foo.DESCRIPTOR):
   336              any.Unpack(foo)
   337              ...
   338  
   339         Example 4: Pack and unpack a message in Go
   340  
   341             foo := &pb.Foo{...}
   342             any, err := ptypes.MarshalAny(foo)
   343             ...
   344             foo := &pb.Foo{}
   345             if err := ptypes.UnmarshalAny(any, foo); err != nil {
   346               ...
   347             }
   348  
   349        The pack methods provided by protobuf library will by default use
   350        'type.googleapis.com/full.type.name' as the type URL and the unpack
   351        methods only use the fully qualified type name after the last '/'
   352        in the type URL, for example "foo.bar.com/x/y.z" will yield type
   353        name "y.z".
   354  
   355  
   356        JSON
   357        ====
   358        The JSON representation of an `Any` value uses the regular
   359        representation of the deserialized, embedded message, with an
   360        additional field `@type` which contains the type URL. Example:
   361  
   362            package google.profile;
   363            message Person {
   364              string first_name = 1;
   365              string last_name = 2;
   366            }
   367  
   368            {
   369              "@type": "type.googleapis.com/google.profile.Person",
   370              "firstName": <string>,
   371              "lastName": <string>
   372            }
   373  
   374        If the embedded message type is well-known and has a custom JSON
   375        representation, that representation will be embedded adding a field
   376        `value` which holds the custom JSON in addition to the `@type`
   377        field. Example (for message [google.protobuf.Duration][]):
   378  
   379            {
   380              "@type": "type.googleapis.com/google.protobuf.Duration",
   381              "value": "1.212s"
   382            }
   383    versionOperatorResponse:
   384      type: object
   385      properties:
   386        versions:
   387          type: array
   388          items:
   389            $ref: '#/definitions/versionOperatorVersion'
   390    versionOperatorVersion:
   391      type: object
   392      properties:
   393        product:
   394          type: string
   395        operator:
   396          type: string
   397        matrix:
   398          $ref: '#/definitions/versionVersionMatrix'
   399      description: OperatorVersion represents operator version.
   400    versionProductResponse:
   401      type: object
   402      properties:
   403        versions:
   404          type: array
   405          items:
   406            $ref: '#/definitions/versionOperatorVersion'
   407    versionStatus:
   408      type: string
   409      enum:
   410        - status_invalid
   411        - recommended
   412        - available
   413        - required
   414        - disabled
   415      default: status_invalid
   416      description: Status describes the current version status.
   417    versionVersion:
   418      type: object
   419      properties:
   420        imagePath:
   421          type: string
   422        imageHash:
   423          type: string
   424        status:
   425          $ref: '#/definitions/versionStatus'
   426        critical:
   427          type: boolean
   428          format: boolean
   429      description: Version represents product version information.
   430    versionVersionMatrix:
   431      type: object
   432      properties:
   433        mongod:
   434          type: object
   435          additionalProperties:
   436            $ref: '#/definitions/versionVersion'
   437        pxc:
   438          type: object
   439          additionalProperties:
   440            $ref: '#/definitions/versionVersion'
   441        pmm:
   442          type: object
   443          additionalProperties:
   444            $ref: '#/definitions/versionVersion'
   445        proxysql:
   446          type: object
   447          additionalProperties:
   448            $ref: '#/definitions/versionVersion'
   449        haproxy:
   450          type: object
   451          additionalProperties:
   452            $ref: '#/definitions/versionVersion'
   453        backup:
   454          type: object
   455          additionalProperties:
   456            $ref: '#/definitions/versionVersion'
   457        operator:
   458          type: object
   459          additionalProperties:
   460            $ref: '#/definitions/versionVersion'
   461        logCollector:
   462          type: object
   463          additionalProperties:
   464            $ref: '#/definitions/versionVersion'
   465        postgresql:
   466          type: object
   467          additionalProperties:
   468            $ref: '#/definitions/versionVersion'
   469        pgbackrest:
   470          type: object
   471          additionalProperties:
   472            $ref: '#/definitions/versionVersion'
   473        pgbackrestRepo:
   474          type: object
   475          additionalProperties:
   476            $ref: '#/definitions/versionVersion'
   477        pgbadger:
   478          type: object
   479          additionalProperties:
   480            $ref: '#/definitions/versionVersion'
   481        pgbouncer:
   482          type: object
   483          additionalProperties:
   484            $ref: '#/definitions/versionVersion'
   485        pxcOperator:
   486          type: object
   487          additionalProperties:
   488            $ref: '#/definitions/versionVersion'
   489        psmdbOperator:
   490          type: object
   491          additionalProperties:
   492            $ref: '#/definitions/versionVersion'
   493        pgOperatorApiserver:
   494          type: object
   495          additionalProperties:
   496            $ref: '#/definitions/versionVersion'
   497        pgOperatorEvent:
   498          type: object
   499          additionalProperties:
   500            $ref: '#/definitions/versionVersion'
   501        pgOperatorRmdata:
   502          type: object
   503          additionalProperties:
   504            $ref: '#/definitions/versionVersion'
   505        pgOperatorScheduler:
   506          type: object
   507          additionalProperties:
   508            $ref: '#/definitions/versionVersion'
   509        pgOperator:
   510          type: object
   511          additionalProperties:
   512            $ref: '#/definitions/versionVersion'
   513        pgOperatorDeployer:
   514          type: object
   515          additionalProperties:
   516            $ref: '#/definitions/versionVersion'
   517        psOperator:
   518          type: object
   519          additionalProperties:
   520            $ref: '#/definitions/versionVersion'
   521        mysql:
   522          type: object
   523          additionalProperties:
   524            $ref: '#/definitions/versionVersion'
   525        router:
   526          type: object
   527          additionalProperties:
   528            $ref: '#/definitions/versionVersion'
   529        orchestrator:
   530          type: object
   531          additionalProperties:
   532            $ref: '#/definitions/versionVersion'
   533      description: VersionMatrix represents set of possible product versions.
   534    versionVersionResponse:
   535      type: object
   536      properties:
   537        versions:
   538          type: array
   539          items:
   540            $ref: '#/definitions/versionOperatorVersion'
   541  externalDocs:
   542    description: This service provides version information and image paths for supporting the use of Percona Kubernetes Operators in a variety of scenarios while enabling specific version deployments and automated upgrades.
   543    url: https://github.com/Percona-Lab/percona-version-service