refactor: Optimize UUID generation for cloud provider tokens using chunked processing

This commit is contained in:
Andras Bacsai
2025-12-11 12:08:12 +01:00
parent 1b4705220d
commit cf4985c596
3 changed files with 133 additions and 17 deletions

View File

@@ -4325,11 +4325,19 @@ paths:
description: 'Get all available Hetzner datacenter locations.'
operationId: get-hetzner-locations
parameters:
-
name: cloud_provider_token_uuid
in: query
description: 'Cloud provider token UUID. Required if cloud_provider_token_id is not provided.'
required: false
schema:
type: string
-
name: cloud_provider_token_id
in: query
description: 'Cloud provider token UUID'
required: true
description: 'Deprecated: Use cloud_provider_token_uuid instead. Cloud provider token UUID.'
required: false
deprecated: true
schema:
type: string
responses:
@@ -4357,11 +4365,19 @@ paths:
description: 'Get all available Hetzner server types (instance sizes).'
operationId: get-hetzner-server-types
parameters:
-
name: cloud_provider_token_uuid
in: query
description: 'Cloud provider token UUID. Required if cloud_provider_token_id is not provided.'
required: false
schema:
type: string
-
name: cloud_provider_token_id
in: query
description: 'Cloud provider token UUID'
required: true
description: 'Deprecated: Use cloud_provider_token_uuid instead. Cloud provider token UUID.'
required: false
deprecated: true
schema:
type: string
responses:
@@ -4372,7 +4388,7 @@ paths:
schema:
type: array
items:
properties: { id: { type: integer }, name: { type: string }, description: { type: string }, cores: { type: integer }, memory: { type: number }, disk: { type: integer }, prices: { type: array } }
properties: { id: { type: integer }, name: { type: string }, description: { type: string }, cores: { type: integer }, memory: { type: number }, disk: { type: integer }, prices: { type: array, items: { type: object, properties: { location: { type: string, description: 'Datacenter location name' }, price_hourly: { type: object, properties: { net: { type: string }, gross: { type: string } } }, price_monthly: { type: object, properties: { net: { type: string }, gross: { type: string } } } } } } }
type: object
'401':
$ref: '#/components/responses/401'
@@ -4528,6 +4544,8 @@ paths:
$ref: '#/components/responses/404'
'422':
$ref: '#/components/responses/422'
'429':
$ref: '#/components/responses/429'
security:
-
bearerAuth: []
@@ -7005,6 +7023,22 @@ components:
type: array
items: { type: string }
type: object
'429':
description: 'Rate limit exceeded.'
headers:
Retry-After:
description: 'Number of seconds to wait before retrying.'
schema:
type: integer
example: 60
content:
application/json:
schema:
properties:
message:
type: string
example: 'Rate limit exceeded. Please try again later.'
type: object
securitySchemes:
bearerAuth:
type: http