aboutsummaryrefslogtreecommitdiffstats
path: root/onap-client/onap_client/so/catalog/service_instantiation.py
diff options
context:
space:
mode:
authorstark, steven <steven.stark@att.com>2020-09-17 13:04:35 -0700
committerstark, steven <steven.stark@att.com>2020-09-17 13:04:35 -0700
commit35375724d9657de99adb8e530e1be21305555a40 (patch)
tree28806a1a1317426546ffdb9755d6f632ce088605 /onap-client/onap_client/so/catalog/service_instantiation.py
parent591c548e569423dad8d106d4d2cd26bc5ce24b19 (diff)
[VVP] Updating onap-client
Removing dependency on distutils moving etc/ to package resource Adding support for volume creation and delete Removing module level imports Adding delete capability to spec-engine Adding kwarg to pass Client instance to functions Issue-ID: VVP-469 Signed-off-by: stark, steven <steven.stark@att.com> Change-Id: Ie00065f54411c8ff40ea20c35fe919ce15f65e6a
Diffstat (limited to 'onap-client/onap_client/so/catalog/service_instantiation.py')
-rw-r--r--onap-client/onap_client/so/catalog/service_instantiation.py126
1 files changed, 103 insertions, 23 deletions
diff --git a/onap-client/onap_client/so/catalog/service_instantiation.py b/onap-client/onap_client/so/catalog/service_instantiation.py
index d561317..3874aef 100644
--- a/onap-client/onap_client/so/catalog/service_instantiation.py
+++ b/onap-client/onap_client/so/catalog/service_instantiation.py
@@ -34,16 +34,11 @@
# limitations under the License.
#
# ============LICENSE_END============================================
-
import uuid
from functools import partial
-from onap_client import config
from onap_client.so.client import SOClient
-PAYLOADS_DIR = config.PAYLOADS_DIR
-application_id = config.APPLICATION_ID
-
class ServiceInstantiationClient(SOClient):
@property
@@ -61,7 +56,7 @@ class ServiceInstantiationClient(SOClient):
endpoint=self.config.so.SO_ENDPOINT,
service_path=self.config.so.SO_SERVICE_INSTANCE_PATH,
),
- "payload": "{}/so_service_instance.jinja".format(PAYLOADS_DIR),
+ "payload": "{}/so_service_instance.jinja".format(self.config.payload_directory),
"payload-parameters": [
"service_instance_name",
"requestor_id",
@@ -84,7 +79,7 @@ class ServiceInstantiationClient(SOClient):
"Accept": "application/json",
"Content-Type": "application/json",
# "X-TransactionId": str(uuid.uuid4()),
- "X-FromAppId": application_id,
+ "X-FromAppId": self.config.application_id,
},
"auth": (self.config.so.SO_USERNAME, self.config.so.SO_PASSWORD),
},
@@ -97,7 +92,7 @@ class ServiceInstantiationClient(SOClient):
service_path=self.config.so.SO_SERVICE_INSTANCE_PATH,
),
"uri-parameters": ["service_instance_id"],
- "payload": "{}/so_delete_service.jinja".format(PAYLOADS_DIR),
+ "payload": "{}/so_delete_service.jinja".format(self.config.payload_directory),
"payload-parameters": [
"service_invariant_id",
"service_name",
@@ -110,7 +105,7 @@ class ServiceInstantiationClient(SOClient):
"Accept": "application/json",
"Content-Type": "application/json",
# "X-TransactionId": str(uuid.uuid4()),
- "X-FromAppId": application_id,
+ "X-FromAppId": self.config.application_id,
},
"auth": (self.config.so.SO_USERNAME, self.config.so.SO_PASSWORD),
},
@@ -123,7 +118,7 @@ class ServiceInstantiationClient(SOClient):
service_path=self.config.so.SO_SERVICE_INSTANCE_PATH,
),
"uri-parameters": ["service_instance_id"],
- "payload": "{}/so_vnf_instance.jinja".format(PAYLOADS_DIR),
+ "payload": "{}/so_vnf_instance.jinja".format(self.config.payload_directory),
"payload-parameters": [
"vnf_instance_name",
"requestor_id",
@@ -150,7 +145,7 @@ class ServiceInstantiationClient(SOClient):
"Accept": "application/json",
"Content-Type": "application/json",
# "X-TransactionId": str(uuid.uuid4()),
- "X-FromAppId": application_id,
+ "X-FromAppId": self.config.application_id,
},
"auth": (self.config.so.SO_USERNAME, self.config.so.SO_PASSWORD),
},
@@ -163,7 +158,7 @@ class ServiceInstantiationClient(SOClient):
service_path=self.config.so.SO_SERVICE_INSTANCE_PATH,
),
"uri-parameters": ["service_instance_id", "vnf_instance_id"],
- "payload": "{}/so_delete_vnf.jinja".format(PAYLOADS_DIR),
+ "payload": "{}/so_delete_vnf.jinja".format(self.config.payload_directory),
"payload-parameters": [
"vnf_invariant_id",
"vnf_name",
@@ -178,8 +173,50 @@ class ServiceInstantiationClient(SOClient):
"headers": {
"Accept": "application/json",
"Content-Type": "application/json",
- # "X-TransactionId": str(uuid.uuid4()),
- "X-FromAppId": application_id,
+ "X-FromAppId": self.config.application_id,
+ },
+ "auth": (self.config.so.SO_USERNAME, self.config.so.SO_PASSWORD),
+ },
+ "CREATE_VOLUME_MODULE_INSTANCE": {
+ "verb": "POST",
+ "description": "Creates a VNF Volume Module Instance.",
+ "uri": partial(
+ "{endpoint}{service_path}/{service_instance_id}/vnfs/{vnf_instance_id}/volumeGroups".format,
+ endpoint=self.config.so.SO_ENDPOINT,
+ service_path=self.config.so.SO_SERVICE_INSTANCE_PATH,
+ ),
+ "uri-parameters": ["service_instance_id", "vnf_instance_id"],
+ "payload": "{}/so_create_volume_module.jinja".format(self.config.payload_directory),
+ "payload-parameters": [
+ "volume_module_instance_name",
+ "model_invariant_id",
+ "model_version_id",
+ "model_name",
+ "model_version",
+ "model_customization_id",
+ "model_name",
+ "api_type",
+ "tenant_id",
+ "cloud_owner",
+ "cloud_region",
+ "service_instance_id",
+ "service_model_name",
+ "service_model_invariant_id",
+ "service_model_version",
+ "service_model_version_id",
+ "vnf_instance_id",
+ "vnf_model_name",
+ "vnf_model_invariant_id",
+ "vnf_model_version",
+ "vnf_model_version_id",
+ "vnf_model_customization_id",
+ ],
+ "header-parameters": ["X-TransactionId"],
+ "success_code": 202,
+ "headers": {
+ "Accept": "application/json",
+ "Content-Type": "application/json",
+ "X-FromAppId": self.config.application_id,
},
"auth": (self.config.so.SO_USERNAME, self.config.so.SO_PASSWORD),
},
@@ -192,7 +229,7 @@ class ServiceInstantiationClient(SOClient):
service_path=self.config.so.SO_SERVICE_INSTANCE_PATH,
),
"uri-parameters": ["service_instance_id", "vnf_instance_id"],
- "payload": "{}/so_create_module.jinja".format(PAYLOADS_DIR),
+ "payload": "{}/so_create_module.jinja".format(self.config.payload_directory),
"payload-parameters": [
"module_instance_name",
"model_invariant_id",
@@ -222,8 +259,7 @@ class ServiceInstantiationClient(SOClient):
"headers": {
"Accept": "application/json",
"Content-Type": "application/json",
- # "X-TransactionId": str(uuid.uuid4()),
- "X-FromAppId": application_id,
+ "X-FromAppId": self.config.application_id,
},
"auth": (self.config.so.SO_USERNAME, self.config.so.SO_PASSWORD),
},
@@ -236,7 +272,7 @@ class ServiceInstantiationClient(SOClient):
service_path=self.config.so.SO_SERVICE_INSTANCE_PATH,
),
"uri-parameters": ["service_instance_id", "vnf_instance_id", "vf_module_id"],
- "payload": "{}/so_delete_module.jinja".format(PAYLOADS_DIR),
+ "payload": "{}/so_delete_module.jinja".format(self.config.payload_directory),
"payload-parameters": [
"module_invariant_id",
"module_name",
@@ -251,8 +287,35 @@ class ServiceInstantiationClient(SOClient):
"headers": {
"Accept": "application/json",
"Content-Type": "application/json",
- # "X-TransactionId": str(uuid.uuid4()),
- "X-FromAppId": application_id,
+ "X-FromAppId": self.config.application_id,
+ },
+ "auth": (self.config.so.SO_USERNAME, self.config.so.SO_PASSWORD),
+ },
+ "DELETE_VOLUME_MODULE_INSTANCE": {
+ "verb": "DELETE",
+ "description": "Deletes a VNF Volume Module Instance.",
+ "uri": partial(
+ "{endpoint}{service_path}/{service_instance_id}/vnfs/{vnf_instance_id}/volumeGroups/{volume_module_id}".format,
+ endpoint=self.config.so.SO_ENDPOINT,
+ service_path=self.config.so.SO_SERVICE_INSTANCE_PATH,
+ ),
+ "uri-parameters": ["service_instance_id", "vnf_instance_id", "volume_module_id"],
+ "payload": "{}/so_delete_volume_module.jinja".format(self.config.payload_directory),
+ "payload-parameters": [
+ "module_invariant_id",
+ "module_name",
+ "module_version",
+ "cloud_region",
+ "cloud_owner",
+ "tenant_id",
+ "api_type",
+ ],
+ "header-parameters": ["X-TransactionId"],
+ "success_code": 202,
+ "headers": {
+ "Accept": "application/json",
+ "Content-Type": "application/json",
+ "X-FromAppId": self.config.application_id,
},
"auth": (self.config.so.SO_USERNAME, self.config.so.SO_PASSWORD),
},
@@ -270,7 +333,7 @@ class ServiceInstantiationClient(SOClient):
"Accept": "application/json",
"Content-Type": "application/json",
"X-TransactionId": str(uuid.uuid4()),
- "X-FromAppId": application_id,
+ "X-FromAppId": self.config.application_id,
},
"auth": (self.config.so.SO_USERNAME, self.config.so.SO_PASSWORD),
},
@@ -287,7 +350,7 @@ class ServiceInstantiationClient(SOClient):
"Accept": "application/json",
"Content-Type": "application/json",
"X-TransactionId": str(uuid.uuid4()),
- "X-FromAppId": application_id,
+ "X-FromAppId": self.config.application_id,
},
"auth": (self.config.so.SO_USERNAME, self.config.so.SO_PASSWORD),
},
@@ -304,7 +367,24 @@ class ServiceInstantiationClient(SOClient):
"Accept": "application/json",
"Content-Type": "application/json",
"X-TransactionId": str(uuid.uuid4()),
- "X-FromAppId": application_id,
+ "X-FromAppId": self.config.application_id,
+ },
+ "auth": (self.config.so.SO_USERNAME, self.config.so.SO_PASSWORD),
+ },
+ "GET_MODULE_CUSTOMIZATION": {
+ "verb": "GET",
+ "description": "Searches the SO catalog for module customization object.",
+ "uri": partial(
+ "{endpoint}vfModuleCustomization/search/findFirstByModelCustomizationUUIDOrderByCreatedDesc?MODEL_CUSTOMIZATION_UUID={module_customization_id}".format,
+ endpoint=self.config.so.SO_ENDPOINT,
+ ),
+ "uri-parameters": ["module_customization_id"],
+ "success_code": 200,
+ "headers": {
+ "Accept": "application/json",
+ "Content-Type": "application/json",
+ "X-TransactionId": str(uuid.uuid4()),
+ "X-FromAppId": self.config.application_id,
},
"auth": (self.config.so.SO_USERNAME, self.config.so.SO_PASSWORD),
},