# Copyright (C) 2021 Wind River Systems, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. from flask_restx import fields from o2dms.api.dms_api_ns import api_dms_lcm_v1 from o2common.helper import o2logging logger = o2logging.get_logger(__name__) class DmsDTO: # profile = api_dms_lcm_v1.model("DMSGetDtoProfile", { # 'cluster_api_endpoint': fields.String( # attributes='cluster_api_endpoint'), # 'cluster_ca_cert': fields.String(attributes='cluster_ca_cert'), # 'admin_user': fields.String(attributes='admin_user'), # 'admin_client_cert': fields.String(attributes='admin_client_cert'), # 'admin_client_key': fields.String(attributes='admin_client_key'), # # 'kube_config_file': fields.String(attributes='kube_config_file') # }) dms_get = api_dms_lcm_v1.model( "DmsGetDto", { 'deploymentManagerId': fields.String( required=True, description='Deployment manager ID'), 'name': fields.String, 'description': fields.String, 'supportedLocations': fields.String, 'capabilities': fields.String, 'capacity': fields.String, # 'profileName': fields.String, # 'profileData': fields.Nested(profile, False, True), } ) class DmsLcmNfDeploymentDescriptorDTO: NfDeploymentDescriptor_get = api_dms_lcm_v1.model( "NfDeploymentDescriptorGetDto", { 'id': fields.String( required=True, description='NfDeploymentDescriptor ID'), 'name': fields.String, 'description': fields.String, 'inputParams': fields.String, 'outputParams': fields.String, 'artifactRepoUrl': fields.String, 'artifactName': fields.String } ) NfDeploymentDescriptor_create = api_dms_lcm_v1.model( "NfDeploymentDescriptorCreateDto", { 'name': fields.String, 'description': fields.String, 'artifactRepoUrl': fields.String, 'artifactName': fields.String, 'inputParams': fields.String, 'outputParams': fields.String } ) NfDeploymentDescriptor_create_post_resp = api_dms_lcm_v1.model( "NfDeploymentDescriptorCreateRespDto", { 'id': fields.String( required=True, description='NfDeploymentDescriptor ID'), } ) NfDeploymentDescriptor_update = api_dms_lcm_v1.model( "NfDeploymentDescriptorUpdateDto", { 'name': fields.String, 'description': fields.String, 'artifactRepoUrl': fields.String, 'artifactName': fields.String, 'inputParams': fields.String, 'outputParams': fields.String } ) class DmsLcmNfDeploymentDTO: NfDeployment_get = api_dms_lcm_v1.model( "NfDeploymentGetDto", { 'id': fields.String( required=True, description='NfDeployment ID'), 'name': fields.String, 'description': fields.String, 'descriptorId': fields.String, 'parentDeploymentId': fields.String, 'status': fields.Integer } ) NfDeployment_create = api_dms_lcm_v1.model( "NfDeploymentCreateDto", { 'name': fields.String, 'description': fields.String, 'descriptorId': fields.String, 'parentDeploymentId': fields.String } ) NfDeployment_create_post_resp = api_dms_lcm_v1.model( "NfDeploymentCreateRespDto", { 'id': fields.String( required=True, description='NfDeployment ID'), } ) NfDeployment_update = api_dms_lcm_v1.model( "NfDeploymentUpdateDto", { 'name': fields.String, 'description': fields.String, 'parentDeploymentId': fields.String } ) class DmsLcmNfOCloudVResourceDTO: NfOCloudVResource_get = api_dms_lcm_v1.model( "NfOCloudVResourceGetDto", { 'id': fields.String( required=True, description='NfOCloudVResource ID'), 'name': fields.String, 'description': fields.String, 'descriptorId': fields.String, 'vresourceType': fields.String, 'status': fields.Integer, 'metadata': fields.String } )