github.com/openshift-online/ocm-sdk-go@v0.1.473/openapi/addons_mgmt/v1/openapi.json (about)

     1  {
     2    "openapi": "3.0.0",
     3    "info": {
     4      "version": "v1",
     5      "title": "addons_mgmt",
     6      "license": {
     7        "name": "Apache 2.0",
     8        "url": "http://www.apache.org/licenses/LICENSE-2.0"
     9      },
    10      "contact": {
    11        "name": "OCM Feedback",
    12        "email": "ocm-feedback@redhat.com"
    13      }
    14    },
    15    "servers": [
    16      {
    17        "description": "Production",
    18        "url": "https://api.openshift.com"
    19      },
    20      {
    21        "description": "Stage",
    22        "url": "https://api.stage.openshift.com"
    23      }
    24    ],
    25    "paths": {
    26      "/api/addons_mgmt/v1": {
    27        "get": {
    28          "description": "Retrieves the version metadata.",
    29          "responses": {
    30            "200": {
    31              "description": "Success.",
    32              "content": {
    33                "application/json": {
    34                  "schema": {
    35                    "$ref": "#/components/schemas/Metadata"
    36                  }
    37                }
    38              }
    39            },
    40            "default": {
    41              "description": "Error.",
    42              "content": {
    43                "application/json": {
    44                  "schema": {
    45                    "$ref": "#/components/schemas/Error"
    46                  }
    47                }
    48              }
    49            }
    50          }
    51        }
    52      },
    53      "/api/addons_mgmt/v1/addons": {
    54        "post": {
    55          "description": "Create a new addon and add it to the collection of addons.",
    56          "parameters": [
    57            {
    58              "name": "dryRun",
    59              "description": "DryRun indicates the request body will not be persisted when dryRun=true. ",
    60              "in": "query",
    61              "schema": {
    62                "type": "boolean"
    63              }
    64            }
    65          ],
    66          "requestBody": {
    67            "content": {
    68              "application/json": {
    69                "schema": {
    70                  "$ref": "#/components/schemas/Addon"
    71                }
    72              }
    73            }
    74          },
    75          "responses": {
    76            "201": {
    77              "description": "Success.",
    78              "content": {
    79                "application/json": {
    80                  "schema": {
    81                    "$ref": "#/components/schemas/Addon"
    82                  }
    83                }
    84              }
    85            },
    86            "default": {
    87              "description": "Error.",
    88              "content": {
    89                "application/json": {
    90                  "schema": {
    91                    "$ref": "#/components/schemas/Error"
    92                  }
    93                }
    94              }
    95            }
    96          }
    97        },
    98        "get": {
    99          "description": "Retrieves the list of addons.",
   100          "parameters": [
   101            {
   102              "name": "order",
   103              "description": "Order criteria.\n\nThe syntax of this parameter is similar to the syntax of the _order by_ clause of\na SQL statement, but using the names of the attributes of the addon instead of\nthe names of the columns of a table. For example, in order to sort the addons\ndescending by name the value should be:\n\n```sql\nname desc\n```\n\nIf the parameter isn't provided, or if the value is empty, then the order of the\nresults is undefined.",
   104              "in": "query",
   105              "schema": {
   106                "type": "string"
   107              }
   108            },
   109            {
   110              "name": "page",
   111              "description": "Index of the requested page, where one corresponds to the first page.",
   112              "in": "query",
   113              "schema": {
   114                "type": "integer",
   115                "format": "int32"
   116              }
   117            },
   118            {
   119              "name": "search",
   120              "description": "Search criteria.\n\nThe syntax of this parameter is similar to the syntax of the _where_ clause of an\nSQL statement, but using the names of the attributes of the addon instead of\nthe names of the columns of a table. For example, in order to retrieve all the\naddons with a name starting with `my` the value should be:\n\n```sql\nname like 'my%'\n```\n\nIf the parameter isn't provided, or if the value is empty, then all the addons\nthat the user has permission to see will be returned.",
   121              "in": "query",
   122              "schema": {
   123                "type": "string"
   124              }
   125            },
   126            {
   127              "name": "size",
   128              "description": "Maximum number of items that will be contained in the returned page.",
   129              "in": "query",
   130              "schema": {
   131                "type": "integer",
   132                "format": "int32"
   133              }
   134            }
   135          ],
   136          "responses": {
   137            "200": {
   138              "description": "Success.",
   139              "content": {
   140                "application/json": {
   141                  "schema": {
   142                    "type": "object",
   143                    "properties": {
   144                      "items": {
   145                        "description": "Retrieved list of add-ons.",
   146                        "type": "array",
   147                        "items": {
   148                          "$ref": "#/components/schemas/Addon"
   149                        }
   150                      },
   151                      "page": {
   152                        "description": "Index of the requested page, where one corresponds to the first page.",
   153                        "type": "integer",
   154                        "format": "int32"
   155                      },
   156                      "size": {
   157                        "description": "Maximum number of items that will be contained in the returned page.",
   158                        "type": "integer",
   159                        "format": "int32"
   160                      },
   161                      "total": {
   162                        "description": "Total number of items of the collection that match the search criteria,\nregardless of the size of the page.",
   163                        "type": "integer",
   164                        "format": "int32"
   165                      }
   166                    }
   167                  }
   168                }
   169              }
   170            },
   171            "default": {
   172              "description": "Error.",
   173              "content": {
   174                "application/json": {
   175                  "schema": {
   176                    "$ref": "#/components/schemas/Error"
   177                  }
   178                }
   179              }
   180            }
   181          }
   182        }
   183      },
   184      "/api/addons_mgmt/v1/addons/{addon_id}": {
   185        "delete": {
   186          "description": "Deletes the addon.",
   187          "parameters": [
   188            {
   189              "name": "addon_id",
   190              "in": "path",
   191              "schema": {
   192                "type": "string"
   193              },
   194              "required": true
   195            }
   196          ],
   197          "responses": {
   198            "204": {
   199              "description": "Success."
   200            },
   201            "default": {
   202              "description": "Error.",
   203              "content": {
   204                "application/json": {
   205                  "schema": {
   206                    "$ref": "#/components/schemas/Error"
   207                  }
   208                }
   209              }
   210            }
   211          }
   212        },
   213        "get": {
   214          "description": "Retrieves the details of the addon.",
   215          "parameters": [
   216            {
   217              "name": "addon_id",
   218              "in": "path",
   219              "schema": {
   220                "type": "string"
   221              },
   222              "required": true
   223            }
   224          ],
   225          "responses": {
   226            "200": {
   227              "description": "Success.",
   228              "content": {
   229                "application/json": {
   230                  "schema": {
   231                    "$ref": "#/components/schemas/Addon"
   232                  }
   233                }
   234              }
   235            },
   236            "default": {
   237              "description": "Error.",
   238              "content": {
   239                "application/json": {
   240                  "schema": {
   241                    "$ref": "#/components/schemas/Error"
   242                  }
   243                }
   244              }
   245            }
   246          }
   247        },
   248        "patch": {
   249          "description": "Updates the addon.",
   250          "parameters": [
   251            {
   252              "name": "addon_id",
   253              "in": "path",
   254              "schema": {
   255                "type": "string"
   256              },
   257              "required": true
   258            },
   259            {
   260              "name": "dryRun",
   261              "description": "DryRun indicates the request body will not be persisted when dryRun=true. ",
   262              "in": "query",
   263              "schema": {
   264                "type": "boolean"
   265              }
   266            }
   267          ],
   268          "requestBody": {
   269            "content": {
   270              "application/json": {
   271                "schema": {
   272                  "$ref": "#/components/schemas/Addon"
   273                }
   274              }
   275            }
   276          },
   277          "responses": {
   278            "200": {
   279              "description": "Success.",
   280              "content": {
   281                "application/json": {
   282                  "schema": {
   283                    "$ref": "#/components/schemas/Addon"
   284                  }
   285                }
   286              }
   287            },
   288            "default": {
   289              "description": "Error.",
   290              "content": {
   291                "application/json": {
   292                  "schema": {
   293                    "$ref": "#/components/schemas/Error"
   294                  }
   295                }
   296              }
   297            }
   298          }
   299        }
   300      },
   301      "/api/addons_mgmt/v1/addons/{addon_id}/versions": {
   302        "post": {
   303          "description": "Create a new addon version and add it to the collection of addons.",
   304          "parameters": [
   305            {
   306              "name": "addon_id",
   307              "in": "path",
   308              "schema": {
   309                "type": "string"
   310              },
   311              "required": true
   312            },
   313            {
   314              "name": "dryRun",
   315              "description": "DryRun indicates the request body will not be persisted when dryRun=true. ",
   316              "in": "query",
   317              "schema": {
   318                "type": "boolean"
   319              }
   320            }
   321          ],
   322          "requestBody": {
   323            "content": {
   324              "application/json": {
   325                "schema": {
   326                  "$ref": "#/components/schemas/AddonVersion"
   327                }
   328              }
   329            }
   330          },
   331          "responses": {
   332            "201": {
   333              "description": "Success.",
   334              "content": {
   335                "application/json": {
   336                  "schema": {
   337                    "$ref": "#/components/schemas/AddonVersion"
   338                  }
   339                }
   340              }
   341            },
   342            "default": {
   343              "description": "Error.",
   344              "content": {
   345                "application/json": {
   346                  "schema": {
   347                    "$ref": "#/components/schemas/Error"
   348                  }
   349                }
   350              }
   351            }
   352          }
   353        },
   354        "get": {
   355          "description": "Retrieves the list of addon versions.",
   356          "parameters": [
   357            {
   358              "name": "addon_id",
   359              "in": "path",
   360              "schema": {
   361                "type": "string"
   362              },
   363              "required": true
   364            },
   365            {
   366              "name": "order",
   367              "description": "Order criteria.\n\nThe syntax of this parameter is similar to the syntax of the _order by_ clause of\na SQL statement, but using the names of the attributes of the addon instead of\nthe names of the columns of a table. For example, in order to sort the addon\nversions descending by id the value should be:\n\n```sql\nid desc\n```\n\nIf the parameter isn't provided, or if the value is empty, then the order of the\nresults is undefined.",
   368              "in": "query",
   369              "schema": {
   370                "type": "string"
   371              }
   372            },
   373            {
   374              "name": "page",
   375              "description": "Index of the requested page, where one corresponds to the first page.",
   376              "in": "query",
   377              "schema": {
   378                "type": "integer",
   379                "format": "int32"
   380              }
   381            },
   382            {
   383              "name": "search",
   384              "description": "Search criteria.\n\nThe syntax of this parameter is similar to the syntax of the _where_ clause of an\nSQL statement, but using the names of the attributes of the addon version instead\nof the names of the columns of a table. For example, in order to retrieve all the\naddon versions with an id starting with `0.1` the value should be:\n\n```sql\nid like '0.1.%'\n```\n\nIf the parameter isn't provided, or if the value is empty, then all the addon\nversions that the user has permission to see will be returned.",
   385              "in": "query",
   386              "schema": {
   387                "type": "string"
   388              }
   389            },
   390            {
   391              "name": "size",
   392              "description": "Maximum number of items that will be contained in the returned page.",
   393              "in": "query",
   394              "schema": {
   395                "type": "integer",
   396                "format": "int32"
   397              }
   398            }
   399          ],
   400          "responses": {
   401            "200": {
   402              "description": "Success.",
   403              "content": {
   404                "application/json": {
   405                  "schema": {
   406                    "type": "object",
   407                    "properties": {
   408                      "items": {
   409                        "description": "Retrieved list of addon versions.",
   410                        "type": "array",
   411                        "items": {
   412                          "$ref": "#/components/schemas/AddonVersion"
   413                        }
   414                      },
   415                      "page": {
   416                        "description": "Index of the requested page, where one corresponds to the first page.",
   417                        "type": "integer",
   418                        "format": "int32"
   419                      },
   420                      "size": {
   421                        "description": "Maximum number of items that will be contained in the returned page.",
   422                        "type": "integer",
   423                        "format": "int32"
   424                      },
   425                      "total": {
   426                        "description": "Total number of items of the collection that match the search criteria,\nregardless of the size of the page.",
   427                        "type": "integer",
   428                        "format": "int32"
   429                      }
   430                    }
   431                  }
   432                }
   433              }
   434            },
   435            "default": {
   436              "description": "Error.",
   437              "content": {
   438                "application/json": {
   439                  "schema": {
   440                    "$ref": "#/components/schemas/Error"
   441                  }
   442                }
   443              }
   444            }
   445          }
   446        }
   447      },
   448      "/api/addons_mgmt/v1/addons/{addon_id}/versions/{version_id}": {
   449        "delete": {
   450          "description": "Deletes the addon version.",
   451          "parameters": [
   452            {
   453              "name": "addon_id",
   454              "in": "path",
   455              "schema": {
   456                "type": "string"
   457              },
   458              "required": true
   459            },
   460            {
   461              "name": "version_id",
   462              "in": "path",
   463              "schema": {
   464                "type": "string"
   465              },
   466              "required": true
   467            }
   468          ],
   469          "responses": {
   470            "204": {
   471              "description": "Success."
   472            },
   473            "default": {
   474              "description": "Error.",
   475              "content": {
   476                "application/json": {
   477                  "schema": {
   478                    "$ref": "#/components/schemas/Error"
   479                  }
   480                }
   481              }
   482            }
   483          }
   484        },
   485        "get": {
   486          "description": "Retrieves the details of the addon version.",
   487          "parameters": [
   488            {
   489              "name": "addon_id",
   490              "in": "path",
   491              "schema": {
   492                "type": "string"
   493              },
   494              "required": true
   495            },
   496            {
   497              "name": "version_id",
   498              "in": "path",
   499              "schema": {
   500                "type": "string"
   501              },
   502              "required": true
   503            }
   504          ],
   505          "responses": {
   506            "200": {
   507              "description": "Success.",
   508              "content": {
   509                "application/json": {
   510                  "schema": {
   511                    "$ref": "#/components/schemas/AddonVersion"
   512                  }
   513                }
   514              }
   515            },
   516            "default": {
   517              "description": "Error.",
   518              "content": {
   519                "application/json": {
   520                  "schema": {
   521                    "$ref": "#/components/schemas/Error"
   522                  }
   523                }
   524              }
   525            }
   526          }
   527        },
   528        "patch": {
   529          "description": "Updates the addon version.",
   530          "parameters": [
   531            {
   532              "name": "addon_id",
   533              "in": "path",
   534              "schema": {
   535                "type": "string"
   536              },
   537              "required": true
   538            },
   539            {
   540              "name": "version_id",
   541              "in": "path",
   542              "schema": {
   543                "type": "string"
   544              },
   545              "required": true
   546            },
   547            {
   548              "name": "dryRun",
   549              "description": "DryRun indicates the request body will not be persisted when dryRun=true. ",
   550              "in": "query",
   551              "schema": {
   552                "type": "boolean"
   553              }
   554            }
   555          ],
   556          "requestBody": {
   557            "content": {
   558              "application/json": {
   559                "schema": {
   560                  "$ref": "#/components/schemas/AddonVersion"
   561                }
   562              }
   563            }
   564          },
   565          "responses": {
   566            "200": {
   567              "description": "Success.",
   568              "content": {
   569                "application/json": {
   570                  "schema": {
   571                    "$ref": "#/components/schemas/AddonVersion"
   572                  }
   573                }
   574              }
   575            },
   576            "default": {
   577              "description": "Error.",
   578              "content": {
   579                "application/json": {
   580                  "schema": {
   581                    "$ref": "#/components/schemas/Error"
   582                  }
   583                }
   584              }
   585            }
   586          }
   587        }
   588      },
   589      "/api/addons_mgmt/v1/clusters/{cluster_id}/addon_inquiries": {
   590        "get": {
   591          "parameters": [
   592            {
   593              "name": "cluster_id",
   594              "in": "path",
   595              "schema": {
   596                "type": "string"
   597              },
   598              "required": true
   599            },
   600            {
   601              "name": "order",
   602              "description": "Order criteria.\n\nThe syntax of this parameter is similar to the syntax of the _order by_ clause of\na SQL statement, but using the names of the attributes of the add-on instead of\nthe names of the columns of a table. For example, in order to sort the add-ons\ndescending by name the value should be:\n\n```sql\nname desc\n```\n\nIf the parameter isn't provided, or if the value is empty, then the order of the\nresults is undefined.",
   603              "in": "query",
   604              "schema": {
   605                "type": "string"
   606              }
   607            },
   608            {
   609              "name": "page",
   610              "description": "Index of the requested page, where one corresponds to the first page.",
   611              "in": "query",
   612              "schema": {
   613                "type": "integer",
   614                "format": "int32"
   615              }
   616            },
   617            {
   618              "name": "search",
   619              "description": "Search criteria.\n\nThe syntax of this parameter is similar to the syntax of the _where_ clause of an\nSQL statement, but using the names of the attributes of the add-on instead of\nthe names of the columns of a table. For example, in order to retrieve all the\nadd-ons with a name starting with `my` the value should be:\n\n```sql\nname like 'my%'\n```\n\nIf the parameter isn't provided, or if the value is empty, then all the add-ons\nthat the user has permission to see will be returned.",
   620              "in": "query",
   621              "schema": {
   622                "type": "string"
   623              }
   624            },
   625            {
   626              "name": "size",
   627              "description": "Maximum number of items that will be contained in the returned page.",
   628              "in": "query",
   629              "schema": {
   630                "type": "integer",
   631                "format": "int32"
   632              }
   633            }
   634          ],
   635          "responses": {
   636            "200": {
   637              "description": "Success.",
   638              "content": {
   639                "application/json": {
   640                  "schema": {
   641                    "type": "object",
   642                    "properties": {
   643                      "items": {
   644                        "description": "Retrieved list of add-ons.",
   645                        "type": "array",
   646                        "items": {
   647                          "$ref": "#/components/schemas/Addon"
   648                        }
   649                      },
   650                      "page": {
   651                        "description": "Index of the requested page, where one corresponds to the first page.",
   652                        "type": "integer",
   653                        "format": "int32"
   654                      },
   655                      "size": {
   656                        "description": "Maximum number of items that will be contained in the returned page.",
   657                        "type": "integer",
   658                        "format": "int32"
   659                      },
   660                      "total": {
   661                        "description": "Total number of items of the collection that match the search criteria,\nregardless of the size of the page.",
   662                        "type": "integer",
   663                        "format": "int32"
   664                      }
   665                    }
   666                  }
   667                }
   668              }
   669            },
   670            "default": {
   671              "description": "Error.",
   672              "content": {
   673                "application/json": {
   674                  "schema": {
   675                    "$ref": "#/components/schemas/Error"
   676                  }
   677                }
   678              }
   679            }
   680          }
   681        }
   682      },
   683      "/api/addons_mgmt/v1/clusters/{cluster_id}/addon_inquiries/{addon_inquiry_id}": {
   684        "get": {
   685          "parameters": [
   686            {
   687              "name": "cluster_id",
   688              "in": "path",
   689              "schema": {
   690                "type": "string"
   691              },
   692              "required": true
   693            },
   694            {
   695              "name": "addon_inquiry_id",
   696              "in": "path",
   697              "schema": {
   698                "type": "string"
   699              },
   700              "required": true
   701            }
   702          ],
   703          "responses": {
   704            "200": {
   705              "description": "Success.",
   706              "content": {
   707                "application/json": {
   708                  "schema": {
   709                    "$ref": "#/components/schemas/Addon"
   710                  }
   711                }
   712              }
   713            },
   714            "default": {
   715              "description": "Error.",
   716              "content": {
   717                "application/json": {
   718                  "schema": {
   719                    "$ref": "#/components/schemas/Error"
   720                  }
   721                }
   722              }
   723            }
   724          }
   725        }
   726      },
   727      "/api/addons_mgmt/v1/clusters/{cluster_id}/addons": {
   728        "post": {
   729          "description": "Create a new addon status and add it to the collection of addons installation.",
   730          "parameters": [
   731            {
   732              "name": "cluster_id",
   733              "in": "path",
   734              "schema": {
   735                "type": "string"
   736              },
   737              "required": true
   738            }
   739          ],
   740          "requestBody": {
   741            "content": {
   742              "application/json": {
   743                "schema": {
   744                  "$ref": "#/components/schemas/AddonInstallation"
   745                }
   746              }
   747            }
   748          },
   749          "responses": {
   750            "201": {
   751              "description": "Success.",
   752              "content": {
   753                "application/json": {
   754                  "schema": {
   755                    "$ref": "#/components/schemas/AddonInstallation"
   756                  }
   757                }
   758              }
   759            },
   760            "default": {
   761              "description": "Error.",
   762              "content": {
   763                "application/json": {
   764                  "schema": {
   765                    "$ref": "#/components/schemas/Error"
   766                  }
   767                }
   768              }
   769            }
   770          }
   771        },
   772        "delete": {
   773          "parameters": [
   774            {
   775              "name": "cluster_id",
   776              "in": "path",
   777              "schema": {
   778                "type": "string"
   779              },
   780              "required": true
   781            }
   782          ],
   783          "responses": {
   784            "204": {
   785              "description": "Success."
   786            },
   787            "default": {
   788              "description": "Error.",
   789              "content": {
   790                "application/json": {
   791                  "schema": {
   792                    "$ref": "#/components/schemas/Error"
   793                  }
   794                }
   795              }
   796            }
   797          }
   798        },
   799        "get": {
   800          "description": "Retrieves the list of addon installations for a cluster.",
   801          "parameters": [
   802            {
   803              "name": "cluster_id",
   804              "in": "path",
   805              "schema": {
   806                "type": "string"
   807              },
   808              "required": true
   809            },
   810            {
   811              "name": "order",
   812              "description": "If the parameter isn't provided, or if the value is empty, then the order of the\nresults is undefined.",
   813              "in": "query",
   814              "schema": {
   815                "type": "string"
   816              }
   817            },
   818            {
   819              "name": "page",
   820              "description": "Index of the requested page, where one corresponds to the first page.",
   821              "in": "query",
   822              "schema": {
   823                "type": "integer",
   824                "format": "int32"
   825              }
   826            },
   827            {
   828              "name": "size",
   829              "description": "Maximum number of items that will be contained in the returned page.",
   830              "in": "query",
   831              "schema": {
   832                "type": "integer",
   833                "format": "int32"
   834              }
   835            }
   836          ],
   837          "responses": {
   838            "200": {
   839              "description": "Success.",
   840              "content": {
   841                "application/json": {
   842                  "schema": {
   843                    "type": "object",
   844                    "properties": {
   845                      "items": {
   846                        "description": "Retrieved list of addon installations",
   847                        "type": "array",
   848                        "items": {
   849                          "$ref": "#/components/schemas/AddonInstallation"
   850                        }
   851                      },
   852                      "page": {
   853                        "description": "Index of the requested page, where one corresponds to the first page.",
   854                        "type": "integer",
   855                        "format": "int32"
   856                      },
   857                      "size": {
   858                        "description": "Maximum number of items that will be contained in the returned page.",
   859                        "type": "integer",
   860                        "format": "int32"
   861                      },
   862                      "total": {
   863                        "description": "Total number of items of the collection regardless of the size of the page.",
   864                        "type": "integer",
   865                        "format": "int32"
   866                      }
   867                    }
   868                  }
   869                }
   870              }
   871            },
   872            "default": {
   873              "description": "Error.",
   874              "content": {
   875                "application/json": {
   876                  "schema": {
   877                    "$ref": "#/components/schemas/Error"
   878                  }
   879                }
   880              }
   881            }
   882          }
   883        }
   884      },
   885      "/api/addons_mgmt/v1/clusters/{cluster_id}/addons/{addon_id}": {
   886        "delete": {
   887          "description": "Deletes the addon installation.",
   888          "parameters": [
   889            {
   890              "name": "cluster_id",
   891              "in": "path",
   892              "schema": {
   893                "type": "string"
   894              },
   895              "required": true
   896            },
   897            {
   898              "name": "addon_id",
   899              "in": "path",
   900              "schema": {
   901                "type": "string"
   902              },
   903              "required": true
   904            }
   905          ],
   906          "responses": {
   907            "204": {
   908              "description": "Success."
   909            },
   910            "default": {
   911              "description": "Error.",
   912              "content": {
   913                "application/json": {
   914                  "schema": {
   915                    "$ref": "#/components/schemas/Error"
   916                  }
   917                }
   918              }
   919            }
   920          }
   921        },
   922        "get": {
   923          "description": "Retrieves the details of the addon installation.",
   924          "parameters": [
   925            {
   926              "name": "cluster_id",
   927              "in": "path",
   928              "schema": {
   929                "type": "string"
   930              },
   931              "required": true
   932            },
   933            {
   934              "name": "addon_id",
   935              "in": "path",
   936              "schema": {
   937                "type": "string"
   938              },
   939              "required": true
   940            }
   941          ],
   942          "responses": {
   943            "200": {
   944              "description": "Success.",
   945              "content": {
   946                "application/json": {
   947                  "schema": {
   948                    "$ref": "#/components/schemas/AddonInstallation"
   949                  }
   950                }
   951              }
   952            },
   953            "default": {
   954              "description": "Error.",
   955              "content": {
   956                "application/json": {
   957                  "schema": {
   958                    "$ref": "#/components/schemas/Error"
   959                  }
   960                }
   961              }
   962            }
   963          }
   964        },
   965        "patch": {
   966          "description": "Updates the addon installation.",
   967          "parameters": [
   968            {
   969              "name": "cluster_id",
   970              "in": "path",
   971              "schema": {
   972                "type": "string"
   973              },
   974              "required": true
   975            },
   976            {
   977              "name": "addon_id",
   978              "in": "path",
   979              "schema": {
   980                "type": "string"
   981              },
   982              "required": true
   983            },
   984            {
   985              "name": "dryRun",
   986              "description": "DryRun indicates the request body will not be persisted when dryRun=true. ",
   987              "in": "query",
   988              "schema": {
   989                "type": "boolean"
   990              }
   991            }
   992          ],
   993          "requestBody": {
   994            "content": {
   995              "application/json": {
   996                "schema": {
   997                  "$ref": "#/components/schemas/AddonInstallation"
   998                }
   999              }
  1000            }
  1001          },
  1002          "responses": {
  1003            "200": {
  1004              "description": "Success.",
  1005              "content": {
  1006                "application/json": {
  1007                  "schema": {
  1008                    "$ref": "#/components/schemas/AddonInstallation"
  1009                  }
  1010                }
  1011              }
  1012            },
  1013            "default": {
  1014              "description": "Error.",
  1015              "content": {
  1016                "application/json": {
  1017                  "schema": {
  1018                    "$ref": "#/components/schemas/Error"
  1019                  }
  1020                }
  1021              }
  1022            }
  1023          }
  1024        }
  1025      },
  1026      "/api/addons_mgmt/v1/clusters/{cluster_id}/status": {
  1027        "post": {
  1028          "description": "Create a new addon status and add it to the collection of addons statuses.",
  1029          "parameters": [
  1030            {
  1031              "name": "cluster_id",
  1032              "in": "path",
  1033              "schema": {
  1034                "type": "string"
  1035              },
  1036              "required": true
  1037            }
  1038          ],
  1039          "requestBody": {
  1040            "content": {
  1041              "application/json": {
  1042                "schema": {
  1043                  "$ref": "#/components/schemas/AddonStatus"
  1044                }
  1045              }
  1046            }
  1047          },
  1048          "responses": {
  1049            "201": {
  1050              "description": "Success.",
  1051              "content": {
  1052                "application/json": {
  1053                  "schema": {
  1054                    "$ref": "#/components/schemas/AddonStatus"
  1055                  }
  1056                }
  1057              }
  1058            },
  1059            "default": {
  1060              "description": "Error.",
  1061              "content": {
  1062                "application/json": {
  1063                  "schema": {
  1064                    "$ref": "#/components/schemas/Error"
  1065                  }
  1066                }
  1067              }
  1068            }
  1069          }
  1070        },
  1071        "get": {
  1072          "description": "Retrieves the list of addon statuses for a cluster.",
  1073          "parameters": [
  1074            {
  1075              "name": "cluster_id",
  1076              "in": "path",
  1077              "schema": {
  1078                "type": "string"
  1079              },
  1080              "required": true
  1081            },
  1082            {
  1083              "name": "order",
  1084              "description": "If the parameter isn't provided, or if the value is empty, then the order of the\nresults is undefined.",
  1085              "in": "query",
  1086              "schema": {
  1087                "type": "string"
  1088              }
  1089            },
  1090            {
  1091              "name": "page",
  1092              "description": "Index of the requested page, where one corresponds to the first page.",
  1093              "in": "query",
  1094              "schema": {
  1095                "type": "integer",
  1096                "format": "int32"
  1097              }
  1098            },
  1099            {
  1100              "name": "size",
  1101              "description": "Maximum number of items that will be contained in the returned page.",
  1102              "in": "query",
  1103              "schema": {
  1104                "type": "integer",
  1105                "format": "int32"
  1106              }
  1107            }
  1108          ],
  1109          "responses": {
  1110            "200": {
  1111              "description": "Success.",
  1112              "content": {
  1113                "application/json": {
  1114                  "schema": {
  1115                    "type": "object",
  1116                    "properties": {
  1117                      "items": {
  1118                        "description": "Retrieved list of addon status conditions",
  1119                        "type": "array",
  1120                        "items": {
  1121                          "$ref": "#/components/schemas/AddonStatus"
  1122                        }
  1123                      },
  1124                      "page": {
  1125                        "description": "Index of the requested page, where one corresponds to the first page.",
  1126                        "type": "integer",
  1127                        "format": "int32"
  1128                      },
  1129                      "size": {
  1130                        "description": "Maximum number of items that will be contained in the returned page.",
  1131                        "type": "integer",
  1132                        "format": "int32"
  1133                      },
  1134                      "total": {
  1135                        "description": "Total number of items of the collection regardless of the size of the page.",
  1136                        "type": "integer",
  1137                        "format": "int32"
  1138                      }
  1139                    }
  1140                  }
  1141                }
  1142              }
  1143            },
  1144            "default": {
  1145              "description": "Error.",
  1146              "content": {
  1147                "application/json": {
  1148                  "schema": {
  1149                    "$ref": "#/components/schemas/Error"
  1150                  }
  1151                }
  1152              }
  1153            }
  1154          }
  1155        }
  1156      },
  1157      "/api/addons_mgmt/v1/clusters/{cluster_id}/status/{addon_id}": {
  1158        "delete": {
  1159          "description": "Deletes the addon version.",
  1160          "parameters": [
  1161            {
  1162              "name": "cluster_id",
  1163              "in": "path",
  1164              "schema": {
  1165                "type": "string"
  1166              },
  1167              "required": true
  1168            },
  1169            {
  1170              "name": "addon_id",
  1171              "in": "path",
  1172              "schema": {
  1173                "type": "string"
  1174              },
  1175              "required": true
  1176            }
  1177          ],
  1178          "responses": {
  1179            "204": {
  1180              "description": "Success."
  1181            },
  1182            "default": {
  1183              "description": "Error.",
  1184              "content": {
  1185                "application/json": {
  1186                  "schema": {
  1187                    "$ref": "#/components/schemas/Error"
  1188                  }
  1189                }
  1190              }
  1191            }
  1192          }
  1193        },
  1194        "get": {
  1195          "description": "Retrieves the details of the addon version.",
  1196          "parameters": [
  1197            {
  1198              "name": "cluster_id",
  1199              "in": "path",
  1200              "schema": {
  1201                "type": "string"
  1202              },
  1203              "required": true
  1204            },
  1205            {
  1206              "name": "addon_id",
  1207              "in": "path",
  1208              "schema": {
  1209                "type": "string"
  1210              },
  1211              "required": true
  1212            }
  1213          ],
  1214          "responses": {
  1215            "200": {
  1216              "description": "Success.",
  1217              "content": {
  1218                "application/json": {
  1219                  "schema": {
  1220                    "$ref": "#/components/schemas/AddonStatus"
  1221                  }
  1222                }
  1223              }
  1224            },
  1225            "default": {
  1226              "description": "Error.",
  1227              "content": {
  1228                "application/json": {
  1229                  "schema": {
  1230                    "$ref": "#/components/schemas/Error"
  1231                  }
  1232                }
  1233              }
  1234            }
  1235          }
  1236        },
  1237        "patch": {
  1238          "description": "Updates the addon version.",
  1239          "parameters": [
  1240            {
  1241              "name": "cluster_id",
  1242              "in": "path",
  1243              "schema": {
  1244                "type": "string"
  1245              },
  1246              "required": true
  1247            },
  1248            {
  1249              "name": "addon_id",
  1250              "in": "path",
  1251              "schema": {
  1252                "type": "string"
  1253              },
  1254              "required": true
  1255            }
  1256          ],
  1257          "requestBody": {
  1258            "content": {
  1259              "application/json": {
  1260                "schema": {
  1261                  "$ref": "#/components/schemas/AddonStatus"
  1262                }
  1263              }
  1264            }
  1265          },
  1266          "responses": {
  1267            "200": {
  1268              "description": "Success.",
  1269              "content": {
  1270                "application/json": {
  1271                  "schema": {
  1272                    "$ref": "#/components/schemas/AddonStatus"
  1273                  }
  1274                }
  1275              }
  1276            },
  1277            "default": {
  1278              "description": "Error.",
  1279              "content": {
  1280                "application/json": {
  1281                  "schema": {
  1282                    "$ref": "#/components/schemas/Error"
  1283                  }
  1284                }
  1285              }
  1286            }
  1287          }
  1288        }
  1289      }
  1290    },
  1291    "components": {
  1292      "schemas": {
  1293        "Metadata": {
  1294          "description": "Version metadata.",
  1295          "properties": {
  1296            "server_version": {
  1297              "description": "Version of the server.",
  1298              "type": "string"
  1299            }
  1300          }
  1301        },
  1302        "AdditionalCatalogSource": {
  1303          "description": "Representation of an addon catalog source object used by addon versions.",
  1304          "properties": {
  1305            "id": {
  1306              "description": "ID of the additional catalog source",
  1307              "type": "string"
  1308            },
  1309            "enabled": {
  1310              "description": "Indicates is this additional catalog source is enabled for the addon",
  1311              "type": "boolean"
  1312            },
  1313            "image": {
  1314              "description": "Image of the additional catalog source.",
  1315              "type": "string"
  1316            },
  1317            "name": {
  1318              "description": "Name of the additional catalog source.",
  1319              "type": "string"
  1320            }
  1321          }
  1322        },
  1323        "Addon": {
  1324          "description": "Representation of an addon that can be installed in a cluster.",
  1325          "properties": {
  1326            "kind": {
  1327              "description": "Indicates the type of this object. Will be 'Addon' if this is a complete object or 'AddonLink' if it is just a link.",
  1328              "type": "string"
  1329            },
  1330            "id": {
  1331              "description": "Unique identifier of the object.",
  1332              "type": "string"
  1333            },
  1334            "href": {
  1335              "description": "Self link.",
  1336              "type": "string"
  1337            },
  1338            "common_annotations": {
  1339              "description": "Common Annotations for this addon.",
  1340              "type": "object",
  1341              "additionalProperties": {
  1342                "type": "string"
  1343              }
  1344            },
  1345            "common_labels": {
  1346              "description": "Common Labels for this addon.",
  1347              "type": "object",
  1348              "additionalProperties": {
  1349                "type": "string"
  1350              }
  1351            },
  1352            "config": {
  1353              "description": "Additional configs to be used by the addon once its installed in the cluster.",
  1354              "$ref": "#/components/schemas/AddonConfig"
  1355            },
  1356            "credentials_requests": {
  1357              "description": "List of credentials requests to authenticate operators to access cloud resources.",
  1358              "type": "array",
  1359              "items": {
  1360                "$ref": "#/components/schemas/CredentialRequest"
  1361              }
  1362            },
  1363            "description": {
  1364              "description": "Description of the addon.",
  1365              "type": "string"
  1366            },
  1367            "docs_link": {
  1368              "description": "Link to documentation about the addon.",
  1369              "type": "string"
  1370            },
  1371            "enabled": {
  1372              "description": "Indicates if this addon can be added to clusters.",
  1373              "type": "boolean"
  1374            },
  1375            "has_external_resources": {
  1376              "description": "Indicates if this addon has external resources associated with it",
  1377              "type": "boolean"
  1378            },
  1379            "hidden": {
  1380              "description": "Indicates if this addon is hidden.",
  1381              "type": "boolean"
  1382            },
  1383            "icon": {
  1384              "description": "Base64-encoded icon representing an addon. The icon should be in PNG format.",
  1385              "type": "string"
  1386            },
  1387            "install_mode": {
  1388              "description": "The mode in which the addon is deployed.",
  1389              "$ref": "#/components/schemas/AddonInstallMode"
  1390            },
  1391            "label": {
  1392              "description": "Label used to attach to a cluster deployment when addon is installed.",
  1393              "type": "string"
  1394            },
  1395            "managed_service": {
  1396              "description": "Indicates if addon is part of a managed service",
  1397              "type": "boolean"
  1398            },
  1399            "name": {
  1400              "description": "Name of the addon.",
  1401              "type": "string"
  1402            },
  1403            "namespaces": {
  1404              "description": "List of namespaces associated with this addon.",
  1405              "type": "array",
  1406              "items": {
  1407                "$ref": "#/components/schemas/AddonNamespace"
  1408              }
  1409            },
  1410            "operator_name": {
  1411              "description": "The name of the operator installed by this addon.",
  1412              "type": "string"
  1413            },
  1414            "parameters": {
  1415              "description": "List of parameters for this addon.",
  1416              "type": "array",
  1417              "items": {
  1418                "$ref": "#/components/schemas/AddonParameter"
  1419              }
  1420            },
  1421            "requirements": {
  1422              "description": "List of requirements for this addon.",
  1423              "type": "array",
  1424              "items": {
  1425                "$ref": "#/components/schemas/AddonRequirement"
  1426              }
  1427            },
  1428            "resource_cost": {
  1429              "description": "Used to determine how many units of quota an addon consumes per resource name.",
  1430              "type": "number",
  1431              "format": "float"
  1432            },
  1433            "resource_name": {
  1434              "description": "Used to determine from where to reserve quota for this addon.",
  1435              "type": "string"
  1436            },
  1437            "sub_operators": {
  1438              "description": "List of sub operators for this addon.",
  1439              "type": "array",
  1440              "items": {
  1441                "$ref": "#/components/schemas/AddonSubOperator"
  1442              }
  1443            },
  1444            "target_namespace": {
  1445              "description": "The namespace in which the addon CRD exists.",
  1446              "type": "string"
  1447            },
  1448            "version": {
  1449              "description": "Link to the current default version of this addon.",
  1450              "$ref": "#/components/schemas/AddonVersion"
  1451            }
  1452          }
  1453        },
  1454        "AddonConfig": {
  1455          "description": "Representation of an addon config.\nThe attributes under it are to be used by the addon once its installed in the cluster.",
  1456          "properties": {
  1457            "add_on_environment_variables": {
  1458              "description": "List of environment variables for the addon",
  1459              "type": "array",
  1460              "items": {
  1461                "$ref": "#/components/schemas/AddonEnvironmentVariable"
  1462              }
  1463            },
  1464            "add_on_secret_propagations": {
  1465              "description": "List of secret propagations for the addon",
  1466              "type": "array",
  1467              "items": {
  1468                "$ref": "#/components/schemas/AddonSecretPropagation"
  1469              }
  1470            }
  1471          }
  1472        },
  1473        "AddonEnvironmentVariable": {
  1474          "description": "Representation of an addon env object.",
  1475          "properties": {
  1476            "id": {
  1477              "description": "ID for the environment variable",
  1478              "type": "string"
  1479            },
  1480            "enabled": {
  1481              "description": "Indicates is this environment variable is enabled for the addon",
  1482              "type": "boolean"
  1483            },
  1484            "name": {
  1485              "description": "Name of the environment variable",
  1486              "type": "string"
  1487            },
  1488            "value": {
  1489              "description": "Value of the environment variable",
  1490              "type": "string"
  1491            }
  1492          }
  1493        },
  1494        "AddonInstallMode": {
  1495          "description": "Representation of an addon InstallMode field.",
  1496          "type": "string",
  1497          "enum": [
  1498            "all_namespaces",
  1499            "own_namespace"
  1500          ]
  1501        },
  1502        "AddonInstallation": {
  1503          "description": "Representation of addon installation",
  1504          "properties": {
  1505            "kind": {
  1506              "description": "Indicates the type of this object. Will be 'AddonInstallation' if this is a complete object or 'AddonInstallationLink' if it is just a link.",
  1507              "type": "string"
  1508            },
  1509            "id": {
  1510              "description": "Unique identifier of the object.",
  1511              "type": "string"
  1512            },
  1513            "href": {
  1514              "description": "Self link.",
  1515              "type": "string"
  1516            },
  1517            "addon": {
  1518              "description": "Addon installed",
  1519              "$ref": "#/components/schemas/Addon"
  1520            },
  1521            "addon_version": {
  1522              "description": "Addon version of the addon",
  1523              "$ref": "#/components/schemas/AddonVersion"
  1524            },
  1525            "billing": {
  1526              "description": "Billing of addon installation.",
  1527              "$ref": "#/components/schemas/AddonInstallationBilling"
  1528            },
  1529            "creation_timestamp": {
  1530              "description": "Date and time when the add-on was initially installed in the cluster.",
  1531              "type": "string",
  1532              "format": "date-time"
  1533            },
  1534            "csv_name": {
  1535              "description": "Current CSV installed on cluster",
  1536              "type": "string"
  1537            },
  1538            "deleted_timestamp": {
  1539              "description": "Date and time when the add-on installation deleted at.",
  1540              "type": "string",
  1541              "format": "date-time"
  1542            },
  1543            "desired_version": {
  1544              "description": "Version of the next scheduled upgrade",
  1545              "type": "string"
  1546            },
  1547            "operator_version": {
  1548              "description": "Version of the operator installed by the add-on.",
  1549              "type": "string"
  1550            },
  1551            "parameters": {
  1552              "description": "Parameters in the installation",
  1553              "type": "array",
  1554              "items": {
  1555                "$ref": "#/components/schemas/AddonInstallationParameter"
  1556              }
  1557            },
  1558            "state": {
  1559              "description": "Addon Installation State",
  1560              "$ref": "#/components/schemas/AddonInstallationState"
  1561            },
  1562            "state_description": {
  1563              "description": "Reason for the current State.",
  1564              "type": "string"
  1565            },
  1566            "subscription": {
  1567              "description": "Subscription for the addon installation",
  1568              "$ref": "#/components/schemas/ObjectReference"
  1569            },
  1570            "updated_timestamp": {
  1571              "description": "Date and time when the add-on installation information was last updated.",
  1572              "type": "string",
  1573              "format": "date-time"
  1574            }
  1575          }
  1576        },
  1577        "AddonInstallationBilling": {
  1578          "description": "Representation of an add-on installation billing.",
  1579          "properties": {
  1580            "billing_marketplace_account": {
  1581              "description": "Account ID for billing market place",
  1582              "type": "string"
  1583            },
  1584            "billing_model": {
  1585              "description": "Billing Model for addon resources",
  1586              "$ref": "#/components/schemas/BillingModel"
  1587            },
  1588            "href": {
  1589              "description": "Self link",
  1590              "type": "string"
  1591            },
  1592            "id": {
  1593              "description": "Unique identifier of the object",
  1594              "type": "string"
  1595            },
  1596            "kind": {
  1597              "description": "Indicates the type of this object",
  1598              "type": "string"
  1599            }
  1600          }
  1601        },
  1602        "AddonInstallationParameter": {
  1603          "description": "representation of addon installation parameter",
  1604          "properties": {
  1605            "href": {
  1606              "description": "Self link",
  1607              "type": "string"
  1608            },
  1609            "id": {
  1610              "description": "Unique identifier of the object",
  1611              "type": "string"
  1612            },
  1613            "kind": {
  1614              "description": "Indicates the type of this object",
  1615              "type": "string"
  1616            },
  1617            "value": {
  1618              "description": "Value of the parameter",
  1619              "type": "string"
  1620            }
  1621          }
  1622        },
  1623        "AddonInstallationParameters": {
  1624          "description": "representation of addon installation parameter",
  1625          "properties": {
  1626            "items": {
  1627              "description": "list of addon installation parameters",
  1628              "type": "array",
  1629              "items": {
  1630                "$ref": "#/components/schemas/AddonInstallationParameter"
  1631              }
  1632            }
  1633          }
  1634        },
  1635        "AddonInstallationState": {
  1636          "description": "representation of addon installation state",
  1637          "type": "string",
  1638          "enum": [
  1639            "delete-failed",
  1640            "delete-pending",
  1641            "deleted",
  1642            "deleting",
  1643            "failed",
  1644            "installing",
  1645            "pending",
  1646            "ready",
  1647            "undefined",
  1648            "upgrading"
  1649          ]
  1650        },
  1651        "AddonNamespace": {
  1652          "description": "Representation of an addon namespace object.",
  1653          "properties": {
  1654            "annotations": {
  1655              "description": "Annotations to be included in the addon namespace",
  1656              "type": "object",
  1657              "additionalProperties": {
  1658                "type": "string"
  1659              }
  1660            },
  1661            "enabled": {
  1662              "description": "Enabled shows if this namespace object is in use",
  1663              "type": "boolean"
  1664            },
  1665            "labels": {
  1666              "description": "Labels to be included in the addon namespace",
  1667              "type": "object",
  1668              "additionalProperties": {
  1669                "type": "string"
  1670              }
  1671            },
  1672            "name": {
  1673              "description": "Name of the namespace",
  1674              "type": "string"
  1675            }
  1676          }
  1677        },
  1678        "AddonParameter": {
  1679          "description": "Representation of an addon parameter.",
  1680          "properties": {
  1681            "id": {
  1682              "description": "ID for this addon parameter",
  1683              "type": "string"
  1684            },
  1685            "addon": {
  1686              "$ref": "#/components/schemas/Addon"
  1687            },
  1688            "conditions": {
  1689              "description": "Conditions in which this parameter is valid for",
  1690              "type": "array",
  1691              "items": {
  1692                "$ref": "#/components/schemas/AddonRequirement"
  1693              }
  1694            },
  1695            "default_value": {
  1696              "description": "Indicates the value default for the addon parameter.",
  1697              "type": "string"
  1698            },
  1699            "description": {
  1700              "description": "Description of the addon parameter.",
  1701              "type": "string"
  1702            },
  1703            "editable": {
  1704              "description": "Indicates if this parameter can be edited after creation.",
  1705              "type": "boolean"
  1706            },
  1707            "editable_direction": {
  1708              "description": "Restricts if the parameter can be upscaled/downscaled\nExpected values are \"up\", \"down\", or \"\" (no restriction).",
  1709              "type": "string"
  1710            },
  1711            "enabled": {
  1712              "description": "Indicates if this parameter is enabled for the addon.",
  1713              "type": "boolean"
  1714            },
  1715            "name": {
  1716              "description": "Name of the addon parameter.",
  1717              "type": "string"
  1718            },
  1719            "options": {
  1720              "description": "List of options for the addon parameter value.",
  1721              "type": "array",
  1722              "items": {
  1723                "$ref": "#/components/schemas/AddonParameterOption"
  1724              }
  1725            },
  1726            "order": {
  1727              "description": "Indicates the weight of the AddonParameter which would be used by sort order",
  1728              "type": "integer",
  1729              "format": "int32"
  1730            },
  1731            "required": {
  1732              "description": "Indicates if this parameter is required by the addon.",
  1733              "type": "boolean"
  1734            },
  1735            "validation": {
  1736              "description": "Validation rule for the addon parameter.",
  1737              "type": "string"
  1738            },
  1739            "validation_err_msg": {
  1740              "description": "Error message to return should the parameter be invalid.",
  1741              "type": "string"
  1742            },
  1743            "value_type": {
  1744              "description": "Type of value of the addon parameter.",
  1745              "$ref": "#/components/schemas/AddonParameterValueType"
  1746            }
  1747          }
  1748        },
  1749        "AddonParameterOption": {
  1750          "description": "Representation of an addon parameter option.",
  1751          "properties": {
  1752            "name": {
  1753              "description": "Name of the addon parameter option.",
  1754              "type": "string"
  1755            },
  1756            "rank": {
  1757              "description": "Rank of option to be used in cases where editable direction should be restricted.",
  1758              "type": "integer",
  1759              "format": "int32"
  1760            },
  1761            "requirements": {
  1762              "description": "List of addon requirements for this parameter option.",
  1763              "type": "array",
  1764              "items": {
  1765                "$ref": "#/components/schemas/AddonRequirement"
  1766              }
  1767            },
  1768            "value": {
  1769              "description": "Value of the addon parameter option.",
  1770              "type": "string"
  1771            }
  1772          }
  1773        },
  1774        "AddonParameterValueType": {
  1775          "description": "Representation of the value type for this specific addon parameter",
  1776          "type": "string",
  1777          "enum": [
  1778            "cidr",
  1779            "boolean",
  1780            "number",
  1781            "resource",
  1782            "resource_requirement",
  1783            "string"
  1784          ]
  1785        },
  1786        "AddonParameters": {
  1787          "description": "Representation of AddonParameters",
  1788          "properties": {
  1789            "items": {
  1790              "description": "List of addon parameters",
  1791              "type": "array",
  1792              "items": {
  1793                "$ref": "#/components/schemas/AddonParameter"
  1794              }
  1795            }
  1796          }
  1797        },
  1798        "AddonRequirement": {
  1799          "description": "Representation of an addon requirement.",
  1800          "properties": {
  1801            "id": {
  1802              "description": "ID of the addon requirement.",
  1803              "type": "string"
  1804            },
  1805            "data": {
  1806              "description": "Data for the addon requirement.",
  1807              "type": "object",
  1808              "additionalProperties": {
  1809                "type": "object"
  1810              }
  1811            },
  1812            "enabled": {
  1813              "description": "Indicates if this requirement is enabled for the addon.",
  1814              "type": "boolean"
  1815            },
  1816            "resource": {
  1817              "description": "Type of resource of the addon requirement.",
  1818              "$ref": "#/components/schemas/AddonRequirementResource"
  1819            },
  1820            "status": {
  1821              "description": "Optional cluster specific status for the addon.",
  1822              "$ref": "#/components/schemas/AddonRequirementStatus"
  1823            }
  1824          }
  1825        },
  1826        "AddonRequirementResource": {
  1827          "description": "Addon requirement resource type",
  1828          "type": "string",
  1829          "enum": [
  1830            "addon",
  1831            "cluster",
  1832            "machine_pool"
  1833          ]
  1834        },
  1835        "AddonRequirementStatus": {
  1836          "description": "Representation of an addon requirement status.",
  1837          "properties": {
  1838            "error_msgs": {
  1839              "description": "Error messages detailing reasons for unfulfilled requirements.",
  1840              "type": "array",
  1841              "items": {
  1842                "type": "string"
  1843              }
  1844            },
  1845            "fulfilled": {
  1846              "description": "Indicates if this requirement is fulfilled.",
  1847              "type": "boolean"
  1848            }
  1849          }
  1850        },
  1851        "AddonSecretPropagation": {
  1852          "description": "Representation of an addon secret propagation",
  1853          "properties": {
  1854            "id": {
  1855              "description": "ID of the secret propagation",
  1856              "type": "string"
  1857            },
  1858            "destination_secret": {
  1859              "description": "DestinationSecret is location of the secret to be added",
  1860              "type": "string"
  1861            },
  1862            "enabled": {
  1863              "description": "Indicates is this secret propagation is enabled for the addon",
  1864              "type": "boolean"
  1865            },
  1866            "source_secret": {
  1867              "description": "SourceSecret is location of the source secret",
  1868              "type": "string"
  1869            }
  1870          }
  1871        },
  1872        "AddonStatus": {
  1873          "description": "Representation of an addon status.",
  1874          "properties": {
  1875            "kind": {
  1876              "description": "Indicates the type of this object. Will be 'AddonStatus' if this is a complete object or 'AddonStatusLink' if it is just a link.",
  1877              "type": "string"
  1878            },
  1879            "id": {
  1880              "description": "Unique identifier of the object.",
  1881              "type": "string"
  1882            },
  1883            "href": {
  1884              "description": "Self link.",
  1885              "type": "string"
  1886            },
  1887            "addon_id": {
  1888              "description": "ID of the addon whose status belongs to.",
  1889              "type": "string"
  1890            },
  1891            "correlation_id": {
  1892              "description": "Identifier for co-relating current AddonCR revision and reported status.",
  1893              "type": "string"
  1894            },
  1895            "status_conditions": {
  1896              "description": "List of reported addon status conditions",
  1897              "type": "array",
  1898              "items": {
  1899                "$ref": "#/components/schemas/AddonStatusCondition"
  1900              }
  1901            },
  1902            "version": {
  1903              "description": "Version of the addon reporting the status",
  1904              "type": "string"
  1905            }
  1906          }
  1907        },
  1908        "AddonStatusCondition": {
  1909          "description": "Representation of an addon status condition type.",
  1910          "properties": {
  1911            "message": {
  1912              "description": "Message for the condition",
  1913              "type": "string"
  1914            },
  1915            "reason": {
  1916              "description": "Reason for the condition",
  1917              "type": "string"
  1918            },
  1919            "status_type": {
  1920              "description": "Type of the reported addon status condition",
  1921              "$ref": "#/components/schemas/AddonStatusConditionType"
  1922            },
  1923            "status_value": {
  1924              "description": "Value of the reported addon status condition",
  1925              "$ref": "#/components/schemas/AddonStatusConditionValue"
  1926            }
  1927          }
  1928        },
  1929        "AddonStatusConditionType": {
  1930          "description": "Representation of an addon status condition type field.",
  1931          "type": "string",
  1932          "enum": [
  1933            "Available",
  1934            "Degraded",
  1935            "DeleteTimeout",
  1936            "Healthy",
  1937            "Installed",
  1938            "Paused",
  1939            "ReadyToBeDeleted",
  1940            "UpgradeStarted",
  1941            "UpgradeSucceeded"
  1942          ]
  1943        },
  1944        "AddonStatusConditionValue": {
  1945          "description": "Representation of an addon status condition value field.",
  1946          "type": "string",
  1947          "enum": [
  1948            "False",
  1949            "True",
  1950            "Unknown"
  1951          ]
  1952        },
  1953        "AddonSubOperator": {
  1954          "description": "Representation of an addon sub operator. A sub operator is an operator\nwho's life cycle is controlled by the addon umbrella operator.",
  1955          "properties": {
  1956            "addon": {
  1957              "$ref": "#/components/schemas/Addon"
  1958            },
  1959            "enabled": {
  1960              "description": "Indicates if the sub operator is enabled for the addon",
  1961              "type": "boolean"
  1962            },
  1963            "operator_name": {
  1964              "description": "Name of the addon sub operator",
  1965              "type": "string"
  1966            },
  1967            "operator_namespace": {
  1968              "description": "Namespace of the addon sub operator",
  1969              "type": "string"
  1970            }
  1971          }
  1972        },
  1973        "AddonVersion": {
  1974          "description": "Representation of an addon version.",
  1975          "properties": {
  1976            "kind": {
  1977              "description": "Indicates the type of this object. Will be 'AddonVersion' if this is a complete object or 'AddonVersionLink' if it is just a link.",
  1978              "type": "string"
  1979            },
  1980            "id": {
  1981              "description": "Unique identifier of the object.",
  1982              "type": "string"
  1983            },
  1984            "href": {
  1985              "description": "Self link.",
  1986              "type": "string"
  1987            },
  1988            "additional_catalog_sources": {
  1989              "description": "Additional catalog sources associated with this addon version",
  1990              "type": "array",
  1991              "items": {
  1992                "$ref": "#/components/schemas/AdditionalCatalogSource"
  1993              }
  1994            },
  1995            "available_upgrades": {
  1996              "description": "AvailableUpgrades is the list of versions this version can be upgraded to.",
  1997              "type": "array",
  1998              "items": {
  1999                "type": "string"
  2000              }
  2001            },
  2002            "channel": {
  2003              "description": "The specific addon catalog source channel of packages",
  2004              "type": "string"
  2005            },
  2006            "config": {
  2007              "description": "Additional configs to be used by the addon once its installed in the cluster.",
  2008              "$ref": "#/components/schemas/AddonConfig"
  2009            },
  2010            "enabled": {
  2011              "description": "Indicates if this addon version can be added to clusters.",
  2012              "type": "boolean"
  2013            },
  2014            "metrics_federation": {
  2015              "description": "Configuration parameters to be injected in the ServiceMonitor used for federation.",
  2016              "$ref": "#/components/schemas/MetricsFederation"
  2017            },
  2018            "monitoring_stack": {
  2019              "description": "Configuration parameters which will determine the underlying configuration of the MonitoringStack CR. ",
  2020              "$ref": "#/components/schemas/MonitoringStack"
  2021            },
  2022            "package_image": {
  2023              "description": "The url for the package image",
  2024              "type": "string"
  2025            },
  2026            "parameters": {
  2027              "description": "List of parameters for this addon version.",
  2028              "$ref": "#/components/schemas/AddonParameters"
  2029            },
  2030            "pull_secret_name": {
  2031              "description": "The pull secret name used for this addon version.",
  2032              "type": "string"
  2033            },
  2034            "requirements": {
  2035              "description": "List of requirements for this addon version.",
  2036              "type": "array",
  2037              "items": {
  2038                "$ref": "#/components/schemas/AddonRequirement"
  2039              }
  2040            },
  2041            "source_image": {
  2042              "description": "The catalog source image for this addon version.",
  2043              "type": "string"
  2044            },
  2045            "sub_operators": {
  2046              "description": "List of sub operators for this addon version.",
  2047              "type": "array",
  2048              "items": {
  2049                "$ref": "#/components/schemas/AddonSubOperator"
  2050              }
  2051            },
  2052            "upgrade_plans_created": {
  2053              "description": "Indicates if upgrade plans have been created for this addon version",
  2054              "type": "boolean"
  2055            }
  2056          }
  2057        },
  2058        "BillingModel": {
  2059          "description": "Representation of an billing model field.",
  2060          "type": "string",
  2061          "enum": [
  2062            "marketplace",
  2063            "marketplace-aws",
  2064            "marketplace-azure",
  2065            "marketplace-rhm",
  2066            "standard"
  2067          ]
  2068        },
  2069        "CredentialRequest": {
  2070          "description": "Contains the necessary attributes to allow each operator to access the necessary AWS resources",
  2071          "properties": {
  2072            "name": {
  2073              "description": "Name of the credentials secret used to access cloud resources",
  2074              "type": "string"
  2075            },
  2076            "namespace": {
  2077              "description": "Namespace where the credentials secret lives in the cluster",
  2078              "type": "string"
  2079            },
  2080            "policy_permissions": {
  2081              "description": "List of policy permissions needed to access cloud resources",
  2082              "type": "array",
  2083              "items": {
  2084                "type": "string"
  2085              }
  2086            },
  2087            "service_account": {
  2088              "description": "Service account name to use when authenticating",
  2089              "type": "string"
  2090            }
  2091          }
  2092        },
  2093        "MetricsFederation": {
  2094          "description": "Representation of Metrics Federation",
  2095          "properties": {
  2096            "match_labels": {
  2097              "description": "List of labels used to discover the prometheus server(s) to be federated.",
  2098              "type": "object",
  2099              "additionalProperties": {
  2100                "type": "string"
  2101              }
  2102            },
  2103            "match_names": {
  2104              "description": "List of series names to federate from the prometheus server.",
  2105              "type": "array",
  2106              "items": {
  2107                "type": "string"
  2108              }
  2109            },
  2110            "namespace": {
  2111              "description": "Namespace where the prometheus server is running.",
  2112              "type": "string"
  2113            },
  2114            "port_name": {
  2115              "description": "Indicates the name of the service port fronting the prometheus server.",
  2116              "type": "string"
  2117            }
  2118          }
  2119        },
  2120        "MonitoringStack": {
  2121          "description": "Representation of Monitoring Stack",
  2122          "properties": {
  2123            "enabled": {
  2124              "description": "Indicates if the monitoring stack can be added to clusters for the addon.",
  2125              "type": "boolean"
  2126            },
  2127            "resources": {
  2128              "description": "Indicates the resources for the monitoring stack",
  2129              "$ref": "#/components/schemas/MonitoringStackResources"
  2130            }
  2131          }
  2132        },
  2133        "MonitoringStackResource": {
  2134          "description": "Representation of Monitoring Stack Resource",
  2135          "properties": {
  2136            "cpu": {
  2137              "description": "Indicates the CPU resource for monitoring stack.",
  2138              "type": "string"
  2139            },
  2140            "memory": {
  2141              "description": "Indicates the memory resource for monitoring stack.",
  2142              "type": "string"
  2143            }
  2144          }
  2145        },
  2146        "MonitoringStackResources": {
  2147          "description": "Representation of Monitoring Stack Resources",
  2148          "properties": {
  2149            "limits": {
  2150              "description": "Indicates the limit of resource for monitoring stack.",
  2151              "$ref": "#/components/schemas/MonitoringStackResource"
  2152            },
  2153            "requests": {
  2154              "description": "Indicates the requested amount of resource for monitoring stack.",
  2155              "$ref": "#/components/schemas/MonitoringStackResource"
  2156            }
  2157          }
  2158        },
  2159        "ObjectReference": {
  2160          "description": "representation of object reference/subscription",
  2161          "properties": {
  2162            "href": {
  2163              "description": "Self Link",
  2164              "type": "string"
  2165            },
  2166            "id": {
  2167              "description": "Unique identifier of the object.",
  2168              "type": "string"
  2169            },
  2170            "kind": {
  2171              "description": "Indicates the type of this object.",
  2172              "type": "string"
  2173            }
  2174          }
  2175        },
  2176        "Error": {
  2177          "type": "object",
  2178          "properties": {
  2179            "kind": {
  2180              "description": "Indicates the type of this object. Will always be 'Error'",
  2181              "type": "string"
  2182            },
  2183            "id": {
  2184              "description": "Numeric identifier of the error.",
  2185              "type": "integer",
  2186              "format": "int32"
  2187            },
  2188            "href": {
  2189              "description": "Self link.",
  2190              "type": "string"
  2191            },
  2192            "code": {
  2193              "description": "Globally unique code of the error, composed of the unique identifier of the API and the numeric identifier of the error. For example, for if the numeric identifier of the error is `93` and the identifier of the API is `clusters_mgmt` then the code will be `CLUSTERS-MGMT-93`.",
  2194              "type": "string"
  2195            },
  2196            "reason": {
  2197              "description": "Human readable description of the error.",
  2198              "type": "string"
  2199            },
  2200            "details": {
  2201              "description": "Extra information about the error.",
  2202              "type": "object",
  2203              "additionalProperties": true
  2204            }
  2205          }
  2206        }
  2207      },
  2208      "securitySchemes": {
  2209        "bearer": {
  2210          "type": "http",
  2211          "scheme": "bearer",
  2212          "bearerFormat": "JWT"
  2213        }
  2214      }
  2215    },
  2216    "security": [
  2217      {
  2218        "bearer": [
  2219          
  2220        ]
  2221      }
  2222    ]
  2223  }