diff --git a/tools/ngui/static/js/app/networks/networks.js b/tools/ngui/static/js/app/networks/networks.js
index 5ad7f8aaa83..56735e66a69 100644
--- a/tools/ngui/static/js/app/networks/networks.js
+++ b/tools/ngui/static/js/app/networks/networks.js
@@ -1,3 +1,20 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
+
angular.module('networks', ['resources.networks', 'services.breadcrumbs']).
config(['$routeProvider', function($routeProvider){
$routeProvider.
diff --git a/tools/ngui/static/js/app/projects/projects.js b/tools/ngui/static/js/app/projects/projects.js
index a5cd3aa0442..2df081be728 100644
--- a/tools/ngui/static/js/app/projects/projects.js
+++ b/tools/ngui/static/js/app/projects/projects.js
@@ -1,3 +1,20 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
+
angular.module('projects', ['resources.projects', 'services.breadcrumbs']).
config(['$routeProvider', function($routeProvider){
$routeProvider.
diff --git a/tools/ngui/static/js/app/serviceofferings/serviceofferings.js b/tools/ngui/static/js/app/serviceofferings/serviceofferings.js
index 9733e49a681..6b6e9d218e3 100644
--- a/tools/ngui/static/js/app/serviceofferings/serviceofferings.js
+++ b/tools/ngui/static/js/app/serviceofferings/serviceofferings.js
@@ -1,3 +1,20 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
+
angular.module('serviceofferings', ['resources.serviceofferings', 'services.breadcrumbs']).
config(['$routeProvider', function($routeProvider){
$routeProvider.
diff --git a/tools/ngui/static/js/app/storage/storage.js b/tools/ngui/static/js/app/storage/storage.js
index 4bc344597bd..e562a958f1a 100644
--- a/tools/ngui/static/js/app/storage/storage.js
+++ b/tools/ngui/static/js/app/storage/storage.js
@@ -1,3 +1,20 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
+
angular.module("storage", ["resources.volumes", "resources.snapshots", "resources.zones", "resources.diskofferings", "services.breadcrumbs"]).
config(['$routeProvider', function($routeProvider){
$routeProvider.
diff --git a/tools/ngui/static/js/app/storage/storage.tpl.html b/tools/ngui/static/js/app/storage/storage.tpl.html
index 7c878f92080..cb195744e59 100644
--- a/tools/ngui/static/js/app/storage/storage.tpl.html
+++ b/tools/ngui/static/js/app/storage/storage.tpl.html
@@ -1,3 +1,21 @@
+
diff --git a/tools/ngui/static/js/app/templates/templates.js b/tools/ngui/static/js/app/templates/templates.js
index 77d8707b155..4cf387bd4c4 100644
--- a/tools/ngui/static/js/app/templates/templates.js
+++ b/tools/ngui/static/js/app/templates/templates.js
@@ -1,3 +1,20 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
+
angular.module('templates', ['resources.templates', 'services.breadcrumbs']).
config(['$routeProvider', function($routeProvider){
$routeProvider.
diff --git a/tools/ngui/static/js/common/dictionary.js b/tools/ngui/static/js/common/dictionary.js
index ae205e45bf6..f540bdbfa9d 100644
--- a/tools/ngui/static/js/common/dictionary.js
+++ b/tools/ngui/static/js/common/dictionary.js
@@ -1,3 +1,20 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
+
angular.module('cloudstack').factory("Dictionary", function(){
var dictionary = {
labels: {
diff --git a/tools/ngui/static/js/common/directives/confirm.js b/tools/ngui/static/js/common/directives/confirm.js
index 08385b31811..54a8af92a05 100644
--- a/tools/ngui/static/js/common/directives/confirm.js
+++ b/tools/ngui/static/js/common/directives/confirm.js
@@ -1,3 +1,20 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
+
angular.module('directives.confirm', ['ui.bootstrap.dialog']);
angular.module('directives.confirm').directive('confirm',['$dialog', function($dialog){
return{
diff --git a/tools/ngui/static/js/common/directives/edit-in-place.js b/tools/ngui/static/js/common/directives/edit-in-place.js
index c9e33f26cb7..b735e11ba82 100644
--- a/tools/ngui/static/js/common/directives/edit-in-place.js
+++ b/tools/ngui/static/js/common/directives/edit-in-place.js
@@ -1,3 +1,20 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
+
angular.module('directives.editInPlace', []);
angular.module('directives.editInPlace').directive('editInPlace', function(){
return {
diff --git a/tools/ngui/static/js/common/directives/edit-in-place.tpl.html b/tools/ngui/static/js/common/directives/edit-in-place.tpl.html
index 72537a07388..dc0e1e675b8 100644
--- a/tools/ngui/static/js/common/directives/edit-in-place.tpl.html
+++ b/tools/ngui/static/js/common/directives/edit-in-place.tpl.html
@@ -1,3 +1,21 @@
+
{{model[attribute]}} Edit
diff --git a/tools/ngui/static/js/common/directives/label.js b/tools/ngui/static/js/common/directives/label.js
index 2f923e34bd0..0458c8bdfb1 100644
--- a/tools/ngui/static/js/common/directives/label.js
+++ b/tools/ngui/static/js/common/directives/label.js
@@ -1,3 +1,20 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
+
angular.module('directives.label', []);
angular.module('directives.label').directive('vmStateLabel', function(){
return {
diff --git a/tools/ngui/static/js/common/directives/modal-form.js b/tools/ngui/static/js/common/directives/modal-form.js
index b3b44ea679b..273bc56d46b 100644
--- a/tools/ngui/static/js/common/directives/modal-form.js
+++ b/tools/ngui/static/js/common/directives/modal-form.js
@@ -1,3 +1,20 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
+
angular.module('directives.modalForm', ['ui.bootstrap.dialog']);
angular.module('directives.modalForm').directive('modalForm', ['$dialog', function($dialog){
return {
diff --git a/tools/ngui/static/js/common/directives/modal-form.tpl.html b/tools/ngui/static/js/common/directives/modal-form.tpl.html
index bd4e87dc619..d80b61c3829 100644
--- a/tools/ngui/static/js/common/directives/modal-form.tpl.html
+++ b/tools/ngui/static/js/common/directives/modal-form.tpl.html
@@ -1,3 +1,21 @@
+
diff --git a/tools/ngui/static/js/common/resources/accounts.js b/tools/ngui/static/js/common/resources/accounts.js
index 0e76d072a96..46ad5ec34ac 100644
--- a/tools/ngui/static/js/common/resources/accounts.js
+++ b/tools/ngui/static/js/common/resources/accounts.js
@@ -1,3 +1,20 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
+
angular.module('resources.accounts', ['services.helperfunctions', 'services.requester']);
angular.module('resources.accounts').factory('Accounts', ['Account', 'requester', 'makeArray', 'makeInstance', function(Account, requester, makeArray, makeInstance){
var Accounts = {};
diff --git a/tools/ngui/static/js/common/resources/configurations.js b/tools/ngui/static/js/common/resources/configurations.js
index 908524de8ac..59ce78b9577 100644
--- a/tools/ngui/static/js/common/resources/configurations.js
+++ b/tools/ngui/static/js/common/resources/configurations.js
@@ -1,3 +1,20 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
+
angular.module('resources.configurations', ['services.helperfunctions', 'services.requester', 'services.notifications']);
angular.module('resources.configurations').factory('Configurations', ['$http', 'Configuration', 'makeArray', 'requester', function($http, Configuration, makeArray, requester){
var Configurations = {};
diff --git a/tools/ngui/static/js/common/resources/diskofferings.js b/tools/ngui/static/js/common/resources/diskofferings.js
index de391f21392..7a04a586a57 100644
--- a/tools/ngui/static/js/common/resources/diskofferings.js
+++ b/tools/ngui/static/js/common/resources/diskofferings.js
@@ -1,3 +1,20 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
+
angular.module('resources.diskofferings', ['services.helperfunctions', 'services.requester']);
angular.module('resources.diskofferings').factory('DiskOfferings', ['DiskOffering', 'makeArray', 'requester', function(DiskOffering, makeArray, requester){
this.getAll = function(){
diff --git a/tools/ngui/static/js/common/resources/domains.js b/tools/ngui/static/js/common/resources/domains.js
index eb97f32859e..1efdd87d482 100644
--- a/tools/ngui/static/js/common/resources/domains.js
+++ b/tools/ngui/static/js/common/resources/domains.js
@@ -1,3 +1,20 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
+
angular.module('resources.domains', ['services.helperfunctions', 'services.requester']);
angular.module('resources.domains').factory('Domains', ['$http', 'Domain', 'makeArray', 'requester', function($http, Domain, makeArray, requester){
this.fetch = function(){
diff --git a/tools/ngui/static/js/common/resources/events.js b/tools/ngui/static/js/common/resources/events.js
index 209e931e34a..51c71521f89 100644
--- a/tools/ngui/static/js/common/resources/events.js
+++ b/tools/ngui/static/js/common/resources/events.js
@@ -1,3 +1,20 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
+
angular.module('resources.events', ['services.helperfunctions', 'services.requester']);
angular.module('resources.events').factory('Events', ['$http', 'Event', 'makeArray', 'requester', function($http, Event, makeArray, requester){
this.fetch = function(){
diff --git a/tools/ngui/static/js/common/resources/networks.js b/tools/ngui/static/js/common/resources/networks.js
index 9f8d5557f75..ee477005834 100644
--- a/tools/ngui/static/js/common/resources/networks.js
+++ b/tools/ngui/static/js/common/resources/networks.js
@@ -1,3 +1,20 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
+
angular.module('resources.networks',['services.helperfunctions', 'services.requester']);
angular.module('resources.networks').factory('Networks', ['$http', 'Network', 'makeArray', 'requester', function($http, Network, makeArray, requester){
this.fetch = function(){
diff --git a/tools/ngui/static/js/common/resources/projects.js b/tools/ngui/static/js/common/resources/projects.js
index 77e11cdf7d1..38f6080ceb2 100644
--- a/tools/ngui/static/js/common/resources/projects.js
+++ b/tools/ngui/static/js/common/resources/projects.js
@@ -1,3 +1,20 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
+
angular.module('resources.projects', ['services.helperfunctions', 'services.requester']);
angular.module('resources.projects').factory('Projects', ['Project', 'makeArray', 'requester', function(Project, makeArray, requester){
this.fetch = function(){
diff --git a/tools/ngui/static/js/common/resources/serviceofferings.js b/tools/ngui/static/js/common/resources/serviceofferings.js
index 7672a86f7e4..ad8e5ea1904 100644
--- a/tools/ngui/static/js/common/resources/serviceofferings.js
+++ b/tools/ngui/static/js/common/resources/serviceofferings.js
@@ -1,3 +1,20 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
+
angular.module('resources.serviceofferings', ['services.helperfunctions', 'services.requester']);
angular.module('resources.serviceofferings').factory('ServiceOfferings', ['$http', 'ServiceOffering', 'makeArray', 'requester', function($http, ServiceOffering, makeArray, requester){
this.fetch = function(){
diff --git a/tools/ngui/static/js/common/resources/snapshots.js b/tools/ngui/static/js/common/resources/snapshots.js
index 93e9b10e346..8ee3c4e8f4d 100644
--- a/tools/ngui/static/js/common/resources/snapshots.js
+++ b/tools/ngui/static/js/common/resources/snapshots.js
@@ -1,3 +1,20 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
+
angular.module('resources.snapshots', ['services.helperfunctions', 'services.requester']);
angular.module('resources.snapshots').factory('Snapshots', ['Snapshot', 'makeArray', 'requester', function(Snapshot, makeArray, requester){
this.getAll = function(){
diff --git a/tools/ngui/static/js/common/resources/templates.js b/tools/ngui/static/js/common/resources/templates.js
index 2e93057dfce..1219cc21a2b 100644
--- a/tools/ngui/static/js/common/resources/templates.js
+++ b/tools/ngui/static/js/common/resources/templates.js
@@ -1,3 +1,20 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
+
angular.module('resources.templates', ['services.helperfunctions', 'services.requester']);
angular.module('resources.templates').factory('Templates', ['Template', 'makeArray', 'requester', function(Template, makeArray, requester){
this.getAll = function(){
diff --git a/tools/ngui/static/js/common/resources/users.js b/tools/ngui/static/js/common/resources/users.js
index 6da4c09ee66..891fe5893b3 100644
--- a/tools/ngui/static/js/common/resources/users.js
+++ b/tools/ngui/static/js/common/resources/users.js
@@ -1,3 +1,20 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
+
angular.module('resources.users', ['services.helperfunctions', 'services.requester']);
angular.module('resources.users').factory('Users', ['User', 'makeArray', 'requester', function(User, makeArray, requester){
this.getAll = function(){
diff --git a/tools/ngui/static/js/common/resources/virtualmachines.js b/tools/ngui/static/js/common/resources/virtualmachines.js
index 405a843b804..08b8de28881 100644
--- a/tools/ngui/static/js/common/resources/virtualmachines.js
+++ b/tools/ngui/static/js/common/resources/virtualmachines.js
@@ -1,3 +1,20 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
+
angular.module('resources.virtualmachines',['services.helperfunctions', 'services.requester']);
angular.module('resources.virtualmachines').factory('VirtualMachines',
['$http', 'VirtualMachine', 'makeArray', 'makeInstance', 'requester', function($http, VirtualMachine, makeArray, makeInstance, requester){
diff --git a/tools/ngui/static/js/common/resources/volumes.js b/tools/ngui/static/js/common/resources/volumes.js
index ee07c4c0eff..649062314f5 100644
--- a/tools/ngui/static/js/common/resources/volumes.js
+++ b/tools/ngui/static/js/common/resources/volumes.js
@@ -1,3 +1,20 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
+
angular.module('resources.volumes', ['services.helperfunctions', 'services.requester']);
angular.module('resources.volumes').factory('Volumes', ['$http', 'Volume', 'makeArray', 'requester', function($http, Volume, makeArray, requester){
this.getAll = function(){
diff --git a/tools/ngui/static/js/common/resources/zones.js b/tools/ngui/static/js/common/resources/zones.js
index d0d3152d76f..c85859c5b37 100644
--- a/tools/ngui/static/js/common/resources/zones.js
+++ b/tools/ngui/static/js/common/resources/zones.js
@@ -1,3 +1,20 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
+
angular.module('resources.zones', ['services.helperfunctions', 'services.requester']);
angular.module('resources.zones').factory('Zones', ['Zone', 'makeArray', 'requester', function(Zone, makeArray, requester){
this.getAll = function(){
diff --git a/tools/ngui/static/js/common/services/breadcrumbs.js b/tools/ngui/static/js/common/services/breadcrumbs.js
index b70b868fb6a..b0eacb2ea2c 100644
--- a/tools/ngui/static/js/common/services/breadcrumbs.js
+++ b/tools/ngui/static/js/common/services/breadcrumbs.js
@@ -1,3 +1,20 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
+
angular.module('services.breadcrumbs', []);
angular.module('services.breadcrumbs').factory('Breadcrumbs', ['$rootScope', '$location', function($rootScope, $location){
var breadcrumbs = [{id:'home', url:'/#/'}];
diff --git a/tools/ngui/static/js/common/services/helperfunctions.js b/tools/ngui/static/js/common/services/helperfunctions.js
index 3241749004e..0d4bdbf90a3 100644
--- a/tools/ngui/static/js/common/services/helperfunctions.js
+++ b/tools/ngui/static/js/common/services/helperfunctions.js
@@ -1,3 +1,20 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
+
angular.module('services.helperfunctions', []);
angular.module('services.helperfunctions').factory('makeArray', function(){
var makeArray = function(Type){
diff --git a/tools/ngui/static/js/common/services/notifications.js b/tools/ngui/static/js/common/services/notifications.js
index 98fd9a27720..d146d0dcd92 100644
--- a/tools/ngui/static/js/common/services/notifications.js
+++ b/tools/ngui/static/js/common/services/notifications.js
@@ -1,3 +1,20 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
+
angular.module('services.notifications', []);
angular.module('services.notifications').factory('Notifications', function(){
var notifications = [];
diff --git a/tools/ngui/static/js/common/services/requester.js b/tools/ngui/static/js/common/services/requester.js
index 4878c79cc28..d5651611a8c 100644
--- a/tools/ngui/static/js/common/services/requester.js
+++ b/tools/ngui/static/js/common/services/requester.js
@@ -1,3 +1,19 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you 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.
angular.module('services.requester', [])
angular.module('services.requester').factory('requester', ['$http', '$timeout', '$q', function($http, $timeout, $q){
var baseURL = '/api/'; //make a provider