From 5362265cd5046f32586769e94824a5ddbb2a0848 Mon Sep 17 00:00:00 2001 From: Adam Talsma Date: Thu, 22 Oct 2026 11:15:26 -0600 Subject: [PATCH] add resource filter parameters to sizes list --- specification/resources/sizes/parameters.yml | 106 +++++++++++++++++++ specification/resources/sizes/sizes_list.yml | 11 ++ 2 files changed, 117 insertions(+) create mode 100644 specification/resources/sizes/parameters.yml diff --git a/specification/resources/sizes/parameters.yml b/specification/resources/sizes/parameters.yml new file mode 100644 index 000000000..f610db810 --- /dev/null +++ b/specification/resources/sizes/parameters.yml @@ -0,0 +1,106 @@ +cpu_minimum: + in: query + name: cpu_minimum + description: Filter sizes with an inclusive minimum CPU count + required: false + schema: + type: integer + minimum: 1 + example: 4 + +cpu_maximum: + in: query + name: cpu_maximum + description: Filter sizes with an inclusive maximum CPU count + required: false + schema: + type: integer + minimum: 1 + example: 4 + +gpu_minimum: + in: query + name: gpu_minimum + description: Filter sizes with an inclusive minimum GPU count + required: false + schema: + type: integer + minimum: 1 + example: 1 + +gpu_maximum: + in: query + name: gpu_maximum + description: Filter sizes with an inclusive maximum GPU count. Zero is allowed to filter to sizes without GPUs. + required: false + schema: + type: integer + minimum: 0 + example: 8 + +gpu_fabric: + in: query + name: gpu_fabric + description: Filter sizes to those with a given GPU fabric setting + required: false + schema: + type: boolean + example: true + +memory_minimum: + in: query + name: memory_minimum + description: Filter sizes with an inclusive minimum memory amount (in megabytes) + required: false + schema: + type: integer + multipleOf: 8 + minimum: 8 + example: 1024 + +memory_maximum: + in: query + name: memory_maximum + description: Filter sizes with an inclusive maximum memory amount (in megabytes) + required: false + schema: + type: integer + multipleOf: 8 + minimum: 8 + example: 1024 + +price_hourly_minimum: + in: query + name: price_hourly_minimum + description: Filter sizes with an inclusive minimum hourly price (in USD) + required: false + schema: + type: string + example: "0.50" + +price_hourly_maximum: + in: query + name: price_hourly_maximum + description: Filter sizes with an inclusive maximum hourly price (in USD) + required: false + schema: + type: string + example: "1.00" + +price_monthly_minimum: + in: query + name: price_monthly_minimum + description: Filter sizes with an inclusive minimum monthly price (in USD) + required: false + schema: + type: string + example: "5.00" + +price_monthly_maximum: + in: query + name: price_monthly_maximum + description: Filter sizes with an inclusive maximum monthly price (in USD) + required: false + schema: + type: string + example: "10.00" diff --git a/specification/resources/sizes/sizes_list.yml b/specification/resources/sizes/sizes_list.yml index 2ff234cb0..fcb03a2ad 100644 --- a/specification/resources/sizes/sizes_list.yml +++ b/specification/resources/sizes/sizes_list.yml @@ -15,6 +15,17 @@ tags: parameters: - $ref: '../../shared/parameters.yml#/per_page' - $ref: '../../shared/parameters.yml#/page' + - $ref: 'parameters.yml#/cpu_minimum' + - $ref: 'parameters.yml#/cpu_maximum' + - $ref: 'parameters.yml#/gpu_minimum' + - $ref: 'parameters.yml#/gpu_maximum' + - $ref: 'parameters.yml#/gpu_fabric' + - $ref: 'parameters.yml#/memory_minimum' + - $ref: 'parameters.yml#/memory_maximum' + - $ref: 'parameters.yml#/price_hourly_minimum' + - $ref: 'parameters.yml#/price_hourly_maximum' + - $ref: 'parameters.yml#/price_monthly_minimum' + - $ref: 'parameters.yml#/price_monthly_maximum' responses: '200':