From ce9700680e24db35fdbd8fc4b863b4ce34584725 Mon Sep 17 00:00:00 2001 From: WangLiNaruto Date: Mon, 9 Dec 2024 19:31:21 +0800 Subject: [PATCH] Changes to ISV view in UI to show current status of the service template --- .../catalog/services/delete/DeleteService.tsx | 12 +- .../services/details/ServiceProvider.tsx | 122 +- ...ail.tsx => ServiceTemplateBasicDetail.tsx} | 17 +- .../details/ServiceTemplateDetails.tsx | 48 + .../re-register/ReRegisterService.tsx | 14 +- .../services/unregister/UnregisterService.tsx | 10 +- .../catalog/services/update/UpdateService.tsx | 43 +- .../tree/ServiceContent.tsx | 4 +- src/styles/catalog.module.css | 24 + src/styles/register.module.css | 6 +- src/xpanse-api/api.json | 2031 +++++++++-------- src/xpanse-api/generated/sdk.gen.ts | 30 + src/xpanse-api/generated/types.gen.ts | 14 +- 13 files changed, 1328 insertions(+), 1047 deletions(-) rename src/components/content/catalog/services/details/{ServiceDetail.tsx => ServiceTemplateBasicDetail.tsx} (91%) create mode 100644 src/components/content/catalog/services/details/ServiceTemplateDetails.tsx diff --git a/src/components/content/catalog/services/delete/DeleteService.tsx b/src/components/content/catalog/services/delete/DeleteService.tsx index a9cab8fed..09d32036b 100644 --- a/src/components/content/catalog/services/delete/DeleteService.tsx +++ b/src/components/content/catalog/services/delete/DeleteService.tsx @@ -7,21 +7,19 @@ import { CloseCircleOutlined } from '@ant-design/icons'; import { Button, Popconfirm } from 'antd'; import React from 'react'; import catalogStyles from '../../../../../styles/catalog.module.css'; -import { serviceTemplateRegistrationState } from '../../../../../xpanse-api/generated'; -import { useGetReRegisterMutationState } from '../re-register/ReRegisterMutation'; +import { ServiceTemplateDetailVo } from '../../../../../xpanse-api/generated'; import { useDeleteRequest } from './DeleteServiceMutation'; function DeleteService({ id, setIsViewDisabled, - serviceRegistrationStatus, + activeServiceDetail, }: { id: string; setIsViewDisabled: (isViewDisabled: boolean) => void; - serviceRegistrationStatus: serviceTemplateRegistrationState; + activeServiceDetail: ServiceTemplateDetailVo; }): React.JSX.Element { const deleteRequest = useDeleteRequest(id); - const reRegisterState = useGetReRegisterMutationState(id); const deleteService = () => { setIsViewDisabled(true); @@ -45,8 +43,8 @@ function DeleteService({ className={catalogStyles.catalogManageBtnClass} disabled={ deleteRequest.isSuccess || - (reRegisterState.length > 0 && reRegisterState[0].status === 'success') || - serviceRegistrationStatus !== serviceTemplateRegistrationState.IN_REVIEW + activeServiceDetail.availableInCatalog || + activeServiceDetail.serviceTemplateRegistrationState === 'approved' } > Delete diff --git a/src/components/content/catalog/services/details/ServiceProvider.tsx b/src/components/content/catalog/services/details/ServiceProvider.tsx index 2b6e0a4bd..2ce1347db 100644 --- a/src/components/content/catalog/services/details/ServiceProvider.tsx +++ b/src/components/content/catalog/services/details/ServiceProvider.tsx @@ -3,8 +3,7 @@ * SPDX-FileCopyrightText: Huawei Inc. */ -import { EnvironmentOutlined } from '@ant-design/icons'; -import { Empty, Image, Tabs } from 'antd'; +import { Badge, Empty, Image, Tabs } from 'antd'; import { Tab } from 'rc-tabs/lib/interface'; import React, { useMemo } from 'react'; import { createSearchParams, useNavigate, useSearchParams } from 'react-router-dom'; @@ -29,16 +28,14 @@ import { import { cspMap } from '../../../common/csp/CspLogo'; import { DeleteResult } from '../delete/DeleteResult'; import DeleteService from '../delete/DeleteService'; -import { ServicePolicies } from '../policies/ServicePolicies'; import { useReRegisterRequest } from '../re-register/ReRegisterMutation'; import { ReRegisterResult } from '../re-register/ReRegisterResult'; import ReRegisterService from '../re-register/ReRegisterService'; import { UnregisterResult } from '../unregister/UnregisterResult'; import UnregisterService from '../unregister/UnregisterService'; import UpdateService from '../update/UpdateService'; -import ServiceDetail from './ServiceDetail'; -import { ServiceHostingOptions } from './ServiceHostingOptions'; import { ServiceProviderSkeleton } from './ServiceProviderSkeleton'; +import ServiceTemplateDetails from './ServiceTemplateDetails'; function ServiceProvider({ categoryOclData, @@ -209,46 +206,109 @@ function ServiceProvider({ id={activeServiceDetail.serviceTemplateId} category={category} isViewDisabled={isViewDisabled} + activeServiceDetail={activeServiceDetail} /> -

- -  Service Hosting Options -

- - - + {(activeServiceDetail.serviceTemplateRegistrationState === 'in-review' || + activeServiceDetail.serviceTemplateRegistrationState === 'approved') && + !activeServiceDetail.availableInCatalog ? ( + Review In-Progress} + color='#e67300' + > + + + ) : activeServiceDetail.serviceTemplateRegistrationState === 'approved' && + activeServiceDetail.availableInCatalog ? ( + Available In Catalog} + color='#87d068' + > + + + ) : activeServiceDetail.serviceTemplateRegistrationState === 'approved' && + !activeServiceDetail.availableInCatalog && + !activeServiceDetail.isUpdatePending ? ( + Not Available in Catalog} + color='#cd201f' + > + + + ) : activeServiceDetail.serviceTemplateRegistrationState === 'rejected' && + !activeServiceDetail.availableInCatalog && + activeServiceDetail.isUpdatePending ? ( + Review In-Progress} + color='#e67300' + > + + + ) : activeServiceDetail.serviceTemplateRegistrationState === 'approved' && + activeServiceDetail.availableInCatalog && + activeServiceDetail.isUpdatePending ? ( + Available In Catalog} + color='#87d068' + > + + + ) : null} ) : ( // Necessary when user manually enters wrong details in the URL query parameters. diff --git a/src/components/content/catalog/services/details/ServiceDetail.tsx b/src/components/content/catalog/services/details/ServiceTemplateBasicDetail.tsx similarity index 91% rename from src/components/content/catalog/services/details/ServiceDetail.tsx rename to src/components/content/catalog/services/details/ServiceTemplateBasicDetail.tsx index 8a800ff1c..197ca7f7d 100644 --- a/src/components/content/catalog/services/details/ServiceDetail.tsx +++ b/src/components/content/catalog/services/details/ServiceTemplateBasicDetail.tsx @@ -15,11 +15,9 @@ import { DeployedService, serviceDeploymentState, ServiceTemplateDetailVo, - serviceTemplateRegistrationState, } from '../../../../../xpanse-api/generated'; import { useCurrentUserRoleStore } from '../../../../layouts/header/useCurrentRoleStore'; import { reportsRoute } from '../../../../utils/constants'; -import { ServiceTemplateRegisterStatus } from '../../../common/catalog/ServiceTemplateRegisterStatus.tsx'; import { ApiDoc } from '../../../common/doc/ApiDoc'; import { AgreementText } from '../../../common/ocl/AgreementText'; import { BillingText } from '../../../common/ocl/BillingText'; @@ -32,7 +30,11 @@ import DeploymentManagement from '../../../deployment/DeploymentManagement'; import ServiceConfigManagement from '../../../serviceConfigurationManage/ServiceConfigManagement'; import { ShowIcon } from './ShowIcon'; -function ServiceDetail({ serviceDetails }: { serviceDetails: ServiceTemplateDetailVo }): React.JSX.Element { +function ServiceTemplateBasicDetail({ + serviceDetails, +}: { + serviceDetails: ServiceTemplateDetailVo; +}): React.JSX.Element { const currentRole = useCurrentUserRoleStore((state) => state.currentUserRole); const navigate = useNavigate(); let numberOfActiveServiceDeployments: number = 0; @@ -121,13 +123,6 @@ function ServiceDetail({ serviceDetails }: { serviceDetails: ServiceTemplateDeta {serviceDetails.createTime} {serviceDetails.lastModifiedTime} - - - {serviceDetails.deployment.credentialType} @@ -164,4 +159,4 @@ function ServiceDetail({ serviceDetails }: { serviceDetails: ServiceTemplateDeta ); } -export default ServiceDetail; +export default ServiceTemplateBasicDetail; diff --git a/src/components/content/catalog/services/details/ServiceTemplateDetails.tsx b/src/components/content/catalog/services/details/ServiceTemplateDetails.tsx new file mode 100644 index 000000000..fe4260573 --- /dev/null +++ b/src/components/content/catalog/services/details/ServiceTemplateDetails.tsx @@ -0,0 +1,48 @@ +import { EnvironmentOutlined } from '@ant-design/icons'; +import { Card } from 'antd'; +import React from 'react'; +import catalogStyles from '../../../../../styles/catalog.module.css'; +import { ServiceTemplateDetailVo } from '../../../../../xpanse-api/generated'; +import { ServicePolicies } from '../policies/ServicePolicies'; +import { ServiceHostingOptions } from './ServiceHostingOptions'; +import ServiceTemplateBasicDetail from './ServiceTemplateBasicDetail'; + +function serviceTemplateDetails({ + isViewDisabled, + serviceDetails, + groupServiceTemplatesByCsp, + serviceCspInQuery, + serviceHostingTypeInQuery, + onChangeServiceHostingType, +}: { + isViewDisabled: boolean; + serviceDetails: ServiceTemplateDetailVo; + groupServiceTemplatesByCsp: Map; + serviceCspInQuery: string; + serviceHostingTypeInQuery: string; + onChangeServiceHostingType: (serviceTemplateDetailVo: ServiceTemplateDetailVo) => void; +}): React.JSX.Element { + return ( + <> + +
+ +  Service Hosting Options +
+ + + +
+ + ); +} +export default serviceTemplateDetails; diff --git a/src/components/content/catalog/services/re-register/ReRegisterService.tsx b/src/components/content/catalog/services/re-register/ReRegisterService.tsx index 8f0076934..46936581b 100644 --- a/src/components/content/catalog/services/re-register/ReRegisterService.tsx +++ b/src/components/content/catalog/services/re-register/ReRegisterService.tsx @@ -8,21 +8,17 @@ import { UseMutationResult } from '@tanstack/react-query'; import { Button, Popconfirm } from 'antd'; import React from 'react'; import catalogStyles from '../../../../../styles/catalog.module.css'; -import { ServiceTemplateDetailVo, serviceTemplateRegistrationState } from '../../../../../xpanse-api/generated'; -import { useGetDeleteMutationState } from '../delete/DeleteServiceMutation'; +import { ServiceTemplateDetailVo } from '../../../../../xpanse-api/generated'; function ReRegisterService({ - id, setIsViewDisabled, reRegisterRequest, - serviceRegistrationStatus, + activeServiceDetail, }: { - id: string; setIsViewDisabled: (isViewDisabled: boolean) => void; reRegisterRequest: UseMutationResult; - serviceRegistrationStatus: serviceTemplateRegistrationState; + activeServiceDetail: ServiceTemplateDetailVo; }): React.JSX.Element { - const deleteState = useGetDeleteMutationState(id); const reRegister = () => { setIsViewDisabled(true); reRegisterRequest.mutate(); @@ -45,8 +41,8 @@ function ReRegisterService({ className={catalogStyles.catalogManageBtnClass} disabled={ reRegisterRequest.isSuccess || - (deleteState.length > 0 && deleteState[0].status === 'success') || - serviceRegistrationStatus !== serviceTemplateRegistrationState.IN_REVIEW + activeServiceDetail.availableInCatalog || + activeServiceDetail.serviceTemplateRegistrationState !== 'approved' } > Re-register diff --git a/src/components/content/catalog/services/unregister/UnregisterService.tsx b/src/components/content/catalog/services/unregister/UnregisterService.tsx index fb1005ab5..1212db280 100644 --- a/src/components/content/catalog/services/unregister/UnregisterService.tsx +++ b/src/components/content/catalog/services/unregister/UnregisterService.tsx @@ -7,17 +7,16 @@ import { MinusCircleOutlined } from '@ant-design/icons'; import { Button, Popconfirm } from 'antd'; import React from 'react'; import catalogStyles from '../../../../../styles/catalog.module.css'; -import { serviceTemplateRegistrationState } from '../../../../../xpanse-api/generated'; import { useUnregisterRequest } from './UnregisterMutation'; function UnregisterService({ id, setIsViewDisabled, - serviceRegistrationStatus, + availableInCatalog, }: { id: string; setIsViewDisabled: (isViewDisabled: boolean) => void; - serviceRegistrationStatus: serviceTemplateRegistrationState; + availableInCatalog: boolean; }): React.JSX.Element { const unregisterRequest = useUnregisterRequest(id); @@ -41,10 +40,7 @@ function UnregisterService({ icon={} type='primary' className={catalogStyles.catalogManageBtnClass} - disabled={ - unregisterRequest.isSuccess || - serviceRegistrationStatus === serviceTemplateRegistrationState.IN_REVIEW - } + disabled={unregisterRequest.isSuccess || !availableInCatalog} > Unregister diff --git a/src/components/content/catalog/services/update/UpdateService.tsx b/src/components/content/catalog/services/update/UpdateService.tsx index ee0bccc9a..d93a1a826 100644 --- a/src/components/content/catalog/services/update/UpdateService.tsx +++ b/src/components/content/catalog/services/update/UpdateService.tsx @@ -5,7 +5,8 @@ import { AppstoreAddOutlined, CloudUploadOutlined, EditOutlined, UploadOutlined } from '@ant-design/icons'; import { useMutation, useQueryClient } from '@tanstack/react-query'; -import { Button, Col, Modal, Row, Upload, UploadFile } from 'antd'; +import { Button, Checkbox, Col, Form, Modal, Row, Space, Upload, UploadFile } from 'antd'; +import { CheckboxChangeEvent } from 'antd/es/checkbox'; import { RcFile } from 'antd/es/upload'; import React, { useRef, useState } from 'react'; import appStyles from '../../../../../styles/app.module.css'; @@ -19,6 +20,7 @@ import { ErrorResponse, Ocl, ServiceTemplateChangeInfo, + ServiceTemplateDetailVo, serviceTemplateRegistrationState, update, type UpdateData, @@ -35,10 +37,12 @@ function UpdateService({ id, category, isViewDisabled, + activeServiceDetail, }: { id: string; category: category; isViewDisabled: boolean; + activeServiceDetail: ServiceTemplateDetailVo; }): React.JSX.Element { const ocl = useRef(undefined); const files = useRef([]); @@ -51,12 +55,13 @@ function UpdateService({ const [yamlSyntaxValidationStatus, setYamlSyntaxValidationStatus] = useState('notStarted'); const [oclValidationStatus, setOclValidationStatus] = useState('notStarted'); const [isModalOpen, setIsModalOpen] = useState(false); + const [isRemoveServiceTemplateUntilApproved, setIsRemoveServiceTemplateUntilApproved] = useState(true); const queryClient = useQueryClient(); const updateServiceRequest = useMutation({ mutationFn: (ocl: Ocl) => { const data: UpdateData = { id: id, - isRemoveServiceTemplateUntilApproved: true, + isRemoveServiceTemplateUntilApproved: isRemoveServiceTemplateUntilApproved, requestBody: ocl, }; return update(data); @@ -165,6 +170,10 @@ function UpdateService({ return false; }; + const onChange = (e: CheckboxChangeEvent) => { + setIsRemoveServiceTemplateUntilApproved(e.target.checked); + }; + return (
@@ -218,7 +227,7 @@ function UpdateService({ > -
+
-
{oclDisplayData.current}
+
+ {files.current.length > 0 ? ( +
+ + + RemoveServiceTemplateUntilApproved + + } + > + + + + + +
+ ) : null} +
{oclDisplayData.current}
+
diff --git a/src/components/content/registeredServices/tree/ServiceContent.tsx b/src/components/content/registeredServices/tree/ServiceContent.tsx index 0512bed5e..d39747b48 100644 --- a/src/components/content/registeredServices/tree/ServiceContent.tsx +++ b/src/components/content/registeredServices/tree/ServiceContent.tsx @@ -17,9 +17,9 @@ import { serviceNamespaceQuery, serviceVersionKeyQuery, } from '../../../utils/constants.tsx'; -import ServiceDetail from '../../catalog/services/details/ServiceDetail.tsx'; import { ServiceHostingOptions } from '../../catalog/services/details/ServiceHostingOptions.tsx'; import { ServiceProviderSkeleton } from '../../catalog/services/details/ServiceProviderSkeleton.tsx'; +import ServiceTemplateBasicDetail from '../../catalog/services/details/ServiceTemplateBasicDetail.tsx'; function ServiceContent({ availableServiceList, @@ -134,7 +134,7 @@ function ServiceContent({ serviceHostingTypeInQuery={serviceHostingTypeInQuery} updateServiceHostingType={onChangeServiceHostingType} /> - + ) : ( // Necessary when user manually enters wrong details in the URL query parameters. diff --git a/src/styles/catalog.module.css b/src/styles/catalog.module.css index c82459873..97243600c 100644 --- a/src/styles/catalog.module.css +++ b/src/styles/catalog.module.css @@ -51,6 +51,11 @@ display: flex; } +.service-template-card { + margin-top: 10px; + padding-top: 0px !important; +} + .catalog-skeleton { margin: 30px; position: absolute; @@ -76,7 +81,10 @@ } .catalog-details-h3 { + padding-top: 15px; font-size: 16px; + font-weight: bold; + padding-bottom: 10px; } .catalog-details-h6 { @@ -125,3 +133,19 @@ height: 26px; display: inline-block; } + +.service-template-state { + animation: blink-animation 1s infinite; +} + +@keyframes blink-animation { + 0% { + opacity: 1; + } + 50% { + opacity: 0; + } + 100% { + opacity: 1; + } +} diff --git a/src/styles/register.module.css b/src/styles/register.module.css index 740592e3a..7d519eb44 100644 --- a/src/styles/register.module.css +++ b/src/styles/register.module.css @@ -7,17 +7,13 @@ padding: 24px; } -.register-buttons { +.registerButtons { display: flex; align-items: baseline; gap: 10px; margin-top: 20px; } -.register-buttons-upload { - margin-right: 5px; -} - .register-buttons-register { margin-left: 5px; margin-right: 5px; diff --git a/src/xpanse-api/api.json b/src/xpanse-api/api.json index 992ad11d4..52a0c0045 100644 --- a/src/xpanse-api/api.json +++ b/src/xpanse-api/api.json @@ -135,8 +135,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -145,8 +145,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -155,8 +155,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -165,8 +165,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -175,8 +175,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -241,8 +241,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -251,8 +251,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -261,8 +261,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -271,8 +271,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -281,8 +281,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -355,8 +355,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -365,8 +365,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -375,8 +375,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -385,8 +385,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -395,8 +395,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -455,8 +455,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -465,8 +465,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -475,8 +475,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -485,8 +485,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -495,8 +495,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -545,8 +545,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -555,8 +555,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -565,8 +565,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -575,8 +575,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -585,8 +585,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -675,8 +675,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -685,8 +685,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -695,8 +695,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -705,8 +705,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -715,8 +715,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -767,8 +767,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -777,8 +777,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -787,8 +787,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -797,8 +797,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -807,8 +807,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -866,8 +866,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -876,8 +876,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -886,8 +886,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -896,8 +896,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -906,8 +906,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -965,8 +965,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -975,8 +975,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -985,8 +985,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -995,8 +995,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -1005,8 +1005,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -1064,8 +1064,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -1074,8 +1074,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -1084,8 +1084,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -1094,8 +1094,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -1104,8 +1104,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -1174,7 +1174,7 @@ } } }, - "502": { + "400": { "description": "", "content": { "application/json": { @@ -1184,7 +1184,7 @@ } } }, - "401": { + "422": { "description": "", "content": { "application/json": { @@ -1194,7 +1194,7 @@ } } }, - "400": { + "502": { "description": "", "content": { "application/json": { @@ -1204,7 +1204,7 @@ } } }, - "422": { + "403": { "description": "", "content": { "application/json": { @@ -1214,7 +1214,7 @@ } } }, - "403": { + "401": { "description": "", "content": { "application/json": { @@ -1273,7 +1273,7 @@ } } }, - "502": { + "400": { "description": "", "content": { "application/json": { @@ -1283,7 +1283,7 @@ } } }, - "401": { + "422": { "description": "", "content": { "application/json": { @@ -1293,7 +1293,7 @@ } } }, - "400": { + "502": { "description": "", "content": { "application/json": { @@ -1303,7 +1303,7 @@ } } }, - "422": { + "403": { "description": "", "content": { "application/json": { @@ -1313,7 +1313,7 @@ } } }, - "403": { + "401": { "description": "", "content": { "application/json": { @@ -1383,8 +1383,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -1393,8 +1393,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -1403,8 +1403,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -1413,8 +1413,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -1423,8 +1423,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -1493,8 +1493,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -1503,8 +1503,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -1513,8 +1513,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -1523,8 +1523,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -1533,8 +1533,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -1593,8 +1593,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -1603,8 +1603,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -1613,8 +1613,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -1623,8 +1623,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -1633,8 +1633,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -1710,8 +1710,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -1720,8 +1720,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -1730,8 +1730,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -1740,8 +1740,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -1750,8 +1750,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -1808,8 +1808,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -1818,8 +1818,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -1828,8 +1828,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -1838,8 +1838,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -1848,8 +1848,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -1901,8 +1901,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -1911,8 +1911,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -1921,8 +1921,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -1931,8 +1931,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -1941,8 +1941,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -2011,8 +2011,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -2021,8 +2021,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -2031,8 +2031,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -2041,8 +2041,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -2051,8 +2051,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -2104,8 +2104,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -2114,8 +2114,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -2124,8 +2124,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -2134,8 +2134,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -2144,8 +2144,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -2222,8 +2222,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -2232,8 +2232,8 @@ } } }, - "401": { - "description": "Unauthorized", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -2242,8 +2242,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -2252,8 +2252,8 @@ } } }, - "400": { - "description": "Bad Request", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -2262,8 +2262,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -2321,8 +2321,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -2331,8 +2331,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -2341,8 +2341,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -2351,8 +2351,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -2361,8 +2361,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -2429,8 +2429,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -2439,8 +2439,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -2449,8 +2449,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -2459,8 +2459,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -2469,8 +2469,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -2526,8 +2526,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -2536,8 +2536,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -2546,8 +2546,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -2556,8 +2556,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -2566,8 +2566,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -2618,8 +2618,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -2628,8 +2628,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -2638,8 +2638,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -2648,8 +2648,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -2658,8 +2658,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -2726,8 +2726,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -2736,8 +2736,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -2746,8 +2746,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -2756,8 +2756,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -2766,8 +2766,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -2823,8 +2823,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -2833,8 +2833,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -2843,8 +2843,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -2853,8 +2853,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -2863,8 +2863,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -2937,8 +2937,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -2947,8 +2947,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -2957,8 +2957,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -2967,8 +2967,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -2977,8 +2977,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -3037,8 +3037,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -3047,8 +3047,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -3057,8 +3057,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -3067,8 +3067,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -3077,8 +3077,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -3127,8 +3127,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -3137,8 +3137,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -3147,8 +3147,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -3157,8 +3157,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -3167,8 +3167,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -3257,8 +3257,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -3267,8 +3267,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -3277,8 +3277,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -3287,8 +3287,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -3297,8 +3297,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -3360,8 +3360,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -3370,8 +3370,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -3380,8 +3380,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -3390,8 +3390,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -3400,8 +3400,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -3525,8 +3525,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -3535,8 +3535,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -3545,8 +3545,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -3555,8 +3555,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -3565,8 +3565,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -3625,7 +3625,7 @@ } } }, - "502": { + "400": { "description": "", "content": { "application/json": { @@ -3635,7 +3635,7 @@ } } }, - "401": { + "422": { "description": "", "content": { "application/json": { @@ -3645,7 +3645,7 @@ } } }, - "400": { + "502": { "description": "", "content": { "application/json": { @@ -3655,7 +3655,7 @@ } } }, - "422": { + "403": { "description": "", "content": { "application/json": { @@ -3665,7 +3665,7 @@ } } }, - "403": { + "401": { "description": "", "content": { "application/json": { @@ -3724,8 +3724,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -3734,8 +3734,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -3744,8 +3744,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -3754,8 +3754,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -3764,8 +3764,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -3913,8 +3913,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -3923,8 +3923,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -3933,8 +3933,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -3943,8 +3943,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -3953,8 +3953,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -4013,8 +4013,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -4023,8 +4023,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -4033,8 +4033,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -4043,8 +4043,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -4053,8 +4053,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -4113,8 +4113,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -4123,8 +4123,8 @@ } } }, - "401": { - "description": "Unauthorized", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -4133,8 +4133,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -4143,8 +4143,8 @@ } } }, - "400": { - "description": "Bad Request", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -4153,8 +4153,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -4213,8 +4213,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -4223,8 +4223,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -4233,8 +4233,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -4243,8 +4243,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -4253,8 +4253,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -4313,8 +4313,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -4323,8 +4323,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -4333,8 +4333,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -4343,8 +4343,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -4353,8 +4353,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -4433,8 +4433,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -4443,8 +4443,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -4453,8 +4453,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -4463,8 +4463,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -4473,8 +4473,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -4533,8 +4533,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -4543,8 +4543,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -4553,8 +4553,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -4563,8 +4563,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -4573,8 +4573,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -4634,8 +4634,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -4644,8 +4644,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -4654,8 +4654,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -4664,8 +4664,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -4674,8 +4674,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -4710,16 +4710,16 @@ } } }, - "/xpanse/services/{serviceId}/resources/compute": { + "/xpanse/services/{serviceId}/service_template": { "get": { "tags": ["Service"], - "description": "List compute resources of the service.
Required role: admin or user
", - "operationId": "getComputeResourceInventoryOfService", + "description": "Get service template details by service id.
Required role: admin or isv or user
", + "operationId": "getOrderableServiceDetailsByServiceId", "parameters": [ { "name": "serviceId", "in": "path", - "description": "Id of the deployed service", + "description": "The id of deployed service.", "required": true, "schema": { "type": "string" @@ -4737,6 +4737,26 @@ } } }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, "502": { "description": "Bad Gateway", "content": { @@ -4747,6 +4767,16 @@ } } }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, "401": { "description": "Unauthorized", "content": { @@ -4757,6 +4787,56 @@ } } }, + "408": { + "description": "Request Timeout", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserOrderableServiceVo" + } + } + } + } + } + } + }, + "/xpanse/services/{serviceId}/resources/compute": { + "get": { + "tags": ["Service"], + "description": "List compute resources of the service.
Required role: admin or user
", + "operationId": "getComputeResourceInventoryOfService", + "parameters": [ + { + "name": "serviceId", + "in": "path", + "description": "Id of the deployed service", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "500": { + "description": "Internal Server Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, "400": { "description": "Bad Request", "content": { @@ -4777,6 +4857,16 @@ } } }, + "502": { + "description": "Bad Gateway", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, "403": { "description": "Forbidden", "content": { @@ -4787,6 +4877,16 @@ } } }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, "408": { "description": "Request Timeout", "content": { @@ -4874,8 +4974,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -4884,8 +4984,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -4894,8 +4994,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -4904,8 +5004,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -4914,8 +5014,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -4975,8 +5075,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -4985,8 +5085,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -4995,8 +5095,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -5005,8 +5105,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -5015,8 +5115,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -5090,8 +5190,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -5100,8 +5200,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -5110,8 +5210,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -5120,8 +5220,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -5130,8 +5230,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -5190,8 +5290,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -5200,8 +5300,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -5210,8 +5310,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -5220,8 +5320,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -5230,8 +5330,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -5288,8 +5388,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -5298,8 +5398,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -5308,8 +5408,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -5318,8 +5418,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -5328,8 +5428,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -5391,8 +5491,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -5401,8 +5501,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -5411,8 +5511,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -5421,8 +5521,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -5431,8 +5531,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -5563,8 +5663,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -5573,8 +5673,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -5583,8 +5683,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -5593,8 +5693,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -5603,8 +5703,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -5666,8 +5766,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -5676,8 +5776,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -5686,8 +5786,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -5696,8 +5796,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -5706,8 +5806,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -5838,8 +5938,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -5848,8 +5948,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -5858,8 +5958,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -5868,8 +5968,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -5878,8 +5978,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -5941,8 +6041,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -5951,8 +6051,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -5961,8 +6061,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -5971,8 +6071,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -5981,8 +6081,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -6041,8 +6141,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -6051,8 +6151,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -6061,8 +6161,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -6071,8 +6171,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -6081,8 +6181,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -6178,8 +6278,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -6188,8 +6288,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -6198,8 +6298,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -6208,8 +6308,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -6218,8 +6318,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -6281,8 +6381,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -6291,8 +6391,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -6301,8 +6401,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -6311,8 +6411,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -6321,8 +6421,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -6418,8 +6518,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -6428,8 +6528,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -6438,8 +6538,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -6448,8 +6548,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -6458,8 +6558,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -6546,8 +6646,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -6556,8 +6656,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -6566,8 +6666,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -6576,8 +6676,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -6586,8 +6686,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -6710,8 +6810,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -6720,8 +6820,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -6730,8 +6830,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -6740,8 +6840,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -6750,8 +6850,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -6802,8 +6902,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -6812,8 +6912,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -6822,8 +6922,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -6832,8 +6932,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -6842,8 +6942,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -6913,8 +7013,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -6923,8 +7023,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -6933,8 +7033,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -6943,8 +7043,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -6953,8 +7053,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -7005,8 +7105,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -7015,8 +7115,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -7025,8 +7125,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -7035,8 +7135,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -7045,8 +7145,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -7188,8 +7288,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -7198,8 +7298,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -7208,8 +7308,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -7218,8 +7318,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -7228,8 +7328,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -7291,8 +7391,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -7301,8 +7401,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -7311,8 +7411,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -7321,8 +7421,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -7331,8 +7431,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -7450,8 +7550,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -7460,8 +7560,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -7470,8 +7570,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -7480,8 +7580,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -7490,8 +7590,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -7591,8 +7691,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -7601,8 +7701,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -7611,8 +7711,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -7621,8 +7721,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -7631,8 +7731,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -7715,8 +7815,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -7725,8 +7825,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -7735,8 +7835,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -7745,8 +7845,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -7755,8 +7855,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -7845,8 +7945,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -7855,8 +7955,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -7865,8 +7965,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -7875,8 +7975,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -7885,8 +7985,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -7959,8 +8059,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -7969,8 +8069,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -7979,8 +8079,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -7989,8 +8089,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -7999,8 +8099,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -8124,8 +8224,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -8134,8 +8234,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -8144,8 +8244,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -8154,8 +8254,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -8164,8 +8264,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -8235,8 +8335,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -8245,8 +8345,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -8255,8 +8355,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -8265,8 +8365,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -8275,8 +8375,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -8334,8 +8434,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -8344,8 +8444,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -8354,8 +8454,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -8364,8 +8464,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -8374,8 +8474,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -8443,8 +8543,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -8453,8 +8553,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -8463,8 +8563,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -8473,8 +8573,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -8483,8 +8583,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -8555,8 +8655,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -8565,8 +8665,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -8575,8 +8675,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -8585,8 +8685,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -8595,8 +8695,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -8644,8 +8744,8 @@ } } }, - "502": { - "description": "Bad Gateway", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -8654,8 +8754,8 @@ } } }, - "401": { - "description": "Unauthorized", + "422": { + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -8664,8 +8764,8 @@ } } }, - "400": { - "description": "Bad Request", + "502": { + "description": "Bad Gateway", "content": { "application/json": { "schema": { @@ -8674,8 +8774,8 @@ } } }, - "422": { - "description": "Unprocessable Entity", + "403": { + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -8684,8 +8784,8 @@ } } }, - "403": { - "description": "Forbidden", + "401": { + "description": "Unauthorized", "content": { "application/json": { "schema": { @@ -8737,7 +8837,7 @@ } } }, - "502": { + "400": { "description": "", "content": { "application/json": { @@ -8747,7 +8847,7 @@ } } }, - "401": { + "422": { "description": "", "content": { "application/json": { @@ -8757,7 +8857,7 @@ } } }, - "400": { + "502": { "description": "", "content": { "application/json": { @@ -8767,7 +8867,7 @@ } } }, - "422": { + "403": { "description": "", "content": { "application/json": { @@ -8777,7 +8877,7 @@ } } }, - "403": { + "401": { "description": "", "content": { "application/json": { @@ -8837,7 +8937,7 @@ } } }, - "502": { + "400": { "description": "", "content": { "application/json": { @@ -8847,7 +8947,7 @@ } } }, - "401": { + "422": { "description": "", "content": { "application/json": { @@ -8857,7 +8957,7 @@ } } }, - "400": { + "502": { "description": "", "content": { "application/json": { @@ -8867,7 +8967,7 @@ } } }, - "422": { + "403": { "description": "", "content": { "application/json": { @@ -8877,7 +8977,7 @@ } } }, - "403": { + "401": { "description": "", "content": { "application/json": { @@ -10938,6 +11038,220 @@ }, "description": "Details of the service configuration." }, + "EndUserFlavors": { + "required": [ + "isDowngradeAllowed", + "modificationImpact", + "name", + "priority", + "properties", + "serviceFlavors" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The flavor name" + }, + "properties": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "The properties of the flavor" + }, + "description": "The properties of the flavor" + }, + "priority": { + "minimum": 1, + "type": "integer", + "description": "The priority of the flavor. The larger value means lower priority.", + "format": "int32" + }, + "features": { + "type": "array", + "description": "Important features and differentiators of the flavor.", + "items": { + "type": "string", + "description": "Important features and differentiators of the flavor." + } + }, + "serviceFlavors": { + "type": "array", + "description": "The flavors of the orderable service.", + "items": { + "$ref": "#/components/schemas/ServiceFlavor" + } + }, + "modificationImpact": { + "$ref": "#/components/schemas/ModificationImpact" + }, + "isDowngradeAllowed": { + "type": "boolean", + "description": "Whether the downgrading is allowed, default value: true." + }, + "downgradeAllowed": { + "type": "boolean" + } + }, + "description": "The flavors of the orderable service." + }, + "ServiceFlavor": { + "required": ["name", "priority", "properties"], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The flavor name" + }, + "properties": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "The properties of the flavor" + }, + "description": "The properties of the flavor" + }, + "priority": { + "minimum": 1, + "type": "integer", + "description": "The priority of the flavor. The larger value means lower priority.", + "format": "int32" + }, + "features": { + "type": "array", + "description": "Important features and differentiators of the flavor.", + "items": { + "type": "string", + "description": "Important features and differentiators of the flavor." + } + } + }, + "description": "The flavors of the orderable service." + }, + "UserOrderableServiceVo": { + "required": [ + "billing", + "category", + "csp", + "description", + "flavors", + "icon", + "name", + "regions", + "serviceHostingType", + "serviceProviderContactDetails", + "serviceTemplateId", + "variables", + "version" + ], + "type": "object", + "properties": { + "serviceTemplateId": { + "type": "string", + "description": "The id of the orderable service.", + "format": "uuid" + }, + "category": { + "type": "string", + "description": "The category of the orderable service.", + "enum": [ + "ai", + "compute", + "container", + "storage", + "network", + "database", + "mediaService", + "security", + "middleware", + "others" + ] + }, + "name": { + "type": "string", + "description": "The name of the orderable service." + }, + "version": { + "type": "string", + "description": "The version of the orderable service." + }, + "csp": { + "type": "string", + "description": "The Cloud Service Provider of the orderable service.", + "enum": [ + "HuaweiCloud", + "FlexibleEngine", + "OpenstackTestlab", + "PlusServer", + "RegioCloud", + "AlibabaCloud", + "aws", + "azure", + "GoogleCloudPlatform" + ] + }, + "regions": { + "type": "array", + "description": "The regions of the Cloud Service Provider.", + "items": { + "$ref": "#/components/schemas/Region" + } + }, + "description": { + "type": "string", + "description": "The description of the orderable service." + }, + "icon": { + "type": "string", + "description": "The icon of the orderable service." + }, + "variables": { + "type": "array", + "description": "The variables for the deployment, which will be passed to the deployer.", + "items": { + "$ref": "#/components/schemas/DeployVariable" + } + }, + "flavors": { + "$ref": "#/components/schemas/EndUserFlavors" + }, + "billing": { + "$ref": "#/components/schemas/Billing" + }, + "serviceHostingType": { + "type": "string", + "description": "Defines which cloud service account is used for deploying cloud resources.", + "enum": ["self", "service-vendor"] + }, + "serviceProviderContactDetails": { + "$ref": "#/components/schemas/ServiceProviderContactDetails" + }, + "serviceAvailabilityConfig": { + "type": "array", + "description": "The list of availability zone configuration of the service.", + "items": { + "$ref": "#/components/schemas/AvailabilityZoneConfig" + } + }, + "eula": { + "type": "string", + "description": "End user license agreement content of the service." + }, + "configurationParameters": { + "type": "array", + "description": "The collection of service configuration parameters.", + "items": { + "$ref": "#/components/schemas/ServiceConfigurationParameter" + } + }, + "links": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Link" + } + } + } + }, "DeployResource": { "required": ["groupName", "groupType", "properties", "resourceId", "resourceKind", "resourceName"], "type": "object", @@ -11036,9 +11350,8 @@ "type": "string", "description": "The id of the workflow." }, - "errorMsg": { - "type": "string", - "description": "The error message if the service order task failed." + "errorResponse": { + "$ref": "#/components/schemas/ErrorResponse" }, "userId": { "type": "string", @@ -11669,220 +11982,6 @@ } } }, - "EndUserFlavors": { - "required": [ - "isDowngradeAllowed", - "modificationImpact", - "name", - "priority", - "properties", - "serviceFlavors" - ], - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The flavor name" - }, - "properties": { - "type": "object", - "additionalProperties": { - "type": "string", - "description": "The properties of the flavor" - }, - "description": "The properties of the flavor" - }, - "priority": { - "minimum": 1, - "type": "integer", - "description": "The priority of the flavor. The larger value means lower priority.", - "format": "int32" - }, - "features": { - "type": "array", - "description": "Important features and differentiators of the flavor.", - "items": { - "type": "string", - "description": "Important features and differentiators of the flavor." - } - }, - "serviceFlavors": { - "type": "array", - "description": "The flavors of the orderable service.", - "items": { - "$ref": "#/components/schemas/ServiceFlavor" - } - }, - "modificationImpact": { - "$ref": "#/components/schemas/ModificationImpact" - }, - "isDowngradeAllowed": { - "type": "boolean", - "description": "Whether the downgrading is allowed, default value: true." - }, - "downgradeAllowed": { - "type": "boolean" - } - }, - "description": "The flavors of the orderable service." - }, - "ServiceFlavor": { - "required": ["name", "priority", "properties"], - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The flavor name" - }, - "properties": { - "type": "object", - "additionalProperties": { - "type": "string", - "description": "The properties of the flavor" - }, - "description": "The properties of the flavor" - }, - "priority": { - "minimum": 1, - "type": "integer", - "description": "The priority of the flavor. The larger value means lower priority.", - "format": "int32" - }, - "features": { - "type": "array", - "description": "Important features and differentiators of the flavor.", - "items": { - "type": "string", - "description": "Important features and differentiators of the flavor." - } - } - }, - "description": "The flavors of the orderable service." - }, - "UserOrderableServiceVo": { - "required": [ - "billing", - "category", - "csp", - "description", - "flavors", - "icon", - "name", - "regions", - "serviceHostingType", - "serviceProviderContactDetails", - "serviceTemplateId", - "variables", - "version" - ], - "type": "object", - "properties": { - "serviceTemplateId": { - "type": "string", - "description": "The id of the orderable service.", - "format": "uuid" - }, - "category": { - "type": "string", - "description": "The category of the orderable service.", - "enum": [ - "ai", - "compute", - "container", - "storage", - "network", - "database", - "mediaService", - "security", - "middleware", - "others" - ] - }, - "name": { - "type": "string", - "description": "The name of the orderable service." - }, - "version": { - "type": "string", - "description": "The version of the orderable service." - }, - "csp": { - "type": "string", - "description": "The Cloud Service Provider of the orderable service.", - "enum": [ - "HuaweiCloud", - "FlexibleEngine", - "OpenstackTestlab", - "PlusServer", - "RegioCloud", - "AlibabaCloud", - "aws", - "azure", - "GoogleCloudPlatform" - ] - }, - "regions": { - "type": "array", - "description": "The regions of the Cloud Service Provider.", - "items": { - "$ref": "#/components/schemas/Region" - } - }, - "description": { - "type": "string", - "description": "The description of the orderable service." - }, - "icon": { - "type": "string", - "description": "The icon of the orderable service." - }, - "variables": { - "type": "array", - "description": "The variables for the deployment, which will be passed to the deployer.", - "items": { - "$ref": "#/components/schemas/DeployVariable" - } - }, - "flavors": { - "$ref": "#/components/schemas/EndUserFlavors" - }, - "billing": { - "$ref": "#/components/schemas/Billing" - }, - "serviceHostingType": { - "type": "string", - "description": "Defines which cloud service account is used for deploying cloud resources.", - "enum": ["self", "service-vendor"] - }, - "serviceProviderContactDetails": { - "$ref": "#/components/schemas/ServiceProviderContactDetails" - }, - "serviceAvailabilityConfig": { - "type": "array", - "description": "The list of availability zone configuration of the service.", - "items": { - "$ref": "#/components/schemas/AvailabilityZoneConfig" - } - }, - "eula": { - "type": "string", - "description": "End user license agreement content of the service." - }, - "configurationParameters": { - "type": "array", - "description": "The collection of service configuration parameters.", - "items": { - "$ref": "#/components/schemas/ServiceConfigurationParameter" - } - }, - "links": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Link" - } - } - } - }, "ServiceConfigurationChangeRequest": { "type": "object", "properties": { diff --git a/src/xpanse-api/generated/sdk.gen.ts b/src/xpanse-api/generated/sdk.gen.ts index 6d2ec8d21..325d9bd59 100644 --- a/src/xpanse-api/generated/sdk.gen.ts +++ b/src/xpanse-api/generated/sdk.gen.ts @@ -81,6 +81,8 @@ import type { GetMetricsResponse, GetOrderableServiceDetailsByIdData, GetOrderableServiceDetailsByIdResponse, + GetOrderableServiceDetailsByServiceIdData, + GetOrderableServiceDetailsByServiceIdResponse, GetOrderableServicesData, GetOrderableServicesResponse, GetOrderDetailsByOrderIdData, @@ -1388,6 +1390,34 @@ export const queryTasks = (data: QueryTasksData = {}): CancelablePromise Required role: admin or isv or user
+ * @param data The data for the request. + * @param data.serviceId The id of deployed service. + * @returns UserOrderableServiceVo OK + * @throws ApiError + */ +export const getOrderableServiceDetailsByServiceId = ( + data: GetOrderableServiceDetailsByServiceIdData +): CancelablePromise => { + return __request(OpenAPI, { + method: 'GET', + url: '/xpanse/services/{serviceId}/service_template', + path: { + serviceId: data.serviceId, + }, + errors: { + 400: 'Bad Request', + 401: 'Unauthorized', + 403: 'Forbidden', + 408: 'Request Timeout', + 422: 'Unprocessable Entity', + 500: 'Internal Server Error', + 502: 'Bad Gateway', + }, + }); +}; + /** * List compute resources of the service.
Required role: admin or user
* @param data The data for the request. diff --git a/src/xpanse-api/generated/types.gen.ts b/src/xpanse-api/generated/types.gen.ts index 2af272818..0b71d406b 100644 --- a/src/xpanse-api/generated/types.gen.ts +++ b/src/xpanse-api/generated/types.gen.ts @@ -2066,10 +2066,7 @@ export type ServiceOrderDetails = { * The id of the workflow. */ workflowId?: string; - /** - * The error message if the service order task failed. - */ - errorMsg?: string; + errorResponse?: ErrorResponse; /** * The id of the user who created the service order. */ @@ -3246,6 +3243,15 @@ export type QueryTasksData = { export type QueryTasksResponse = Array; +export type GetOrderableServiceDetailsByServiceIdData = { + /** + * The id of deployed service. + */ + serviceId: string; +}; + +export type GetOrderableServiceDetailsByServiceIdResponse = UserOrderableServiceVo; + export type GetComputeResourceInventoryOfServiceData = { /** * Id of the deployed service