diff --git a/appc-inbound/appc-artifact-handler/model/scripts/python/yang2props.py b/appc-inbound/appc-artifact-handler/model/scripts/python/yang2props.py
index 559d31b..e1ce2e0 100755
--- a/appc-inbound/appc-artifact-handler/model/scripts/python/yang2props.py
+++ b/appc-inbound/appc-artifact-handler/model/scripts/python/yang2props.py
@@ -1,3 +1,26 @@
+'''
+/*-
+* ============LICENSE_START=======================================================
+* ONAP : APPC
+* ================================================================================
+* Copyright (C) 2017-2018 AT&T Intellectual Property.  All rights reserved.
+* =============================================================================
+* 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.
+*
+* ECOMP is a trademark and service mark of AT&T Intellectual Property.
+* ============LICENSE_END=========================================================
+*/
+'''
 #!/usr/bin/python
 
 import re
@@ -28,7 +51,7 @@
 	    match = re.search(r'leaf (\S+)', line)
 	    if match:
                  leaf = match.group(1)
-      
+
         # if we see enum convert the value to enum format and see if it changed
         # if the value is different write a property entry
         if "enum " in line:
