{ "openapi": "3.0.0", "info": { "title": "public/portworx/pds/catalog/templatedefinition/apiv1/templatedefinition.proto", "version": "version not set" }, "tags": [ { "name": "TemplateDefinitionService" } ], "paths": { "/pds/v1/catalog/templateDefinition/kinds": { "get": { "summary": "ListTemplateKindRequest: Used to list unique template kind(names).", "operationId": "TemplateDefinitionService_ListTemplateKinds", "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/v1ListTemplateKindsResponse" } } } }, "default": { "description": "An unexpected error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/rpcStatus" } } } } }, "parameters": [ { "name": "semanticVersion", "description": "Version of the revision, this accepts wild card, eg: 1.*, 1.2.", "in": "query", "required": false, "schema": { "type": "string" } }, { "name": "prefix", "description": "Prefix of the kind, eg: pds, pds:application, pds:application:postg.", "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" } } ], "tags": [ "TemplateDefinitionService" ] } }, "/pds/v1/catalog/templateDefinition/revisions": { "get": { "summary": "List API lists all the revision", "operationId": "TemplateDefinitionService_ListRevisions", "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/v1ListRevisionsResponse" } } } }, "default": { "description": "An unexpected error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/rpcStatus" } } } } }, "parameters": [ { "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" } } ], "tags": [ "TemplateDefinitionService" ] } }, "/pds/v1/catalog/templateDefinition/revisions:get": { "get": { "summary": "GetRevision gets the revision details, containing the actual schema.", "operationId": "TemplateDefinitionService_GetRevision", "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/v1Revision" } } } }, "default": { "description": "An unexpected error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/rpcStatus" } } } } }, "parameters": [ { "name": "uid", "description": "UID of the revision.", "in": "query", "required": false, "schema": { "type": "string" } }, { "name": "nameSemanticVersion.name", "description": "Name(kind) of the revision.", "in": "query", "required": true, "schema": { "type": "string" } }, { "name": "nameSemanticVersion.semanticVersion", "description": "Version of the revision.", "in": "query", "required": true, "schema": { "type": "string" } } ], "tags": [ "TemplateDefinitionService" ] } }, "/pds/v1/catalog/templateDefinition/revisions:search": { "post": { "summary": "List API lists all the revision", "operationId": "TemplateDefinitionService_ListRevisions2", "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/v1ListRevisionsResponse" } } } }, "default": { "description": "An unexpected error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/rpcStatus" } } } } }, "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/v1ListRevisionsRequest" } } }, "description": "Request parameters for listing revisions.", "required": true }, "tags": [ "TemplateDefinitionService" ] } }, "/pds/v1/catalog/templateDefinition/samples": { "get": { "summary": "ListTemplateSamples: Used to list template sample schema.", "operationId": "TemplateDefinitionService_ListTemplateSamples", "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/v1ListTemplateSamplesResponse" } } } }, "default": { "description": "An unexpected error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/rpcStatus" } } } } }, "parameters": [ { "name": "kind", "description": "filter sample templates based on kind, this accepts wild card, eg: pds:service:postgre*", "in": "query", "required": false, "schema": { "type": "string" } }, { "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" } } ], "tags": [ "TemplateDefinitionService" ] } }, "/pds/v1/catalog/templateDefinition/samples/{id}": { "get": { "summary": "GetTemplateSample API returns the template sample for a given template id.", "operationId": "TemplateDefinitionService_GetTemplateSample", "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/v1TemplateSample" } } } }, "default": { "description": "An unexpected error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/rpcStatus" } } } } }, "parameters": [ { "name": "id", "description": "UID of the template sample.", "in": "path", "required": true, "schema": { "type": "string" } } ], "tags": [ "TemplateDefinitionService" ] } }, "/pds/v1/catalog/templateDefinition/types": { "get": { "summary": "ListTemplateTypes API returns the list of all supported template types.", "operationId": "TemplateDefinitionService_ListTemplateTypes", "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/v1ListTemplateTypesResponse" } } } }, "default": { "description": "An unexpected error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/rpcStatus" } } } } }, "parameters": [ { "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": "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" } } ], "tags": [ "TemplateDefinitionService" ] } }, "/pds/v1/catalog/templateDefinition/types/{id}": { "get": { "summary": "GetTemplateType API returns the template type by id.", "operationId": "TemplateDefinitionService_GetTemplateType", "responses": { "200": { "description": "A successful response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/v1TemplateType" } } } }, "default": { "description": "An unexpected error response.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/rpcStatus" } } } } }, "parameters": [ { "name": "id", "description": "unique id of template type.", "in": "path", "required": true, "schema": { "type": "string" } } ], "tags": [ "TemplateDefinitionService" ] } } }, "components": { "schemas": { "GetRevisionRequestNameSemanticVersion": { "type": "object", "properties": { "name": { "type": "string", "description": "Name(kind) of the revision." }, "semanticVersion": { "type": "string", "description": "Version of the revision." } }, "description": "Name and semantic version of the revision.", "required": [ "name", "semanticVersion" ] }, "SelectorFilter": { "type": "object", "properties": { "key": { "type": "string", "description": "Key of key,value pair against which filtering needs to be performs." }, "op": { "$ref": "#/components/schemas/SelectorOperator" }, "values": { "type": "array", "items": { "type": "string" }, "description": "Value of key,value pair against which filtering needs to be performs if operator is EXIST, value should be an empty array." } }, "description": "Filter for a given key." }, "SelectorOperator": { "type": "string", "enum": [ "OPERATOR_UNSPECIFIED", "IN", "NOT_IN", "LIKE" ], "default": "OPERATOR_UNSPECIFIED", "description": "Operator specifies the relationship between the provided (key,value) pairs in the response.\n\n - OPERATOR_UNSPECIFIED: Unspecified, do not use.\n - IN: IN specifies that the key should be associated with atleast 1 of the element in value list.\n - NOT_IN: NOT_IN specifies that the key should not be associated with any of the element in value list.\n - LIKE: LIKE specified that the key should be of a specified pattern" }, "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." }, "protobufAny": { "type": "object", "properties": { "@type": { "type": "string" } }, "additionalProperties": {} }, "protobufNullValue": { "type": "string", "enum": [ "NULL_VALUE" ], "default": "NULL_VALUE", "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\nThe JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value." }, "rpcStatus": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32" }, "message": { "type": "string" }, "details": { "type": "array", "items": { "$ref": "#/components/schemas/protobufAny" } } } }, "templatedefinitionv1Info": { "type": "object", "properties": { "kind": { "type": "string", "title": "Kind of the template" }, "templateValues": { "type": "object", "additionalProperties": { "type": "string" }, "description": "template_values of the sample template." } }, "description": "Info of sample template." }, "v1ListRevisionsRequest": { "type": "object", "properties": { "fieldSelector": { "$ref": "#/components/schemas/v1Selector" }, "sort": { "$ref": "#/components/schemas/v1Sort" }, "pagination": { "$ref": "#/components/schemas/v1PageBasedPaginationRequest" } }, "description": "Request parameters for listing revisions." }, "v1ListRevisionsResponse": { "type": "object", "properties": { "revisions": { "type": "array", "items": { "$ref": "#/components/schemas/v1Revision" }, "description": "Revisions is the list of revisions." }, "pagination": { "$ref": "#/components/schemas/v1PageBasedPaginationResponse" } }, "description": "Revisions listing response." }, "v1ListTemplateKindsResponse": { "type": "object", "properties": { "kinds": { "type": "array", "items": { "type": "string" }, "description": "\nList of kinds." }, "pagination": { "$ref": "#/components/schemas/v1PageBasedPaginationResponse" } }, "description": "ListTemplateKindsResponse listing response." }, "v1ListTemplateSamplesResponse": { "type": "object", "properties": { "templateSamples": { "type": "array", "items": { "$ref": "#/components/schemas/v1TemplateSample" }, "description": "\nList of template samples." }, "pagination": { "$ref": "#/components/schemas/v1PageBasedPaginationResponse" } }, "description": "ListTemplateSamplesResponse list templates samples response." }, "v1ListTemplateTypesResponse": { "type": "object", "properties": { "templateTypes": { "type": "array", "items": { "$ref": "#/components/schemas/v1TemplateType" }, "description": "List of template types." }, "pagination": { "$ref": "#/components/schemas/v1PageBasedPaginationResponse" } }, "description": "Response for list template types." }, "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." }, "v1Revision": { "type": "object", "properties": { "meta": { "$ref": "#/components/schemas/v1Meta" }, "info": { "$ref": "#/components/schemas/v1RevisionInfo" } }, "description": "Revision holds the template schema along with version details." }, "v1RevisionInfo": { "type": "object", "properties": { "semanticVersion": { "type": "string", "description": "Semantic version of the revision: 1.2 (major.minor - patch version not required)." }, "deprecated": { "type": "boolean", "description": "Whether this revision has been deprecated." }, "schema": { "type": "object", "description": "Schema of the revision, if schema is backward compatible, update the revision, else upgrade." } }, "description": "RevisionInfo contains info.", "required": [ "semanticVersion", "schema" ] }, "v1Selector": { "type": "object", "properties": { "filters": { "type": "array", "items": { "$ref": "#/components/schemas/SelectorFilter" }, "description": "FilterList is the list of all filters that should be applied." } }, "description": "Selector is used to query resources using the associated labels or field names." }, "v1Sort": { "type": "object", "properties": { "sortBy": { "$ref": "#/components/schemas/SortByField" }, "sortOrder": { "$ref": "#/components/schemas/v1SortOrderValue" } }, "description": "The details of the attribute for which the requested list of resource to be sorted." }, "v1SortOrderValue": { "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." }, "v1TemplateSample": { "type": "object", "properties": { "meta": { "$ref": "#/components/schemas/v1Meta" }, "info": { "$ref": "#/components/schemas/templatedefinitionv1Info" } }, "description": "TemplateSample represents the sample template schema." }, "v1TemplateType": { "type": "object", "properties": { "uid": { "type": "string", "format": "int64", "description": "UID of the template type." }, "name": { "type": "string", "description": "Name of the template type." }, "description": { "type": "string", "description": "Description of the template type." } }, "description": "Template type containing id, mame and description." } } } }