# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
# See the License for the specific language governing permissions and\r
# limitations under the License.\r
+import json\r
import logging\r
\r
+from lcm.pub.config.config import AAI_BASE_URL, AAI_USER, AAI_PASSWORD\r
+from lcm.pub.exceptions import NFLCMException\r
+from lcm.pub.utils.restcall import call_req_aai, rest_no_auth\r
+\r
logger = logging.getLogger(__name__)\r
\r
\r
\r
\r
def create_vserver(cloud_owner, cloud_region_id, tenant_id, vserver_id, data):\r
- pass\r
+ resource = "/cloud-infrastructure/cloud-regions/cloud-region/%s/" \\r
+ "%s/tenants/tenant/%s/vservers/vserver/%s" % \\r
+ (cloud_owner, cloud_region_id, tenant_id, vserver_id)\r
+ ret = call_req_aai(AAI_BASE_URL, AAI_USER, AAI_PASSWORD, rest_no_auth, resource, "PUT", data)\r
+ if ret[0] != 0:\r
+ logger.error("Status code is %s, detail is %s.", ret[2], ret[1])\r
+ raise NFLCMException("Vserver creation exception in AAI")\r
+ return json.JSONDecoder().decode(ret[1])\r
+\r
+def delete_vserver(cloud_owner, cloud_region_id, tenant_id, vserver_id, data):\r
+ resource = "/cloud-infrastructure/cloud-regions/cloud-region/%s/" \\r
+ "%s/tenants/tenant/%s/vservers/vserver/%s" % \\r
+ (cloud_owner, cloud_region_id, tenant_id, vserver_id)\r
+ ret = call_req_aai(AAI_BASE_URL, AAI_USER, AAI_PASSWORD, rest_no_auth, resource, "DELETE", data)\r
+ if ret[0] != 0:\r
+ logger.error("Status code is %s, detail is %s.", ret[2], ret[1])\r
+ raise NFLCMException("Vserver delete exception in AAI")\r
+ return json.JSONDecoder().decode(ret[1])\r
+\r
+def query_vserver(cloud_owner, cloud_region_id, tenant_id, vserver_id, data):\r
+ resource = "/cloud-infrastructure/cloud-regions/cloud-region/%s/" \\r
+ "%s/tenants/tenant/%s/vservers/vserver/%s" % \\r
+ (cloud_owner, cloud_region_id, tenant_id, vserver_id)\r
+ ret = call_req_aai(AAI_BASE_URL, AAI_USER, AAI_PASSWORD, rest_no_auth, resource, "GET", data)\r
+ if ret[0] != 0:\r
+ logger.error("Status code is %s, detail is %s.", ret[2], ret[1])\r
+ raise NFLCMException("Vserver query exception in AAI")\r
+ return json.JSONDecoder().decode(ret[1])\r