diff --git a/components/schemas/infrastructure/providers/models/ProviderServerModelProviderSpec.yml b/components/schemas/infrastructure/providers/models/ProviderServerModelProviderSpec.yml index 59813659..5a62de81 100644 --- a/components/schemas/infrastructure/providers/models/ProviderServerModelProviderSpec.yml +++ b/components/schemas/infrastructure/providers/models/ProviderServerModelProviderSpec.yml @@ -37,3 +37,19 @@ properties: type: array items: type: string + stock: + type: object + description: Stock information for the server, keyed by location. + additionalProperties: + type: object + required: + - quantity + - sync + properties: + quantity: + type: integer + description: The available quantity of stock at this location. + sync: + type: string + format: date-time + description: The time at which stock was last synced. diff --git a/ial/components/schemas/provider/model/ServerModelProvider.yml b/ial/components/schemas/provider/model/ServerModelProvider.yml index 47ea17bc..f498852f 100644 --- a/ial/components/schemas/provider/model/ServerModelProvider.yml +++ b/ial/components/schemas/provider/model/ServerModelProvider.yml @@ -1,10 +1,14 @@ title: "ServerModelProvider" type: object -description: "Identifies the provider details, including the category, class, model ID, available locations, and availability zones for a server, plan, or model." +description: "Identifies the provider details, including the category, class, model ID, parent model ID, available locations, availability zones, and stock for a server, plan, or model." required: + - name - category - model_id properties: + name: + type: string + description: The name of the server model. category: type: string description: "The category of the server model." @@ -16,6 +20,11 @@ properties: model_id: type: string description: "The primary ID used to reference this server model." + parent_model_id: + type: + - "string" + - "null" + description: "The ID of the parent server model, if this model is derived from another." locations: type: - "array" @@ -24,7 +33,29 @@ properties: type: string description: "A list of locations where this server model is available." availability_zones: - description: "Details the availability zones where the server model is offered." - type: - - object - - "null" + description: "Details the availability zones where the server model is offered, keyed by location." + oneOf: + - type: object + additionalProperties: + type: array + items: + type: string + - type: "null" + stock: + description: "Stock information for the server model, keyed by location." + oneOf: + - type: object + additionalProperties: + type: object + required: + - quantity + - sync + properties: + quantity: + type: integer + description: "The available quantity of stock at this location." + sync: + type: string + format: date-time + description: "The time at which stock was last synced." + - type: "null" diff --git a/platform/paths/dns/records/record.yml b/platform/paths/dns/records/record.yml index 01d5dbc0..1d9ed60d 100644 --- a/platform/paths/dns/records/record.yml +++ b/platform/paths/dns/records/record.yml @@ -1,3 +1,40 @@ +get: + operationId: "getDnsRecord" + summary: Get DNS Zone Record + description: Requires the `dns-manage` capability. + tags: + - Records + parameters: + - name: zoneId + description: The ID of the Zone. + in: path + required: true + schema: + type: string + - name: recordId + description: The ID of the record. + in: path + required: true + schema: + type: string + - $ref: includes/RecordIncludeParam.yml + responses: + 200: + description: Returns a DNS Zone Record. + content: + application/json: + schema: + type: object + required: + - data + properties: + data: + $ref: ../../../../components/schemas/dns/records/DnsRecord.yml + includes: + $ref: includes/RecordIncludes.yml + default: + $ref: ../../../../components/responses/errors/DefaultError.yml + patch: operationId: "updateDNSZoneRecord" summary: Update DNS Zone Record