{ "openapi": "3.0.0", "info": { "title": "public/portworx/pds/catalog/images/apiv1/images.proto", "version": "version not set" }, "tags": [ { "name": "ImageService" } ], "paths": { "/pds/v1/catalog/images": { "get": { "summary": "ListImages API lists the data service images.", "operationId": "ImageService_ListImages", "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/v1ListImagesResponse" } } } }, "default": { "description": "An unexpected error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/rpcStatus" } } } } }, "parameters": [ { "name": "latest", "description": "Only include the latest image for each data service version id.", "in": "query", "required": false, "schema": { "type": "boolean" } }, { "name": "dataServiceId", "description": "UID of the data service.", "in": "query", "required": false, "schema": { "type": "string" } }, { "name": "dataServiceVersionId", "description": "UID of the data service version.", "in": "query", "required": false, "schema": { "type": "string" } }, { "name": "sort.sortBy", "description": "Name of the attribute to sort results by.\n\n - FIELD_UNSPECIFIED: Unspecified, do not use.\n - NAME: Sorting based on the name of the resource.\n - CREATED_AT: Sorting on create time of the resource.\n - UPDATED_AT: Sorting on update time of the resource.\n - PHASE: Sorting on phase of the resource.", "in": "query", "required": false, "schema": { "type": "string", "enum": [ "FIELD_UNSPECIFIED", "NAME", "CREATED_AT", "UPDATED_AT", "PHASE" ], "default": "FIELD_UNSPECIFIED" } }, { "name": "sort.sortOrder", "description": "Order of sorting to be applied on requested list.\nIf sort_by having some value and sort_order is not provided, by default ascending order will be used to sort the list.\n\n - VALUE_UNSPECIFIED: Unspecified, do not use.\n - ASC: Sort order ascending.\n - DESC: Sort order descending.", "in": "query", "required": false, "schema": { "type": "string", "enum": [ "VALUE_UNSPECIFIED", "ASC", "DESC" ], "default": "VALUE_UNSPECIFIED" } }, { "name": "pagination.pageNumber", "description": "Page number is the page number to return based on the size.", "in": "query", "required": false, "schema": { "type": "string", "format": "int64" } }, { "name": "pagination.pageSize", "description": "Page size is the maximum number of records to include per page.", "in": "query", "required": false, "schema": { "type": "string", "format": "int64" } }, { "name": "enabled", "description": "Filter images based on enabled flag.\n\n - ENABLED_UNSPECIFIED: List all images.\n - TRUE: List only enabled images.\n - FALSE: List only disabled images.", "in": "query", "required": false, "schema": { "type": "string", "enum": [ "ENABLED_UNSPECIFIED", "TRUE", "FALSE" ], "default": "ENABLED_UNSPECIFIED" } } ], "tags": [ "ImageService" ] } }, "/pds/v1/catalog/images/{id}": { "get": { "summary": "GetImage API returns the information about the specified image.", "operationId": "ImageService_GetImage", "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/v1Image" } } } }, "default": { "description": "An unexpected error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/rpcStatus" } } } } }, "parameters": [ { "name": "id", "description": "UID of the image.", "in": "path", "required": true, "schema": { "type": "string" } } ], "tags": [ "ImageService" ] } } }, "components": { "schemas": { "ListImagesRequestEnabled": { "type": "string", "enum": [ "ENABLED_UNSPECIFIED", "TRUE", "FALSE" ], "default": "ENABLED_UNSPECIFIED", "description": "Enabled indicate either list all, only enabled or only disabled images.\n\n - ENABLED_UNSPECIFIED: List all images.\n - TRUE: List only enabled images.\n - FALSE: List only disabled images." }, "SortByField": { "type": "string", "enum": [ "FIELD_UNSPECIFIED", "NAME", "CREATED_AT", "UPDATED_AT", "PHASE" ], "default": "FIELD_UNSPECIFIED", "description": "Field names for sorting the list of resources.\n\n - FIELD_UNSPECIFIED: Unspecified, do not use.\n - NAME: Sorting based on the name of the resource.\n - CREATED_AT: Sorting on create time of the resource.\n - UPDATED_AT: Sorting on update time of the resource.\n - PHASE: Sorting on phase of the resource." }, "SortOrderValue": { "type": "string", "enum": [ "VALUE_UNSPECIFIED", "ASC", "DESC" ], "default": "VALUE_UNSPECIFIED", "description": "Value of sort order for the list of resources.\n\n - VALUE_UNSPECIFIED: Unspecified, do not use.\n - ASC: Sort order ascending.\n - DESC: Sort order descending." }, "protobufAny": { "type": "object", "properties": { "@type": { "type": "string" } }, "additionalProperties": {} }, "rpcStatus": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32" }, "message": { "type": "string" }, "details": { "type": "array", "items": { "$ref": "#/components/schemas/protobufAny" } } } }, "v1Image": { "type": "object", "properties": { "meta": { "$ref": "#/components/schemas/v1Meta" }, "info": { "$ref": "#/components/schemas/v1Info" } }, "description": "Resource representing the data service image." }, "v1Info": { "type": "object", "properties": { "references": { "$ref": "#/components/schemas/v1References" }, "registry": { "type": "string", "description": "Image registry where the image is stored." }, "namespace": { "type": "string", "description": "Image registry namespace where the image is stored." }, "tag": { "type": "string", "description": "Tag associated with the image." }, "build": { "type": "string", "description": "Build version of the image." }, "tlsSupport": { "type": "boolean", "description": "Flag indicating if TLS is supported for a data service using this image." }, "capabilities": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Capabilities associated with this image." }, "additionalImages": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Additional images associated with this data service image." } }, "description": "Information related to the data service image." }, "v1ListImagesResponse": { "type": "object", "properties": { "images": { "type": "array", "items": { "$ref": "#/components/schemas/v1Image" }, "description": "List of images." }, "pagination": { "$ref": "#/components/schemas/v1PageBasedPaginationResponse" } }, "description": "Response to list images request." }, "v1Meta": { "type": "object", "properties": { "uid": { "type": "string", "description": "UID of the resource of the format -." }, "name": { "type": "string", "description": "Name of the resource." }, "description": { "type": "string", "description": "Description of the resource." }, "resourceVersion": { "type": "string", "description": "A string that identifies the version of this object that can be used by clients to determine when objects have changed.\nThis value must be passed unmodified back to the server by the client." }, "createTime": { "type": "string", "format": "date-time", "description": "Creation time of the object.", "readOnly": true }, "updateTime": { "type": "string", "format": "date-time", "description": "Update time of the object.", "readOnly": true }, "labels": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Labels to apply to the object." }, "annotations": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Annotations for the object." }, "parentReference": { "$ref": "#/components/schemas/v1Reference" }, "resourceNames": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Resource names holds the mapping between the resource IDs and its display name which will be consumed by the frontend.", "readOnly": true } }, "description": "Meta holds general resource metadata." }, "v1PageBasedPaginationRequest": { "type": "object", "properties": { "pageNumber": { "type": "string", "format": "int64", "description": "Page number is the page number to return based on the size." }, "pageSize": { "type": "string", "format": "int64", "description": "Page size is the maximum number of records to include per page." } }, "description": "Request parameters for page-based pagination." }, "v1PageBasedPaginationResponse": { "type": "object", "properties": { "totalRecords": { "type": "string", "format": "int64", "description": "Total records without pagination available in the dataset." }, "currentPage": { "type": "string", "format": "int64", "description": "Current page number for this paginated response." }, "pageSize": { "type": "string", "format": "int64", "description": "Page size used for pagination." }, "totalPages": { "type": "string", "format": "int64", "description": "Total pages based on the page_size provided in the request." }, "nextPage": { "type": "string", "format": "int64", "description": "Next page if available in the dataset, -1 if unavailable." }, "prevPage": { "type": "string", "format": "int64", "description": "Previous page if available in the dataset, -1 if unavailable." } }, "description": "Metadata related to page based pagination for paginated API responses." }, "v1Reference": { "type": "object", "properties": { "type": { "type": "string", "description": "API group of the resource." }, "version": { "type": "string", "description": "Version of the API." }, "uid": { "type": "string", "description": "UID of the resource." } }, "description": "Reference identifies the resource type, version of the uid and the resource." }, "v1References": { "type": "object", "properties": { "dataServiceId": { "type": "string", "description": "UID of the Data service." }, "dataServiceVersionId": { "type": "string", "description": "UID of the Data service version." } }, "description": "References to other resources." }, "v1Sort": { "type": "object", "properties": { "sortBy": { "$ref": "#/components/schemas/SortByField" }, "sortOrder": { "$ref": "#/components/schemas/SortOrderValue" } }, "description": "The details of the attribute for which the requested list of resource to be sorted." } } } }