diff options
Diffstat (limited to 'onap-client/onap_client/sdc/catalog/vsp_catalog.py')
-rw-r--r-- | onap-client/onap_client/sdc/catalog/vsp_catalog.py | 653 |
1 files changed, 324 insertions, 329 deletions
diff --git a/onap-client/onap_client/sdc/catalog/vsp_catalog.py b/onap-client/onap_client/sdc/catalog/vsp_catalog.py index 702a1a2..a6e4a2b 100644 --- a/onap-client/onap_client/sdc/catalog/vsp_catalog.py +++ b/onap-client/onap_client/sdc/catalog/vsp_catalog.py @@ -38,344 +38,339 @@ import uuid from functools import partial -from onap_client import sdc from onap_client import config from onap_client.sdc.client import SDCClient PAYLOADS_DIR = config.PAYLOADS_DIR -sdc_properties = sdc.SDC_PROPERTIES application_id = config.APPLICATION_ID class VSPCatalog(SDCClient): @property - def catalog_resources(self): - return CATALOG_RESOURCES - - @property def namespace(self): return "vsp" - -CATALOG_RESOURCES = { - "ADD_SOFTWARE_PRODUCT": { - "verb": "POST", - "description": "Creates a VSP in the SDC catalog", - "uri": partial( - "{endpoint}{service_path}".format, - endpoint=sdc_properties.SDC_BE_ONBOARD_ENDPOINT, - service_path=sdc_properties.SDC_VENDOR_SOFTWARE_PRODUCT_PATH, - ), - "payload": "{}/software_product.jinja".format(PAYLOADS_DIR), - "payload-parameters": [ - "software_product_name", - "feature_group_id", - "license_agreement_id", - "vendor_name", - "license_model_id", - "license_model_version_id", - "description", - "category", - "sub_category", - ], - "success_code": 200, - "headers": { - "Accept": "application/json", - "Content-Type": "application/json", - "USER_ID": sdc_properties.SDC_DESIGNER_USER_ID, - "X-TransactionId": str(uuid.uuid4()), - "X-FromAppId": application_id, - }, - "return_data": { - "software_product_id": ("itemId",), - "software_product_version_id": ("version", "id"), - }, - "auth": ( - sdc_properties.GLOBAL_SDC_USERNAME, - sdc_properties.GLOBAL_SDC_PASSWORD, - ), - }, - "UPDATE_SOFTWARE_PRODUCT": { - "verb": "POST", - "description": "Updates a VSP to a new version", - "uri": partial( - "{endpoint}{service_path}/{software_product_id}/versions/{software_product_version_id}".format, - endpoint=sdc_properties.SDC_BE_ONBOARD_ENDPOINT, - service_path=sdc_properties.SDC_VENDOR_ITEMS_PATH, - ), - "payload": "{}/software_product_update.jinja".format(PAYLOADS_DIR), - "payload-parameters": [ - "description", - ], - "uri-parameters": ["software_product_id", "software_product_version_id"], - "success_code": 200, - "headers": { - "Accept": "application/json", - "Content-Type": "application/json", - "USER_ID": sdc_properties.SDC_DESIGNER_USER_ID, - "X-TransactionId": str(uuid.uuid4()), - "X-FromAppId": application_id, - }, - "auth": ( - sdc_properties.GLOBAL_SDC_USERNAME, - sdc_properties.GLOBAL_SDC_PASSWORD, - ), - }, - "UPLOAD_HEAT_PACKAGE": { - "verb": "POST", - "description": "Uploads a heat zip to a VSP", - "uri": partial( - "{endpoint}{service_path}/{software_product_id}/versions/{software_product_version_id}/orchestration-template-candidate".format, - endpoint=sdc_properties.SDC_BE_ONBOARD_ENDPOINT, - service_path=sdc_properties.SDC_VENDOR_SOFTWARE_PRODUCT_PATH, - ), - "uri-parameters": ["software_product_id", "software_product_version_id"], - "files-parameters": ["file_path", "file_type"], - "success_code": 200, - "headers": { - "Accept": "application/json", - "Content-Type": "multipart/form-data", - "USER_ID": sdc_properties.SDC_DESIGNER_USER_ID, - "X-TransactionId": str(uuid.uuid4()), - "X-FromAppId": application_id, - }, - "auth": ( - sdc_properties.GLOBAL_SDC_USERNAME, - sdc_properties.GLOBAL_SDC_PASSWORD, - ), - }, - "VALIDATE_SOFTWARE_PRODUCT": { - "verb": "PUT", - "description": "Validates VSP with Heat Zip", - "uri": partial( - "{endpoint}{service_path}/{software_product_id}/versions/{software_product_version_id}/orchestration-template-candidate/process".format, - endpoint=sdc_properties.SDC_BE_ONBOARD_ENDPOINT, - service_path=sdc_properties.SDC_VENDOR_SOFTWARE_PRODUCT_PATH, - ), - "uri-parameters": ["software_product_id", "software_product_version_id"], - "success_code": 200, - "headers": { - "Accept": "application/json", - "Content-Type": "application/json", - "USER_ID": sdc_properties.SDC_DESIGNER_USER_ID, - "X-TransactionId": str(uuid.uuid4()), - "X-FromAppId": application_id, - }, - "auth": ( - sdc_properties.GLOBAL_SDC_USERNAME, - sdc_properties.GLOBAL_SDC_PASSWORD, - ), - }, - "SUBMIT_SOFTWARE_PRODUCT": { - "verb": "PUT", - "description": "Submits Heat Zip to VSP", - "uri": partial( - "{endpoint}{service_path}/{software_product_id}/versions/{software_product_version_id}/actions".format, - endpoint=sdc_properties.SDC_BE_ONBOARD_ENDPOINT, - service_path=sdc_properties.SDC_VENDOR_SOFTWARE_PRODUCT_PATH, - ), - "uri-parameters": ["software_product_id", "software_product_version_id"], - "payload": "{}/action.jinja".format(PAYLOADS_DIR), - "payload-parameters": ["action"], - "success_code": 200, - "headers": { - "Accept": "application/json", - "Content-Type": "application/json", - "USER_ID": sdc_properties.SDC_DESIGNER_USER_ID, - "X-TransactionId": str(uuid.uuid4()), - "X-FromAppId": application_id, - }, - "auth": ( - sdc_properties.GLOBAL_SDC_USERNAME, - sdc_properties.GLOBAL_SDC_PASSWORD, - ), - }, - "PACKAGE_SOFTWARE_PRODUCT": { - "verb": "PUT", - "description": "Packages VSP (description needs to be better??)", - "uri": partial( - "{endpoint}{service_path}/{software_product_id}/versions/{software_product_version_id}/actions".format, - endpoint=sdc_properties.SDC_BE_ONBOARD_ENDPOINT, - service_path=sdc_properties.SDC_VENDOR_SOFTWARE_PRODUCT_PATH, - ), - "uri-parameters": ["software_product_id", "software_product_version_id"], - "payload": "{}/action.jinja".format(PAYLOADS_DIR), - "payload-parameters": ["action"], - "success_code": 200, - "headers": { - "Accept": "application/json", - "Content-Type": "application/json", - "USER_ID": sdc_properties.SDC_DESIGNER_USER_ID, - "X-TransactionId": str(uuid.uuid4()), - "X-FromAppId": application_id, - }, - "auth": ( - sdc_properties.GLOBAL_SDC_USERNAME, - sdc_properties.GLOBAL_SDC_PASSWORD, - ), - }, - "GET_SOFTWARE_PRODUCT": { - "verb": "GET", - "description": "Gets VSP from Catalog", - "uri": partial( - "{endpoint}{service_path}/{software_product_id}/versions/{software_product_version_id}".format, - endpoint=sdc_properties.SDC_BE_ONBOARD_ENDPOINT, - service_path=sdc_properties.SDC_VENDOR_SOFTWARE_PRODUCT_PATH, - ), - "uri-parameters": ["software_product_id", "software_product_version_id"], - "success_code": 200, - "headers": { - "Accept": "application/json", - "Content-Type": "application/json", - "USER_ID": sdc_properties.SDC_DESIGNER_USER_ID, - "X-TransactionId": str(uuid.uuid4()), - "X-FromAppId": application_id, - }, - "return_data": {"name": ("name",)}, - "auth": ( - sdc_properties.GLOBAL_SDC_USERNAME, - sdc_properties.GLOBAL_SDC_PASSWORD, - ), - }, - "GET_SOFTWARE_PRODUCT_INFORMATION": { - "verb": "GET", - "description": "Gets Information for a VSP from Catalog", - "uri": partial( - "{endpoint}{service_path}/{software_product_id}/versions/{software_product_version_id}/questionnaire".format, - endpoint=sdc_properties.SDC_BE_ONBOARD_ENDPOINT, - service_path=sdc_properties.SDC_VENDOR_SOFTWARE_PRODUCT_PATH, - ), - "uri-parameters": ["software_product_id", "software_product_version_id"], - "success_code": 200, - "headers": { - "Accept": "application/json", - "Content-Type": "application/json", - "USER_ID": sdc_properties.SDC_DESIGNER_USER_ID, - "X-TransactionId": str(uuid.uuid4()), - "X-FromAppId": application_id, - }, - "return_data": {"name": ("name",)}, - "auth": ( - sdc_properties.GLOBAL_SDC_USERNAME, - sdc_properties.GLOBAL_SDC_PASSWORD, - ), - }, - "GET_SOFTWARE_PRODUCT_VERSIONS": { - "verb": "GET", - "description": "Returns a list of vsp versions", - "uri": partial( - "{endpoint}{service_path}/{software_product_id}/versions".format, - endpoint=sdc_properties.SDC_BE_ONBOARD_ENDPOINT, - service_path=sdc_properties.SDC_VENDOR_ITEMS_PATH, - ), - "uri-parameters": ["software_product_id"], - "success_code": 200, - "headers": { - "Accept": "application/json", - "Content-Type": "application/json", - "USER_ID": sdc_properties.SDC_DESIGNER_USER_ID, - "X-TransactionId": str(uuid.uuid4()), - "X-FromAppId": application_id, - }, - "return_data": { - "software_product_version_id": ("id",), - "description": ("description",), - }, - "auth": ( - sdc_properties.GLOBAL_SDC_USERNAME, - sdc_properties.GLOBAL_SDC_PASSWORD, - ), - }, - "GET_SOFTWARE_PRODUCTS": { - "verb": "GET", - "description": "Returns a list of vsps", - "uri": partial( - "{endpoint}{service_path}?&itemType=vsp".format, - endpoint=sdc_properties.SDC_BE_ONBOARD_ENDPOINT, - service_path=sdc_properties.SDC_VENDOR_ITEMS_PATH, - ), - "success_code": 200, - "headers": { - "Accept": "application/json", - "Content-Type": "application/json", - "USER_ID": sdc_properties.SDC_DESIGNER_USER_ID, - "X-TransactionId": str(uuid.uuid4()), - "X-FromAppId": application_id, - }, - "return_data": {"results": ("results",)}, - "auth": ( - sdc_properties.GLOBAL_SDC_USERNAME, - sdc_properties.GLOBAL_SDC_PASSWORD, - ), - }, - "GET_VSP_PERMISSIONS": { - "verb": "GET", - "description": "Returns the permissions for a VSP.", - "uri": partial( - "{endpoint}{service_path}/{software_product_id}/permissions".format, - endpoint=sdc_properties.SDC_BE_ONBOARD_ENDPOINT, - service_path=sdc_properties.SDC_VENDOR_ITEMS_PATH, - ), - "uri-parameters": ["software_product_id"], - "success_code": 200, - "headers": { - "Accept": "application/json", - "Content-Type": "application/json", - "USER_ID": sdc_properties.SDC_DESIGNER_USER_ID, - "X-TransactionId": str(uuid.uuid4()), - "X-FromAppId": application_id, - }, - "auth": ( - sdc_properties.GLOBAL_SDC_USERNAME, - sdc_properties.GLOBAL_SDC_PASSWORD, - ), - }, - "ADD_VSP_CONTRIBUTER": { - "verb": "PUT", - "description": "Adds a user to a VSP as a contributer", - "uri": partial( - "{endpoint}{service_path}/{software_product_id}/permissions/Contributor".format, - endpoint=sdc_properties.SDC_BE_ONBOARD_ENDPOINT, - service_path=sdc_properties.SDC_VENDOR_ITEMS_PATH, - ), - "uri-parameters": ["software_product_id"], - "payload": "{}/add_vsp_contributer.jinja".format(PAYLOADS_DIR), - "payload-parameters": ["user_id"], - "success_code": 200, - "headers": { - "Accept": "application/json", - "Content-Type": "application/json", - "USER_ID": sdc_properties.SDC_DESIGNER_USER_ID, - "X-TransactionId": str(uuid.uuid4()), - "X-FromAppId": application_id, - }, - "auth": ( - sdc_properties.GLOBAL_SDC_USERNAME, - sdc_properties.GLOBAL_SDC_PASSWORD, - ), - }, - "MODIFY_VSP_OWNER": { - "verb": "PUT", - "description": "Changes the owner of a VSP", - "uri": partial( - "{endpoint}{service_path}/{software_product_id}/permissions/Owner".format, - endpoint=sdc_properties.SDC_BE_ONBOARD_ENDPOINT, - service_path=sdc_properties.SDC_VENDOR_ITEMS_PATH, - ), - "uri-parameters": ["software_product_id"], - "payload": "{}/add_vsp_contributer.jinja".format(PAYLOADS_DIR), - "payload-parameters": ["user_id"], - "success_code": 200, - "headers": { - "Accept": "application/json", - "Content-Type": "application/json", - "USER_ID": sdc_properties.SDC_DESIGNER_USER_ID, - "X-TransactionId": str(uuid.uuid4()), - "X-FromAppId": application_id, - }, - "auth": ( - sdc_properties.GLOBAL_SDC_USERNAME, - sdc_properties.GLOBAL_SDC_PASSWORD, - ), - }, -} + @property + def catalog_resources(self): + return { + "ADD_SOFTWARE_PRODUCT": { + "verb": "POST", + "description": "Creates a VSP in the SDC catalog", + "uri": partial( + "{endpoint}{service_path}".format, + endpoint=self.config.sdc.SDC_BE_ONBOARD_ENDPOINT, + service_path=self.config.sdc.SDC_VENDOR_SOFTWARE_PRODUCT_PATH, + ), + "payload": "{}/software_product.jinja".format(PAYLOADS_DIR), + "payload-parameters": [ + "software_product_name", + "feature_group_id", + "license_agreement_id", + "vendor_name", + "license_model_id", + "license_model_version_id", + "description", + "category", + "sub_category", + ], + "success_code": 200, + "headers": { + "Accept": "application/json", + "Content-Type": "application/json", + "USER_ID": self.config.sdc.SDC_DESIGNER_USER_ID, + "X-TransactionId": str(uuid.uuid4()), + "X-FromAppId": application_id, + }, + "return_data": { + "software_product_id": ("itemId",), + "software_product_version_id": ("version", "id"), + }, + "auth": ( + self.config.sdc.GLOBAL_SDC_USERNAME, + self.config.sdc.GLOBAL_SDC_PASSWORD, + ), + }, + "UPDATE_SOFTWARE_PRODUCT": { + "verb": "POST", + "description": "Updates a VSP to a new version", + "uri": partial( + "{endpoint}{service_path}/{software_product_id}/versions/{software_product_version_id}".format, + endpoint=self.config.sdc.SDC_BE_ONBOARD_ENDPOINT, + service_path=self.config.sdc.SDC_VENDOR_ITEMS_PATH, + ), + "payload": "{}/software_product_update.jinja".format(PAYLOADS_DIR), + "payload-parameters": [ + "description", + ], + "uri-parameters": ["software_product_id", "software_product_version_id"], + "success_code": 200, + "headers": { + "Accept": "application/json", + "Content-Type": "application/json", + "USER_ID": self.config.sdc.SDC_DESIGNER_USER_ID, + "X-TransactionId": str(uuid.uuid4()), + "X-FromAppId": application_id, + }, + "auth": ( + self.config.sdc.GLOBAL_SDC_USERNAME, + self.config.sdc.GLOBAL_SDC_PASSWORD, + ), + }, + "UPLOAD_HEAT_PACKAGE": { + "verb": "POST", + "description": "Uploads a heat zip to a VSP", + "uri": partial( + "{endpoint}{service_path}/{software_product_id}/versions/{software_product_version_id}/orchestration-template-candidate".format, + endpoint=self.config.sdc.SDC_BE_ONBOARD_ENDPOINT, + service_path=self.config.sdc.SDC_VENDOR_SOFTWARE_PRODUCT_PATH, + ), + "uri-parameters": ["software_product_id", "software_product_version_id"], + "files-parameters": ["file_path", "file_type"], + "success_code": 200, + "headers": { + "Accept": "application/json", + "Content-Type": "multipart/form-data", + "USER_ID": self.config.sdc.SDC_DESIGNER_USER_ID, + "X-TransactionId": str(uuid.uuid4()), + "X-FromAppId": application_id, + }, + "auth": ( + self.config.sdc.GLOBAL_SDC_USERNAME, + self.config.sdc.GLOBAL_SDC_PASSWORD, + ), + }, + "VALIDATE_SOFTWARE_PRODUCT": { + "verb": "PUT", + "description": "Validates VSP with Heat Zip", + "uri": partial( + "{endpoint}{service_path}/{software_product_id}/versions/{software_product_version_id}/orchestration-template-candidate/process".format, + endpoint=self.config.sdc.SDC_BE_ONBOARD_ENDPOINT, + service_path=self.config.sdc.SDC_VENDOR_SOFTWARE_PRODUCT_PATH, + ), + "uri-parameters": ["software_product_id", "software_product_version_id"], + "success_code": 200, + "headers": { + "Accept": "application/json", + "Content-Type": "application/json", + "USER_ID": self.config.sdc.SDC_DESIGNER_USER_ID, + "X-TransactionId": str(uuid.uuid4()), + "X-FromAppId": application_id, + }, + "auth": ( + self.config.sdc.GLOBAL_SDC_USERNAME, + self.config.sdc.GLOBAL_SDC_PASSWORD, + ), + }, + "SUBMIT_SOFTWARE_PRODUCT": { + "verb": "PUT", + "description": "Submits Heat Zip to VSP", + "uri": partial( + "{endpoint}{service_path}/{software_product_id}/versions/{software_product_version_id}/actions".format, + endpoint=self.config.sdc.SDC_BE_ONBOARD_ENDPOINT, + service_path=self.config.sdc.SDC_VENDOR_SOFTWARE_PRODUCT_PATH, + ), + "uri-parameters": ["software_product_id", "software_product_version_id"], + "payload": "{}/action.jinja".format(PAYLOADS_DIR), + "payload-parameters": ["action"], + "success_code": 200, + "headers": { + "Accept": "application/json", + "Content-Type": "application/json", + "USER_ID": self.config.sdc.SDC_DESIGNER_USER_ID, + "X-TransactionId": str(uuid.uuid4()), + "X-FromAppId": application_id, + }, + "auth": ( + self.config.sdc.GLOBAL_SDC_USERNAME, + self.config.sdc.GLOBAL_SDC_PASSWORD, + ), + }, + "PACKAGE_SOFTWARE_PRODUCT": { + "verb": "PUT", + "description": "Packages VSP (description needs to be better??)", + "uri": partial( + "{endpoint}{service_path}/{software_product_id}/versions/{software_product_version_id}/actions".format, + endpoint=self.config.sdc.SDC_BE_ONBOARD_ENDPOINT, + service_path=self.config.sdc.SDC_VENDOR_SOFTWARE_PRODUCT_PATH, + ), + "uri-parameters": ["software_product_id", "software_product_version_id"], + "payload": "{}/action.jinja".format(PAYLOADS_DIR), + "payload-parameters": ["action"], + "success_code": 200, + "headers": { + "Accept": "application/json", + "Content-Type": "application/json", + "USER_ID": self.config.sdc.SDC_DESIGNER_USER_ID, + "X-TransactionId": str(uuid.uuid4()), + "X-FromAppId": application_id, + }, + "auth": ( + self.config.sdc.GLOBAL_SDC_USERNAME, + self.config.sdc.GLOBAL_SDC_PASSWORD, + ), + }, + "GET_SOFTWARE_PRODUCT": { + "verb": "GET", + "description": "Gets VSP from Catalog", + "uri": partial( + "{endpoint}{service_path}/{software_product_id}/versions/{software_product_version_id}".format, + endpoint=self.config.sdc.SDC_BE_ONBOARD_ENDPOINT, + service_path=self.config.sdc.SDC_VENDOR_SOFTWARE_PRODUCT_PATH, + ), + "uri-parameters": ["software_product_id", "software_product_version_id"], + "success_code": 200, + "headers": { + "Accept": "application/json", + "Content-Type": "application/json", + "USER_ID": self.config.sdc.SDC_DESIGNER_USER_ID, + "X-TransactionId": str(uuid.uuid4()), + "X-FromAppId": application_id, + }, + "return_data": {"name": ("name",)}, + "auth": ( + self.config.sdc.GLOBAL_SDC_USERNAME, + self.config.sdc.GLOBAL_SDC_PASSWORD, + ), + }, + "GET_SOFTWARE_PRODUCT_INFORMATION": { + "verb": "GET", + "description": "Gets Information for a VSP from Catalog", + "uri": partial( + "{endpoint}{service_path}/{software_product_id}/versions/{software_product_version_id}/questionnaire".format, + endpoint=self.config.sdc.SDC_BE_ONBOARD_ENDPOINT, + service_path=self.config.sdc.SDC_VENDOR_SOFTWARE_PRODUCT_PATH, + ), + "uri-parameters": ["software_product_id", "software_product_version_id"], + "success_code": 200, + "headers": { + "Accept": "application/json", + "Content-Type": "application/json", + "USER_ID": self.config.sdc.SDC_DESIGNER_USER_ID, + "X-TransactionId": str(uuid.uuid4()), + "X-FromAppId": application_id, + }, + "return_data": {"name": ("name",)}, + "auth": ( + self.config.sdc.GLOBAL_SDC_USERNAME, + self.config.sdc.GLOBAL_SDC_PASSWORD, + ), + }, + "GET_SOFTWARE_PRODUCT_VERSIONS": { + "verb": "GET", + "description": "Returns a list of vsp versions", + "uri": partial( + "{endpoint}{service_path}/{software_product_id}/versions".format, + endpoint=self.config.sdc.SDC_BE_ONBOARD_ENDPOINT, + service_path=self.config.sdc.SDC_VENDOR_ITEMS_PATH, + ), + "uri-parameters": ["software_product_id"], + "success_code": 200, + "headers": { + "Accept": "application/json", + "Content-Type": "application/json", + "USER_ID": self.config.sdc.SDC_DESIGNER_USER_ID, + "X-TransactionId": str(uuid.uuid4()), + "X-FromAppId": application_id, + }, + "return_data": { + "software_product_version_id": ("id",), + "description": ("description",), + }, + "auth": ( + self.config.sdc.GLOBAL_SDC_USERNAME, + self.config.sdc.GLOBAL_SDC_PASSWORD, + ), + }, + "GET_SOFTWARE_PRODUCTS": { + "verb": "GET", + "description": "Returns a list of vsps", + "uri": partial( + "{endpoint}{service_path}?&itemType=vsp".format, + endpoint=self.config.sdc.SDC_BE_ONBOARD_ENDPOINT, + service_path=self.config.sdc.SDC_VENDOR_ITEMS_PATH, + ), + "success_code": 200, + "headers": { + "Accept": "application/json", + "Content-Type": "application/json", + "USER_ID": self.config.sdc.SDC_DESIGNER_USER_ID, + "X-TransactionId": str(uuid.uuid4()), + "X-FromAppId": application_id, + }, + "return_data": {"results": ("results",)}, + "auth": ( + self.config.sdc.GLOBAL_SDC_USERNAME, + self.config.sdc.GLOBAL_SDC_PASSWORD, + ), + }, + "GET_VSP_PERMISSIONS": { + "verb": "GET", + "description": "Returns the permissions for a VSP.", + "uri": partial( + "{endpoint}{service_path}/{software_product_id}/permissions".format, + endpoint=self.config.sdc.SDC_BE_ONBOARD_ENDPOINT, + service_path=self.config.sdc.SDC_VENDOR_ITEMS_PATH, + ), + "uri-parameters": ["software_product_id"], + "success_code": 200, + "headers": { + "Accept": "application/json", + "Content-Type": "application/json", + "USER_ID": self.config.sdc.SDC_DESIGNER_USER_ID, + "X-TransactionId": str(uuid.uuid4()), + "X-FromAppId": application_id, + }, + "auth": ( + self.config.sdc.GLOBAL_SDC_USERNAME, + self.config.sdc.GLOBAL_SDC_PASSWORD, + ), + }, + "ADD_VSP_CONTRIBUTER": { + "verb": "PUT", + "description": "Adds a user to a VSP as a contributer", + "uri": partial( + "{endpoint}{service_path}/{software_product_id}/permissions/Contributor".format, + endpoint=self.config.sdc.SDC_BE_ONBOARD_ENDPOINT, + service_path=self.config.sdc.SDC_VENDOR_ITEMS_PATH, + ), + "uri-parameters": ["software_product_id"], + "payload": "{}/add_vsp_contributer.jinja".format(PAYLOADS_DIR), + "payload-parameters": ["user_id"], + "success_code": 200, + "headers": { + "Accept": "application/json", + "Content-Type": "application/json", + "USER_ID": self.config.sdc.SDC_DESIGNER_USER_ID, + "X-TransactionId": str(uuid.uuid4()), + "X-FromAppId": application_id, + }, + "auth": ( + self.config.sdc.GLOBAL_SDC_USERNAME, + self.config.sdc.GLOBAL_SDC_PASSWORD, + ), + }, + "MODIFY_VSP_OWNER": { + "verb": "PUT", + "description": "Changes the owner of a VSP", + "uri": partial( + "{endpoint}{service_path}/{software_product_id}/permissions/Owner".format, + endpoint=self.config.sdc.SDC_BE_ONBOARD_ENDPOINT, + service_path=self.config.sdc.SDC_VENDOR_ITEMS_PATH, + ), + "uri-parameters": ["software_product_id"], + "payload": "{}/add_vsp_contributer.jinja".format(PAYLOADS_DIR), + "payload-parameters": ["user_id"], + "success_code": 200, + "headers": { + "Accept": "application/json", + "Content-Type": "application/json", + "USER_ID": self.config.sdc.SDC_DESIGNER_USER_ID, + "X-TransactionId": str(uuid.uuid4()), + "X-FromAppId": application_id, + }, + "auth": ( + self.config.sdc.GLOBAL_SDC_USERNAME, + self.config.sdc.GLOBAL_SDC_PASSWORD, + ), + }, + } |