cloudapi: make UploadOptions anyOf

oneOf means that the body is valid against exactly ONE schema. There's an
issue with AWS EC2 upload options though: It requires region and
share_with_accounts fields. Such a request is also valid AWS S3 upload though
(this one only require region). This means that AWS EC2 upload options will be
always valid against two schemas which violates the oneOf rule.

Let's switch to anyOf and explain this in the openAPI spec.

Signed-off-by: Ondřej Budai <ondrej@budai.cz>
This commit is contained in:
Ondřej Budai 2022-05-13 09:43:18 +02:00 committed by Chloe Kaubisch
parent a8a1bb4270
commit 00d602efc3
2 changed files with 124 additions and 106 deletions

View file

@ -299,6 +299,12 @@ type ImageRequest struct {
ImageType ImageTypes `json:"image_type"` ImageType ImageTypes `json:"image_type"`
Ostree *OSTree `json:"ostree,omitempty"` Ostree *OSTree `json:"ostree,omitempty"`
Repositories []Repository `json:"repositories"` Repositories []Repository `json:"repositories"`
// This should really be oneOf but AWSS3UploadOptions is a subset of
// AWSEC2UploadOptions. This means that all AWSEC2UploadOptions objects
// are also valid AWSS3UploadOptionas objects which violates the oneOf
// rules. Therefore, we have to use anyOf here but be aware that it isn't
// possible to mix and match more schemas together.
UploadOptions *UploadOptions `json:"upload_options,omitempty"` UploadOptions *UploadOptions `json:"upload_options,omitempty"`
} }
@ -397,7 +403,11 @@ type Subscription struct {
ServerUrl string `json:"server_url"` ServerUrl string `json:"server_url"`
} }
// UploadOptions defines model for UploadOptions. // This should really be oneOf but AWSS3UploadOptions is a subset of
// AWSEC2UploadOptions. This means that all AWSEC2UploadOptions objects
// are also valid AWSS3UploadOptionas objects which violates the oneOf
// rules. Therefore, we have to use anyOf here but be aware that it isn't
// possible to mix and match more schemas together.
type UploadOptions interface{} type UploadOptions interface{}
// UploadStatus defines model for UploadStatus. // UploadStatus defines model for UploadStatus.
@ -651,106 +661,108 @@ func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL
// Base64 encoded, gzipped, json marshaled Swagger object // Base64 encoded, gzipped, json marshaled Swagger object
var swaggerSpec = []string{ var swaggerSpec = []string{
"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",
"hdwNms/gfP/xfwMAAP//5Y1kUqFXAAA=", "QRKUSIge/xBaQNnmeu90DZTrTFfUwyKAGO6/6vXL/2EfHm/lLx39paNf0dFgbhK00su44Pe+/7sOh6RL",
"9TaxITilrfLcLHkQnoj/FyOHD5fzI+5FSrMzg/AmMTV8Pbj+Ht942i7pQg/nJR5u4/AnBqGHC8FdNJUb",
"QCwX/YxBYVFS8cROoVlACxPrIwRcQAv9i2gUE0l00zlG8xmc7z/+bwAAAP//BmST9PpYAAA=",
} }
// GetSwagger returns the content of the embedded swagger specification file // GetSwagger returns the content of the embedded swagger specification file

View file

@ -686,11 +686,17 @@ components:
Naming package sets for a repository assigns it to a specific part Naming package sets for a repository assigns it to a specific part
(pipeline) of the build process. (pipeline) of the build process.
UploadOptions: UploadOptions:
oneOf: anyOf:
- $ref: '#/components/schemas/AWSEC2UploadOptions' - $ref: '#/components/schemas/AWSEC2UploadOptions'
- $ref: '#/components/schemas/AWSS3UploadOptions' - $ref: '#/components/schemas/AWSS3UploadOptions'
- $ref: '#/components/schemas/GCPUploadOptions' - $ref: '#/components/schemas/GCPUploadOptions'
- $ref: '#/components/schemas/AzureUploadOptions' - $ref: '#/components/schemas/AzureUploadOptions'
description: |
This should really be oneOf but AWSS3UploadOptions is a subset of
AWSEC2UploadOptions. This means that all AWSEC2UploadOptions objects
are also valid AWSS3UploadOptionas objects which violates the oneOf
rules. Therefore, we have to use anyOf here but be aware that it isn't
possible to mix and match more schemas together.
AWSEC2UploadOptions: AWSEC2UploadOptions:
type: object type: object
required: required: