You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datalab.apache.org by of...@apache.org on 2020/09/30 11:36:17 UTC

[incubator-datalab] branch develop updated (7598662 -> b19b207)

This is an automated email from the ASF dual-hosted git repository.

ofuks pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/incubator-datalab.git.


    from 7598662  Merge pull request #925 from apache/DLAB-1911
     add a30e375  [DLAB-2067]: Replaced old name by new one in all sources in code - dlab --> datalab in placeholders - DLAB --> DATA_LAB in filenames - dlab --> datalab in comments/readme/etc - DLab --> Data Lab
     add f74c104  Merge remote-tracking branch 'remotes/origin/DLAB-2067' into new-datalab-name
     add 1b97911  Changed names to Data Lab
     add 6d85c49  [DLAB-2066] Replaced old name with new one on backend side
     add 707c5b5  Merge remote-tracking branch 'origin/new-datalab-name' into new-datalab-name
     add e37b148  Small fix
     add dfbf584  Changed images to data-lab, fixed spinner animation, changed favicon, other name changes
     add c571929  [DLAB-2066] Replaced old name with new one in GuacamoleServlet
     add f104648  Merge remote-tracking branch 'origin/new-datalab-name' into new-datalab-name
     add 569c491  Changed Data Lab to DataLab
     add 364f52a  Fix datalab_id
     add de31834  Added new favicon
     add 0f1ba6a  [DLAB-2066] Replaced old name with new one
     add 7586bf6  Merge remote-tracking branch 'origin/new-datalab-name' into new-datalab-name
     add c5b74b2  Added new favicon
     add 799cdc0  [DLAB-2067]: Replaced old name by new one in all sources in code - dlab --> datalab in placeholders - DLAB --> DATALAB in filenames - dlab --> datalab in comments/readme/etc - DLab --> DataLab
     add 949a895  Merge remote-tracking branch 'remotes/origin/DLAB-2067' into new-datalab-name
     add 66c13a3  [DLAB-2066] Replaced old name with new one
     new b19b207  Merge branch 'new-datalab-name' into develop

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 CONTRIBUTING.md                                    |    6 +-
 README.md                                          |  380 +++---
 RELEASE_NOTES.md                                   |   16 +-
 USER_GUIDE.md                                      |   58 +-
 build.properties                                   |    2 +-
 doc/{dlab_aws.png => datalab_aws.png}              |  Bin
 doc/{dlab_azure.png => datalab_azure.png}          |  Bin
 doc/{dlab_gcp.png => datalab_gcp.png}              |  Bin
 .../scripts/POST_DEPLOYMENT.md                     |   10 +-
 .../scripts/deploy_datalab.py                      |  231 ++++
 infrastructure-provisioning/scripts/deploy_dlab.py |  220 ----
 .../scripts/deploy_repository/deploy_repository.py |   36 +-
 .../scripts/post-deployment_configuration.py       |  162 ++-
 .../src/base/scripts/install_prerequisites.py      |   13 +-
 .../src/base/scripts/install_user_key.py           |    6 +-
 .../src/dataengine-service/fabfile.py              |   19 +-
 .../src/dataengine/fabfile.py                      |   20 +-
 .../src/dataengine/scripts/configure_dataengine.py |   10 +-
 .../src/deeplearning/fabfile.py                    |   12 +-
 .../scripts/configure_deep_learning_node.py        |   13 +-
 infrastructure-provisioning/src/edge/fabfile.py    |   10 +-
 .../src/edge/scripts/configure_http_proxy.py       |    5 +-
 .../edge/scripts/configure_nginx_reverse_proxy.py  |    8 +-
 .../src/edge/scripts/reupload_ssh_key.py           |    9 +-
 .../src/edge/templates/squid.conf                  |    4 +-
 .../src/general/api/check_inactivity.py            |    9 +-
 .../src/general/api/configure.py                   |    9 +-
 .../src/general/api/create.py                      |    9 +-
 .../src/general/api/create_image.py                |    9 +-
 .../src/general/api/git_creds.py                   |    9 +-
 .../src/general/api/install_libs.py                |    9 +-
 .../src/general/api/list_libs.py                   |   16 +-
 .../src/general/api/reconfigure_spark.py           |    9 +-
 .../src/general/api/recreate.py                    |    9 +-
 .../src/general/api/reupload_key.py                |   11 +-
 .../src/general/api/start.py                       |    9 +-
 .../src/general/api/status.py                      |    9 +-
 .../src/general/api/stop.py                        |    9 +-
 .../src/general/api/terminate.py                   |    9 +-
 .../src/general/api/terminate_image.py             |    9 +-
 .../src/general/conf/datalab.ini                   |  377 ++++++
 .../src/general/conf/dlab.ini                      |  377 ------
 .../src/general/files/aws/base_Dockerfile          |    8 +-
 .../src/general/files/aws/base_description.json    |    2 +-
 .../files/aws/dataengine-service_Dockerfile        |    6 +-
 .../src/general/files/aws/dataengine_Dockerfile    |    4 +-
 .../src/general/files/aws/deeplearning_Dockerfile  |    4 +-
 .../src/general/files/aws/edge_Dockerfile          |    4 +-
 .../src/general/files/aws/jupyter_Dockerfile       |    4 +-
 .../src/general/files/aws/jupyterlab_Dockerfile    |    4 +-
 .../src/general/files/aws/project_Dockerfile       |    4 +-
 .../src/general/files/aws/rstudio_Dockerfile       |    4 +-
 .../src/general/files/aws/ssn_Dockerfile           |    4 +-
 .../src/general/files/aws/ssn_description.json     |    2 +-
 .../general/files/aws/tensor-rstudio_Dockerfile    |    4 +-
 .../src/general/files/aws/tensor_Dockerfile        |    4 +-
 .../src/general/files/aws/zeppelin_Dockerfile      |    4 +-
 .../src/general/files/azure/base_Dockerfile        |    8 +-
 .../src/general/files/azure/base_description.json  |    2 +-
 .../src/general/files/azure/dataengine_Dockerfile  |    4 +-
 .../general/files/azure/deeplearning_Dockerfile    |    4 +-
 .../src/general/files/azure/edge_Dockerfile        |    4 +-
 .../src/general/files/azure/jupyter_Dockerfile     |    4 +-
 .../src/general/files/azure/jupyterlab_Dockerfile  |    4 +-
 .../src/general/files/azure/project_Dockerfile     |    4 +-
 .../src/general/files/azure/rstudio_Dockerfile     |    4 +-
 .../src/general/files/azure/ssn_Dockerfile         |    4 +-
 .../src/general/files/azure/ssn_description.json   |    2 +-
 .../src/general/files/azure/tensor_Dockerfile      |    4 +-
 .../src/general/files/azure/zeppelin_Dockerfile    |    4 +-
 .../src/general/files/gcp/base_Dockerfile          |    8 +-
 .../src/general/files/gcp/base_description.json    |    2 +-
 .../files/gcp/dataengine-service_Dockerfile        |    4 +-
 .../src/general/files/gcp/dataengine_Dockerfile    |    4 +-
 .../src/general/files/gcp/deeplearning_Dockerfile  |    4 +-
 .../src/general/files/gcp/edge_Dockerfile          |    4 +-
 .../src/general/files/gcp/jupyter_Dockerfile       |    4 +-
 .../src/general/files/gcp/jupyterlab_Dockerfile    |    4 +-
 .../src/general/files/gcp/project_Dockerfile       |    4 +-
 .../src/general/files/gcp/rstudio_Dockerfile       |    4 +-
 .../src/general/files/gcp/ssn_Dockerfile           |    4 +-
 .../src/general/files/gcp/ssn_description.json     |    2 +-
 .../src/general/files/gcp/superset_Dockerfile      |    4 +-
 .../general/files/gcp/tensor-rstudio_Dockerfile    |    4 +-
 .../src/general/files/gcp/tensor_Dockerfile        |    4 +-
 .../src/general/files/gcp/zeppelin_Dockerfile      |    4 +-
 .../src/general/lib/aws/actions_lib.py             |   41 +-
 .../src/general/lib/aws/meta_lib.py                |   16 +-
 .../src/general/lib/azure/actions_lib.py           |   70 +-
 .../src/general/lib/gcp/actions_lib.py             |   46 +-
 .../src/general/lib/gcp/meta_lib.py                |   20 +-
 .../src/general/lib/os/debian/edge_lib.py          |   47 +-
 .../src/general/lib/os/debian/notebook_lib.py      |   21 +-
 .../src/general/lib/os/debian/ssn_lib.py           |  137 +-
 .../src/general/lib/os/fab.py                      |   96 +-
 .../src/general/lib/os/redhat/edge_lib.py          |   43 +-
 .../src/general/lib/os/redhat/notebook_lib.py      |   20 +-
 .../src/general/lib/os/redhat/ssn_lib.py           |  128 +-
 .../src/general/scripts/aws/common_collect_data.py |   15 +-
 .../general/scripts/aws/common_create_bucket.py    |    7 +-
 .../general/scripts/aws/common_create_instance.py  |    5 +-
 .../scripts/aws/common_create_notebook_image.py    |   24 +-
 .../general/scripts/aws/common_create_policy.py    |    7 +-
 .../scripts/aws/common_create_role_policy.py       |    4 +-
 .../scripts/aws/common_create_security_group.py    |    8 +-
 .../general/scripts/aws/common_create_subnet.py    |   29 +-
 .../scripts/aws/common_download_git_certfile.py    |    8 +-
 ...common_notebook_configure_dataengine-service.py |   62 +-
 .../aws/common_notebook_configure_dataengine.py    |   39 +-
 .../general/scripts/aws/common_prepare_notebook.py |   50 +-
 .../general/scripts/aws/common_put_to_bucket.py    |    2 +-
 .../scripts/aws/common_remove_remote_kernels.py    |    7 +-
 .../src/general/scripts/aws/common_reupload_key.py |    7 +-
 .../general/scripts/aws/common_start_notebook.py   |   33 +-
 .../general/scripts/aws/common_stop_notebook.py    |   41 +-
 .../scripts/aws/common_terminate_notebook.py       |   29 +-
 .../scripts/aws/common_terminate_notebook_image.py |   15 +-
 .../scripts/aws/dataengine-service_configure.py    |   86 +-
 .../scripts/aws/dataengine-service_create.py       |   23 +-
 .../scripts/aws/dataengine-service_install_libs.py |   12 +-
 .../scripts/aws/dataengine-service_list_libs.py    |    8 +-
 .../scripts/aws/dataengine-service_prepare.py      |   60 +-
 .../scripts/aws/dataengine-service_terminate.py    |   27 +-
 .../general/scripts/aws/dataengine_configure.py    |  123 +-
 .../src/general/scripts/aws/dataengine_prepare.py  |   81 +-
 .../src/general/scripts/aws/dataengine_start.py    |   22 +-
 .../src/general/scripts/aws/dataengine_stop.py     |   14 +-
 .../general/scripts/aws/dataengine_terminate.py    |   20 +-
 .../general/scripts/aws/deeplearning_configure.py  |  133 +-
 .../scripts/aws/edge_associate_elastic_ip.py       |   10 +-
 .../src/general/scripts/aws/edge_configure.py      |  109 +-
 .../scripts/aws/edge_configure_route_table.py      |    5 +-
 .../src/general/scripts/aws/edge_start.py          |   22 +-
 .../src/general/scripts/aws/edge_status.py         |   17 +-
 .../src/general/scripts/aws/edge_stop.py           |   19 +-
 .../src/general/scripts/aws/jupyter_configure.py   |  125 +-
 .../jupyter_dataengine-service_create_configs.py   |   17 +-
 .../jupyter_install_dataengine-service_kernels.py  |   31 +-
 .../general/scripts/aws/jupyterlab_configure.py    |  141 +-
 .../src/general/scripts/aws/project_prepare.py     |  179 ++-
 .../src/general/scripts/aws/project_terminate.py   |   66 +-
 .../src/general/scripts/aws/rstudio_configure.py   |  139 +-
 .../rstudio_dataengine-service_create_configs.py   |   16 +-
 .../rstudio_install_dataengine-service_kernels.py  |   19 +-
 .../scripts/aws/ssn_associate_elastic_ip.py        |   10 +-
 .../src/general/scripts/aws/ssn_configure.py       |  147 +--
 .../src/general/scripts/aws/ssn_create_endpoint.py |   10 +-
 .../src/general/scripts/aws/ssn_create_vpc.py      |    5 +-
 .../src/general/scripts/aws/ssn_finalize.py        |    5 +-
 .../src/general/scripts/aws/ssn_prepare.py         |  296 +++--
 .../src/general/scripts/aws/ssn_terminate.py       |   23 +-
 .../scripts/aws/ssn_terminate_aws_resources.py     |   87 +-
 .../scripts/aws/tensor-rstudio_configure.py        |  143 +--
 .../src/general/scripts/aws/tensor_configure.py    |  129 +-
 .../src/general/scripts/aws/zeppelin_configure.py  |  133 +-
 .../zeppelin_dataengine-service_create_configs.py  |   18 +-
 .../zeppelin_install_dataengine-service_kernels.py |   20 +-
 .../general/scripts/azure/common_collect_data.py   |   15 +-
 .../azure/common_create_datalake_directory.py      |    7 +-
 .../scripts/azure/common_create_instance.py        |   12 +-
 .../scripts/azure/common_create_notebook_image.py  |   30 +-
 .../scripts/azure/common_create_security_group.py  |    6 +-
 .../scripts/azure/common_create_storage_account.py |    8 +-
 .../general/scripts/azure/common_create_subnet.py  |   15 +-
 .../scripts/azure/common_download_git_certfile.py  |    7 +-
 .../azure/common_notebook_configure_dataengine.py  |   31 +-
 .../scripts/azure/common_prepare_notebook.py       |   36 +-
 .../scripts/azure/common_remove_remote_kernels.py  |    7 +-
 .../general/scripts/azure/common_reupload_key.py   |    7 +-
 .../general/scripts/azure/common_start_notebook.py |   27 +-
 .../general/scripts/azure/common_stop_notebook.py  |   23 +-
 .../scripts/azure/common_terminate_notebook.py     |   23 +-
 .../azure/common_terminate_notebook_image.py       |   13 +-
 .../general/scripts/azure/dataengine_configure.py  |   97 +-
 .../general/scripts/azure/dataengine_prepare.py    |   39 +-
 .../src/general/scripts/azure/dataengine_start.py  |   21 +-
 .../src/general/scripts/azure/dataengine_stop.py   |   21 +-
 .../general/scripts/azure/dataengine_terminate.py  |   23 +-
 .../scripts/azure/deeplearning_configure.py        |   91 +-
 .../src/general/scripts/azure/edge_configure.py    |   53 +-
 .../src/general/scripts/azure/edge_prepare.py      |   15 +-
 .../src/general/scripts/azure/edge_start.py        |   18 +-
 .../src/general/scripts/azure/edge_status.py       |   15 +-
 .../src/general/scripts/azure/edge_stop.py         |   20 +-
 .../src/general/scripts/azure/edge_terminate.py    |   35 +-
 .../src/general/scripts/azure/jupyter_configure.py |   85 +-
 .../general/scripts/azure/jupyterlab_configure.py  |   99 +-
 .../src/general/scripts/azure/project_prepare.py   |   39 +-
 .../src/general/scripts/azure/project_terminate.py |   35 +-
 .../general/scripts/azure/rstudio_change_pass.py   |    6 +-
 .../src/general/scripts/azure/rstudio_configure.py |   95 +-
 .../src/general/scripts/azure/ssn_configure.py     |   76 +-
 .../general/scripts/azure/ssn_create_datalake.py   |    8 +-
 .../general/scripts/azure/ssn_create_peering.py    |    7 +-
 .../scripts/azure/ssn_create_resource_group.py     |    5 +-
 .../src/general/scripts/azure/ssn_create_vpc.py    |    5 +-
 .../src/general/scripts/azure/ssn_prepare.py       |   50 +-
 .../src/general/scripts/azure/ssn_terminate.py     |   50 +-
 .../src/general/scripts/azure/tensor_configure.py  |   84 +-
 .../general/scripts/azure/zeppelin_configure.py    |   82 +-
 .../src/general/scripts/gcp/common_collect_data.py |   14 +-
 .../general/scripts/gcp/common_create_bucket.py    |    6 +-
 .../general/scripts/gcp/common_create_firewall.py  |    9 +-
 .../general/scripts/gcp/common_create_instance.py  |    5 +-
 .../general/scripts/gcp/common_create_nat_route.py |    8 +-
 .../scripts/gcp/common_create_notebook_image.py    |   16 +-
 .../scripts/gcp/common_create_service_account.py   |    4 +-
 .../general/scripts/gcp/common_create_subnet.py    |   23 +-
 .../scripts/gcp/common_download_git_certfile.py    |    6 +-
 ...common_notebook_configure_dataengine-service.py |   21 +-
 .../gcp/common_notebook_configure_dataengine.py    |   29 +-
 .../general/scripts/gcp/common_prepare_notebook.py |   26 +-
 .../general/scripts/gcp/common_put_to_bucket.py    |    2 +-
 .../src/general/scripts/gcp/common_reupload_key.py |    7 +-
 .../general/scripts/gcp/common_start_notebook.py   |   23 +-
 .../general/scripts/gcp/common_stop_notebook.py    |   25 +-
 .../scripts/gcp/common_terminate_notebook.py       |   25 +-
 .../scripts/gcp/common_terminate_notebook_image.py |   15 +-
 .../scripts/gcp/dataengine-service_configure.py    |   52 +-
 .../scripts/gcp/dataengine-service_create.py       |   10 +-
 .../scripts/gcp/dataengine-service_install_libs.py |   12 +-
 .../scripts/gcp/dataengine-service_list_libs.py    |    8 +-
 .../scripts/gcp/dataengine-service_prepare.py      |   37 +-
 .../scripts/gcp/dataengine-service_terminate.py    |   24 +-
 .../general/scripts/gcp/dataengine_configure.py    |   91 +-
 .../src/general/scripts/gcp/dataengine_prepare.py  |   30 +-
 .../src/general/scripts/gcp/dataengine_start.py    |   25 +-
 .../src/general/scripts/gcp/dataengine_stop.py     |   21 +-
 .../general/scripts/gcp/dataengine_terminate.py    |   25 +-
 .../general/scripts/gcp/deeplearning_configure.py  |   69 +-
 .../src/general/scripts/gcp/edge_configure.py      |   63 +-
 .../general/scripts/gcp/edge_create_static_ip.py   |   10 +-
 .../src/general/scripts/gcp/edge_start.py          |   16 +-
 .../src/general/scripts/gcp/edge_status.py         |   20 +-
 .../src/general/scripts/gcp/edge_stop.py           |   17 +-
 .../src/general/scripts/gcp/edge_terminate.py      |   33 +-
 .../src/general/scripts/gcp/jupyter_configure.py   |   63 +-
 .../jupyter_dataengine-service_create_configs.py   |   17 +-
 .../jupyter_install_dataengine-service_kernels.py  |   31 +-
 .../general/scripts/gcp/jupyterlab_configure.py    |   73 +-
 .../src/general/scripts/gcp/project_prepare.py     |   38 +-
 .../src/general/scripts/gcp/project_terminate.py   |   35 +-
 .../src/general/scripts/gcp/rstudio_configure.py   |   73 +-
 .../rstudio_dataengine-service_create_configs.py   |   16 +-
 .../rstudio_install_dataengine-service_kernels.py  |   17 +-
 .../src/general/scripts/gcp/ssn_configure.py       |   70 +-
 .../general/scripts/gcp/ssn_create_static_ip.py    |   10 +-
 .../src/general/scripts/gcp/ssn_create_vpc.py      |    6 +-
 .../src/general/scripts/gcp/ssn_finalize.py        |    5 +-
 .../src/general/scripts/gcp/ssn_prepare.py         |   38 +-
 .../src/general/scripts/gcp/ssn_terminate.py       |   17 +-
 .../scripts/gcp/ssn_terminate_gcp_resources.py     |    7 +-
 .../src/general/scripts/gcp/superset_configure.py  |   76 +-
 .../scripts/gcp/tensor-rstudio_configure.py        |   76 +-
 .../src/general/scripts/gcp/tensor_configure.py    |   61 +-
 .../src/general/scripts/gcp/zeppelin_configure.py  |   61 +-
 .../zeppelin_dataengine-service_create_configs.py  |   18 +-
 .../zeppelin_install_dataengine-service_kernels.py |   17 +-
 .../src/general/scripts/os/check_inactivity.py     |   11 +-
 .../general/scripts/os/common_clean_instance.py    |    4 +-
 .../general/scripts/os/common_configure_proxy.py   |    6 +-
 .../scripts/os/common_configure_reverse_proxy.py   |    2 +-
 .../general/scripts/os/common_configure_spark.py   |   14 +-
 .../scripts/os/configure_proxy_for_docker.py       |    7 +-
 .../general/scripts/os/dataengine_install_libs.py  |   12 +-
 .../src/general/scripts/os/dataengine_list_libs.py |    8 +-
 .../scripts/os/dataengine_reconfigure_spark.py     |   12 +-
 .../os/deeplearning_dataengine_create_configs.py   |   15 +-
 .../os/deeplearning_install_dataengine_kernels.py  |   27 +-
 .../general/scripts/os/get_list_available_pkgs.py  |    9 +-
 .../general/scripts/os/install_additional_libs.py  |    9 +-
 .../os/jupyter_dataengine_create_configs.py        |   15 +-
 .../os/jupyter_install_dataengine_kernels.py       |   32 +-
 .../scripts/os/jupyterlab_container_start.py       |    5 +-
 .../src/general/scripts/os/manage_git_creds.py     |   12 +-
 .../src/general/scripts/os/notebook_git_creds.py   |    8 +-
 .../scripts/os/notebook_inactivity_check.py        |   14 +-
 .../general/scripts/os/notebook_install_libs.py    |    9 +-
 .../src/general/scripts/os/notebook_list_libs.py   |    8 +-
 .../os/notebook_reconfigure_dataengine_spark.py    |   15 +-
 .../scripts/os/notebook_reconfigure_spark.py       |   10 +-
 .../src/general/scripts/os/reconfigure_spark.py    |   11 +-
 .../os/rstudio_dataengine_create_configs.py        |   15 +-
 .../os/rstudio_install_dataengine_kernels.py       |   25 +-
 .../src/general/scripts/os/superset_start.py       |    7 +-
 .../os/tensor-rstudio_dataengine_create_configs.py |   15 +-
 .../tensor-rstudio_install_dataengine_kernels.py   |   25 +-
 .../scripts/os/tensor_dataengine_create_configs.py |   15 +-
 .../os/tensor_install_dataengine_kernels.py        |   27 +-
 .../scripts/os/update_inactivity_on_start.py       |    7 +-
 .../os/zeppelin_dataengine_create_configs.py       |   15 +-
 .../os/zeppelin_install_dataengine_kernels.py      |   29 +-
 .../aws/jenkins_jobs/create_data_engine/config.xml |   18 +-
 .../create_dataengine-service/config.xml           |   48 +-
 .../aws/jenkins_jobs/create_edge_node/config.xml   |    7 +-
 .../jenkins_jobs/create_notebook_image/config.xml  |    7 +-
 .../jenkins_jobs/create_notebook_server/config.xml |    8 +-
 .../config.xml                                     |   10 +-
 .../config.xml                                     |    7 +-
 .../dataengine_install_additional_libs/config.xml  |    9 +-
 .../dataengine_list_available_libs/config.xml      |    6 +-
 .../dataengine_reconfigure_spark/config.xml        |    9 +-
 .../aws/jenkins_jobs/gitlab_server/config.xml      |   29 +-
 .../jenkins_jobs/manage_git_credentials/config.xml |    8 +-
 .../notebook_install_additional_libs/config.xml    |    5 +-
 .../notebook_list_available_libs/config.xml        |    6 +-
 .../notebook_reconfigure_spark/config.xml          |    7 +-
 .../aws/jenkins_jobs/recreate_edge_node/config.xml |    7 +-
 .../aws/jenkins_jobs/reupload_ssh_key/config.xml   |    5 +-
 .../aws/jenkins_jobs/start_data_engine/config.xml  |    6 +-
 .../aws/jenkins_jobs/start_edge_node/config.xml    |    5 +-
 .../jenkins_jobs/start_notebook_server/config.xml  |    8 +-
 .../aws/jenkins_jobs/stop_data_engine/config.xml   |    6 +-
 .../aws/jenkins_jobs/stop_edge_node/config.xml     |    5 +-
 .../jenkins_jobs/stop_notebook_server/config.xml   |    6 +-
 .../jenkins_jobs/terminate_data_engine/config.xml  |    6 +-
 .../terminate_dataengine-service/config.xml        |    7 +-
 .../jenkins_jobs/terminate_edge_node/config.xml    |    5 +-
 .../terminate_notebook_image/config.xml            |    7 +-
 .../terminate_notebook_server/config.xml           |    6 +-
 .../jenkins_jobs/create_data_engine/config.xml     |   20 +-
 .../azure/jenkins_jobs/create_edge_node/config.xml |    6 +-
 .../jenkins_jobs/create_notebook_image/config.xml  |    7 +-
 .../jenkins_jobs/create_notebook_server/config.xml |    9 +-
 .../dataengine_install_additional_libs/config.xml  |    9 +-
 .../dataengine_list_available_libs/config.xml      |    6 +-
 .../dataengine_reconfigure_spark/config.xml        |    9 +-
 .../jenkins_jobs/manage_git_credentials/config.xml |    8 +-
 .../notebook_install_additional_libs/config.xml    |    5 +-
 .../notebook_list_available_libs/config.xml        |    6 +-
 .../notebook_reconfigure_spark/config.xml          |    7 +-
 .../jenkins_jobs/recreate_edge_node/config.xml     |    7 +-
 .../jenkins_jobs/start_data_engine/config.xml      |    6 +-
 .../azure/jenkins_jobs/start_edge_node/config.xml  |    5 +-
 .../jenkins_jobs/start_notebook_server/config.xml  |    8 +-
 .../azure/jenkins_jobs/stop_data_engine/config.xml |    6 +-
 .../azure/jenkins_jobs/stop_edge_node/config.xml   |    5 +-
 .../jenkins_jobs/stop_notebook_server/config.xml   |    6 +-
 .../jenkins_jobs/terminate_data_engine/config.xml  |    6 +-
 .../jenkins_jobs/terminate_edge_node/config.xml    |    5 +-
 .../terminate_notebook_image/config.xml            |    7 +-
 .../terminate_notebook_server/config.xml           |    6 +-
 .../gcp/jenkins_jobs/create_data_engine/config.xml |   17 +-
 .../create_dataengine-service/config.xml           |   23 +-
 .../gcp/jenkins_jobs/create_edge_node/config.xml   |    6 +-
 .../jenkins_jobs/create_notebook_server/config.xml |    8 +-
 .../config.xml                                     |    7 +-
 .../config.xml                                     |    7 +-
 .../dataengine_install_additional_libs/config.xml  |    9 +-
 .../dataengine_list_available_libs/config.xml      |    6 +-
 .../dataengine_reconfigure_spark/config.xml        |    9 +-
 .../gcp/jenkins_jobs/gitlab_server/config.xml      |   29 +-
 .../jenkins_jobs/manage_git_credentials/config.xml |    8 +-
 .../notebook_install_additional_libs/config.xml    |    5 +-
 .../notebook_list_available_libs/config.xml        |    6 +-
 .../notebook_reconfigure_spark/config.xml          |    7 +-
 .../gcp/jenkins_jobs/recreate_edge_node/config.xml |    6 +-
 .../gcp/jenkins_jobs/start_data_engine/config.xml  |    6 +-
 .../gcp/jenkins_jobs/start_edge_node/config.xml    |    5 +-
 .../jenkins_jobs/start_notebook_server/config.xml  |    7 +-
 .../gcp/jenkins_jobs/stop_data_engine/config.xml   |    6 +-
 .../gcp/jenkins_jobs/stop_edge_node/config.xml     |    5 +-
 .../jenkins_jobs/stop_notebook_server/config.xml   |    6 +-
 .../jenkins_jobs/terminate_data_engine/config.xml  |    6 +-
 .../terminate_dataengine-service/config.xml        |    8 +-
 .../jenkins_jobs/terminate_edge_node/config.xml    |    5 +-
 .../terminate_notebook_server/config.xml           |    6 +-
 .../templates/os/debian/spark-master.service       |    2 +-
 .../templates/os/debian/spark-slave.service        |    2 +-
 .../templates/os/redhat/spark-master.service       |    2 +-
 .../templates/os/redhat/spark-slave.service        |    2 +-
 .../src/general/templates/os/renew_certificates.sh |    6 +-
 infrastructure-provisioning/src/jupyter/fabfile.py |   12 +-
 .../src/jupyter/scripts/configure_jupyter_node.py  |    9 +-
 .../src/jupyterlab/fabfile.py                      |   12 +-
 .../scripts/configure_jupyterlab_node.py           |    9 +-
 infrastructure-provisioning/src/project/fabfile.py |    9 +-
 .../src/project/scripts/configure_http_proxy.py    |    5 +-
 .../src/project/scripts/configure_keycloak.py      |   11 +-
 .../src/project/scripts/configure_nftables.py      |    5 +-
 .../scripts/configure_nginx_reverse_proxy.py       |   10 +-
 .../src/project/scripts/reupload_ssh_key.py        |    9 +-
 .../src/project/templates/conf.d/proxy.conf        |    4 +-
 .../src/project/templates/squid.conf               |    4 +-
 infrastructure-provisioning/src/rstudio/fabfile.py |   12 +-
 .../src/rstudio/scripts/configure_rstudio_node.py  |   15 +-
 infrastructure-provisioning/src/ssn/fabfile.py     |    5 +-
 .../src/ssn/files/aws/mongo_roles.json             |   18 +-
 .../src/ssn/files/azure/mongo_roles.json           |   12 +-
 .../src/ssn/files/gcp/mongo_roles.json             |   20 +-
 .../src/ssn/scripts/backup.py                      |   61 +-
 .../src/ssn/scripts/configure_billing.py           |   53 +-
 .../src/ssn/scripts/configure_conf_file.py         |   19 +-
 .../src/ssn/scripts/configure_docker.py            |   83 +-
 .../src/ssn/scripts/configure_gitlab.py            |   26 +-
 .../src/ssn/scripts/configure_mongo.py             |   25 +-
 .../src/ssn/scripts/configure_ssn_node.py          |  100 +-
 .../src/ssn/scripts/configure_ui.py                |   95 +-
 .../src/ssn/scripts/docker_build.py                |   29 +-
 .../src/ssn/scripts/resource_status.py             |    8 +-
 .../src/ssn/scripts/restore.py                     |   47 +-
 .../src/ssn/scripts/upload_response_file.py        |   10 +-
 .../src/ssn/templates/gitlab.ini                   |   20 +-
 .../src/ssn/templates/nginx_proxy.conf             |    4 +-
 .../src/ssn/templates/ssn.yml                      |    4 +-
 .../src/ssn/templates/supervisor_svc.conf          |    8 +-
 .../src/superset/fabfile.py                        |   12 +-
 .../superset/scripts/configure_superset_node.py    |   11 +-
 .../src/tensor-rstudio/fabfile.py                  |   12 +-
 .../scripts/configure_tensor-rstudio_node.py       |   15 +-
 infrastructure-provisioning/src/tensor/fabfile.py  |   12 +-
 .../src/tensor/scripts/configure_tensor_node.py    |   15 +-
 .../src/zeppelin/fabfile.py                        |   12 +-
 .../zeppelin/scripts/configure_zeppelin_node.py    |   14 +-
 .../terraform/aws/endpoint/main/README.md          |    2 +-
 .../terraform/aws/endpoint/main/variables.tf       |    2 +-
 .../terraform/aws/project/main/variales.tf         |    2 +-
 .../main/datalab-billing-chart}/.helmignore        |    0
 .../main/datalab-billing-chart/Chart.yaml          |   26 +
 .../main/datalab-billing-chart/templates/NOTES.txt |   42 +
 .../datalab-billing-chart/templates/_helpers.tpl   |   65 +
 .../templates/configmap-billing-conf.yaml          |  105 ++
 .../templates/deployment.yaml                      |   86 ++
 .../datalab-billing-chart/templates/service.yaml   |   38 +
 .../main/datalab-billing-chart/values.yaml         |   76 ++
 .../aws/ssn-helm-charts/main/datalab-billing.tf    |   59 +
 .../main/datalab-ui-chart}/.helmignore             |    0
 .../main/datalab-ui-chart/Chart.yaml               |   26 +
 .../main/datalab-ui-chart/templates/NOTES.txt      |   42 +
 .../main/datalab-ui-chart/templates/_helpers.tpl   |   65 +
 .../main/datalab-ui-chart/templates/cert.yaml      |   64 +
 .../templates/configmap-ui-conf.yaml               |  235 ++++
 .../datalab-ui-chart/templates/deployment.yaml     |  107 ++
 .../main/datalab-ui-chart/templates/ingress.yaml   |   57 +
 .../main/datalab-ui-chart/templates/service.yaml   |   43 +
 .../main/datalab-ui-chart/values.yaml              |   69 +
 .../aws/ssn-helm-charts/main/datalab-ui.tf         |   73 ++
 .../main/dlab-billing-chart/Chart.yaml             |   26 -
 .../main/dlab-billing-chart/templates/NOTES.txt    |   42 -
 .../main/dlab-billing-chart/templates/_helpers.tpl |   65 -
 .../templates/configmap-billing-conf.yaml          |  105 --
 .../dlab-billing-chart/templates/deployment.yaml   |   86 --
 .../main/dlab-billing-chart/templates/service.yaml |   38 -
 .../main/dlab-billing-chart/values.yaml            |   76 --
 .../aws/ssn-helm-charts/main/dlab-billing.tf       |   57 -
 .../ssn-helm-charts/main/dlab-ui-chart/Chart.yaml  |   26 -
 .../main/dlab-ui-chart/templates/NOTES.txt         |   42 -
 .../main/dlab-ui-chart/templates/_helpers.tpl      |   65 -
 .../main/dlab-ui-chart/templates/cert.yaml         |   64 -
 .../dlab-ui-chart/templates/configmap-ui-conf.yaml |  235 ----
 .../main/dlab-ui-chart/templates/deployment.yaml   |  107 --
 .../main/dlab-ui-chart/templates/ingress.yaml      |   57 -
 .../main/dlab-ui-chart/templates/service.yaml      |   43 -
 .../ssn-helm-charts/main/dlab-ui-chart/values.yaml |   69 -
 .../terraform/aws/ssn-helm-charts/main/dlab-ui.tf  |   70 -
 .../main/files/configure_keycloak.sh               |   10 +-
 .../main/files/keycloak_values.yaml                |    8 +-
 .../terraform/aws/ssn-helm-charts/main/keycloak.tf |   13 +-
 .../terraform/aws/ssn-helm-charts/main/main.tf     |    6 +-
 .../terraform/aws/ssn-helm-charts/main/mongo.tf    |    6 +-
 .../terraform/aws/ssn-helm-charts/main/mysql.tf    |   12 +-
 .../terraform/aws/ssn-helm-charts/main/nginx.tf    |    6 +-
 .../terraform/aws/ssn-helm-charts/main/secrets.tf  |   36 +-
 .../ssn-helm-charts/main/step-ca-chart/values.yaml |    2 +-
 .../terraform/aws/ssn-helm-charts/main/step-ca.tf  |   11 +-
 .../aws/ssn-helm-charts/main/step-issuer.tf        |    4 +-
 .../aws/ssn-helm-charts/main/variables.tf          |   16 +-
 .../terraform/aws/ssn-k8s/main/README.md           |    6 +-
 .../aws/ssn-k8s/main/files/masters-user-data.sh    |    8 +-
 .../aws/ssn-k8s/main/files/workers-user-data.sh    |    2 +-
 .../terraform/aws/ssn-k8s/main/variables.tf        |    6 +-
 .../terraform/azure/endpoint/main/variables.tf     |    2 +-
 .../terraform/bin/datalab.py                       | 1358 ++++++++++++++++++++
 .../terraform/bin/deploy/billing_app_aws.yml       |    6 +-
 .../terraform/bin/deploy/billing_aws.yml           |   16 +-
 .../terraform/bin/deploy/billing_azure.yml         |   10 +-
 .../terraform/bin/deploy/billing_gcp.yml           |    8 +-
 .../terraform/bin/deploy/endpoint_fab.py           |  135 +-
 .../bin/deploy/mongo_files/configure_mongo.py      |   13 +-
 .../bin/deploy/mongo_files/gcp/mongo_roles.json    |   20 +-
 .../terraform/bin/deploy/provisioning.yml          |   18 +-
 .../terraform/bin/deploy/renew_certificates.sh     |    6 +-
 .../terraform/bin/deploy/supervisor_svc.conf       |    4 +-
 infrastructure-provisioning/terraform/bin/dlab.py  | 1358 --------------------
 .../terraform/bin/terraform-cli.py                 |   10 +-
 .../terraform/gcp/endpoint/main/variables.tf       |    4 +-
 .../terraform/gcp/endpoint/provisioning.py         |  234 ++--
 .../terraform/gcp/endpoint/provisioning.yml        |   24 +-
 .../terraform/gcp/endpoint/supervisor_svc.conf     |    2 +-
 .../helm_charts/datalab-billing-chart}/.helmignore |    0
 .../helm_charts/datalab-billing-chart/Chart.yaml   |   26 +
 .../datalab-billing-chart/templates/NOTES.txt      |   42 +
 .../datalab-billing-chart/templates/_helpers.tpl   |   65 +
 .../templates/configmap-billing-conf.yaml          |   49 +
 .../templates/deployment.yaml                      |   86 ++
 .../datalab-billing-chart/templates/service.yaml   |   38 +
 .../helm_charts/datalab-billing-chart/values.yaml  |   63 +
 .../main/modules/helm_charts/datalab-billing.tf    |   47 +
 .../helm_charts/datalab-ui-chart}/.helmignore      |    0
 .../helm_charts/datalab-ui-chart/Chart.yaml        |   26 +
 .../datalab-ui-chart/templates/NOTES.txt           |   42 +
 .../datalab-ui-chart/templates/_helpers.tpl        |   65 +
 .../datalab-ui-chart/templates/cert.yaml           |   64 +
 .../templates/configmap-ui-conf.yaml               |  235 ++++
 .../datalab-ui-chart/templates/deployment.yaml     |  107 ++
 .../datalab-ui-chart/templates/ingress.yaml        |   57 +
 .../datalab-ui-chart/templates/service.yaml        |   43 +
 .../helm_charts/datalab-ui-chart/values.yaml       |   66 +
 .../ssn-gke/main/modules/helm_charts/datalab-ui.tf |   74 ++
 .../helm_charts/dlab-billing-chart/Chart.yaml      |   26 -
 .../dlab-billing-chart/templates/NOTES.txt         |   42 -
 .../dlab-billing-chart/templates/_helpers.tpl      |   65 -
 .../templates/configmap-billing-conf.yaml          |   49 -
 .../dlab-billing-chart/templates/deployment.yaml   |   86 --
 .../dlab-billing-chart/templates/service.yaml      |   38 -
 .../helm_charts/dlab-billing-chart/values.yaml     |   63 -
 .../main/modules/helm_charts/dlab-billing.tf       |   44 -
 .../modules/helm_charts/dlab-ui-chart/Chart.yaml   |   26 -
 .../helm_charts/dlab-ui-chart/templates/NOTES.txt  |   42 -
 .../dlab-ui-chart/templates/_helpers.tpl           |   65 -
 .../helm_charts/dlab-ui-chart/templates/cert.yaml  |   64 -
 .../dlab-ui-chart/templates/configmap-ui-conf.yaml |  235 ----
 .../dlab-ui-chart/templates/deployment.yaml        |  107 --
 .../dlab-ui-chart/templates/ingress.yaml           |   57 -
 .../dlab-ui-chart/templates/service.yaml           |   43 -
 .../modules/helm_charts/dlab-ui-chart/values.yaml  |   66 -
 .../ssn-gke/main/modules/helm_charts/dlab-ui.tf    |   70 -
 .../main/modules/helm_charts/external-dns.tf       |   10 +-
 .../external-dns/templates/externaldns.yaml        |    2 +-
 .../helm_charts/files/configure_keycloak.sh        |   10 +-
 .../helm_charts/files/get_configmap_values.sh      |    6 +-
 .../modules/helm_charts/files/keycloak_values.yaml |    8 +-
 .../ssn-gke/main/modules/helm_charts/keycloak.tf   |   13 +-
 .../gcp/ssn-gke/main/modules/helm_charts/main.tf   |    2 +-
 .../gcp/ssn-gke/main/modules/helm_charts/mongo.tf  |   10 +-
 .../gcp/ssn-gke/main/modules/helm_charts/mysql.tf  |    6 +-
 .../nginx-ingress/templates/nginx-ingress.yaml     |    4 +-
 .../gcp/ssn-gke/main/modules/helm_charts/nginx.tf  |   16 +-
 .../ssn-gke/main/modules/helm_charts/outputs.tf    |    2 +-
 .../ssn-gke/main/modules/helm_charts/secrets.tf    |   36 +-
 .../modules/helm_charts/step-ca-chart/values.yaml  |    2 +-
 .../ssn-gke/main/modules/helm_charts/step-ca.tf    |   10 +-
 .../main/modules/helm_charts/step-issuer.tf        |    4 +-
 .../terraform/gcp/ssn-gke/main/variables.tf        |   14 +-
 .../terraform/keycloak-theme/Dockerfile            |    2 +-
 integration-tests-cucumber/pom.xml                 |    2 +-
 .../java/org/apache/datalab/dto/EndpointDTO.java   |   38 +
 .../org/apache/datalab/mongo/MongoDBHelper.java    |   33 +
 .../org/apache/datalab/util/JacksonMapper.java     |   35 +
 .../org/apache/datalab/util/PropertyHelper.java    |   42 +
 .../main/java/org/apache/dlab/dto/EndpointDTO.java |   38 -
 .../java/org/apache/dlab/mongo/MongoDBHelper.java  |   33 -
 .../java/org/apache/dlab/util/JacksonMapper.java   |   35 -
 .../java/org/apache/dlab/util/PropertyHelper.java  |   42 -
 .../src/test/java/datalab/Constants.java           |   24 +
 .../src/test/java/datalab/RunCucumberTest.java     |   29 +
 .../test/java/datalab/endpoint/EndpointSteps.java  |  116 ++
 .../src/test/java/datalab/login/LoginSteps.java    |   63 +
 .../src/test/java/dlab/Constants.java              |   24 -
 .../src/test/java/dlab/RunCucumberTest.java        |   29 -
 .../src/test/java/dlab/endpoint/EndpointSteps.java |  116 --
 .../src/test/java/dlab/login/LoginSteps.java       |   63 -
 .../src/test/resources/config.properties           |    4 +-
 .../src/test/resources/datalab/endpoint.feature    |   75 ++
 .../src/test/resources/datalab/login.feature       |   30 +
 .../src/test/resources/dlab/endpoint.feature       |   75 --
 .../src/test/resources/dlab/login.feature          |   30 -
 integration-tests/README.MD                        |    4 +-
 integration-tests/pom.xml                          |   28 +-
 .../cloud/VirtualMachineStatusChecker.java         |   18 +-
 .../dlab/automation/cloud/aws/AmazonHelper.java    |    8 +-
 .../automation/cloud/aws/AmazonInstanceState.java  |    2 +-
 .../dlab/automation/cloud/azure/AzureHelper.java   |    6 +-
 .../epam/dlab/automation/cloud/gcp/GcpHelper.java  |    6 +-
 .../automation/cloud/gcp/GcpInstanceState.java     |    2 +-
 .../com/epam/dlab/automation/docker/AckStatus.java |    2 +-
 .../com/epam/dlab/automation/docker/Bridge.java    |    2 +-
 .../com/epam/dlab/automation/docker/Docker.java    |    6 +-
 .../dlab/automation/docker/DockerContainer.java    |    2 +-
 .../epam/dlab/automation/docker/HostConfig.java    |    2 +-
 .../com/epam/dlab/automation/docker/Labels.java    |    2 +-
 .../dlab/automation/docker/NetworkSettings.java    |    2 +-
 .../com/epam/dlab/automation/docker/Networks.java  |    2 +-
 .../epam/dlab/automation/docker/SSHConnect.java    |    4 +-
 .../dlab/automation/exceptions/CloudException.java |    2 +-
 .../automation/exceptions/DockerException.java     |    2 +-
 .../automation/exceptions/JenkinsException.java    |    2 +-
 .../automation/exceptions/LoadFailException.java   |    2 +-
 .../epam/dlab/automation/helper/CloudHelper.java   |   18 +-
 .../epam/dlab/automation/helper/CloudProvider.java |    2 +-
 .../automation/helper/ConfigPropertyValue.java     |    4 +-
 .../epam/dlab/automation/helper/NamingHelper.java  |    2 +-
 .../dlab/automation/helper/PropertiesResolver.java |    2 +-
 .../epam/dlab/automation/helper/WaitForStatus.java |    8 +-
 .../com/epam/dlab/automation/http/ApiPath.java     |    2 +-
 .../com/epam/dlab/automation/http/ContentType.java |    2 +-
 .../com/epam/dlab/automation/http/HttpRequest.java |    4 +-
 .../epam/dlab/automation/http/HttpStatusCode.java  |    2 +-
 .../jenkins/JenkinsConfigProperties.java           |    2 +-
 .../jenkins/JenkinsResponseElements.java           |    2 +-
 .../dlab/automation/jenkins/JenkinsService.java    |   10 +-
 .../epam/dlab/automation/jenkins/JenkinsUrls.java  |    2 +-
 .../dlab/automation/model/CreateNotebookDto.java   |    2 +-
 .../dlab/automation/model/DeployClusterDto.java    |    2 +-
 .../dlab/automation/model/DeployDataProcDto.java   |    2 +-
 .../epam/dlab/automation/model/DeployEMRDto.java   |    2 +-
 .../epam/dlab/automation/model/DeploySparkDto.java |    2 +-
 .../dlab/automation/model/ExploratoryImageDto.java |    2 +-
 .../com/epam/dlab/automation/model/ImageDto.java   |    2 +-
 .../epam/dlab/automation/model/JsonMapperDto.java  |    2 +-
 .../java/com/epam/dlab/automation/model/Lib.java   |    2 +-
 .../com/epam/dlab/automation/model/LoginDto.java   |    2 +-
 .../epam/dlab/automation/model/NotebookConfig.java |    2 +-
 integration-tests/src/main/resources/log4j2.xml    |   18 +-
 .../epam/dlab/automation/test/TestCallable.java    |   32 +-
 .../automation/test/TestDataEngineService.java     |   16 +-
 .../epam/dlab/automation/test/TestServices.java    |   26 +-
 .../test/libs/LibraryNotFoundException.java        |    2 +-
 .../epam/dlab/automation/test/libs/LibsHelper.java |    6 +-
 .../dlab/automation/test/libs/TestDescription.java |    2 +-
 .../automation/test/libs/TestLibGroupStep.java     |   12 +-
 .../automation/test/libs/TestLibInstallStep.java   |   22 +-
 .../dlab/automation/test/libs/TestLibListStep.java |   20 +-
 .../dlab/automation/test/libs/TestLibStep.java     |    2 +-
 .../test/libs/models/LibInstallRequest.java        |    4 +-
 .../test/libs/models/LibSearchRequest.java         |    2 +-
 .../test/libs/models/LibStatusResponse.java        |    2 +-
 .../test/libs/models/LibToSearchData.java          |    2 +-
 .../automation/test/libs/models/LibraryStatus.java |    2 +-
 integration-tests/src/test/resources/log4j2.xml    |   18 +-
 pom.xml                                            |   56 +-
 services/billing-aws/billing.yml                   |   16 +-
 services/billing-aws/pom.xml                       |   10 +-
 .../com/epam/datalab/BillingAwsApplication.java    |   37 +
 .../main/java/com/epam/datalab/BillingService.java |   29 +
 .../java/com/epam/datalab/BillingServiceImpl.java  |  127 ++
 .../main/java/com/epam/datalab/BillingTool.java    |  176 +++
 .../src/main/java/com/epam/datalab/Help.java       |  146 +++
 .../java/com/epam/datalab/conf/SecurityConfig.java |   66 +
 .../configuration/BillingToolConfiguration.java    |  282 ++++
 .../BillingToolConfigurationFactory.java           |  110 ++
 .../datalab/configuration/ConfigJsonGenerator.java |  103 ++
 .../configuration/ConfigurationValidator.java      |   71 +
 .../datalab/configuration/FreeMarkerConfig.java    |   84 ++
 .../configuration/LoggingConfigurationFactory.java |  170 +++
 .../epam/datalab/controller/BillingController.java |   44 +
 .../java/com/epam/datalab/core/AdapterBase.java    |  173 +++
 .../java/com/epam/datalab/core/BillingUtils.java   |  144 +++
 .../java/com/epam/datalab/core/DBAdapterBase.java  |  163 +++
 .../java/com/epam/datalab/core/FilterBase.java     |   95 ++
 .../java/com/epam/datalab/core/ModuleBase.java     |   84 ++
 .../java/com/epam/datalab/core/ModuleData.java     |  182 +++
 .../java/com/epam/datalab/core/ModuleType.java     |   46 +
 .../core/aggregate/AggregateGranularity.java       |   44 +
 .../datalab/core/aggregate/DataAggregator.java     |  172 +++
 .../epam/datalab/core/aggregate/UsageDataList.java |   87 ++
 .../com/epam/datalab/core/parser/ColumnInfo.java   |   59 +
 .../com/epam/datalab/core/parser/ColumnMeta.java   |  318 +++++
 .../com/epam/datalab/core/parser/CommonFormat.java |  304 +++++
 .../datalab/core/parser/ConditionEvaluate.java     |  168 +++
 .../com/epam/datalab/core/parser/ParserBase.java   |  395 ++++++
 .../com/epam/datalab/core/parser/ParserByLine.java |  249 ++++
 .../epam/datalab/core/parser/ParserStatistics.java |  194 +++
 .../com/epam/datalab/logging/AppenderBase.java     |  103 ++
 .../com/epam/datalab/logging/AppenderConsole.java  |   44 +
 .../com/epam/datalab/logging/AppenderFile.java     |  208 +++
 .../com/epam/datalab/module/AdapterConsole.java    |   92 ++
 .../java/com/epam/datalab/module/AdapterFile.java  |  164 +++
 .../java/com/epam/datalab/module/ModuleName.java   |   33 +
 .../java/com/epam/datalab/module/ParserCsv.java    |  312 +++++
 .../com/epam/datalab/module/aws/AdapterS3File.java |  388 ++++++
 .../com/epam/datalab/module/aws/FilterAWS.java     |  150 +++
 .../com/epam/datalab/module/aws/S3FileList.java    |  168 +++
 .../com/epam/datalab/mongo/AdapterMongoDb.java     |  229 ++++
 .../epam/datalab/mongo/DatalabResourceTypeDAO.java |  115 ++
 .../com/epam/datalab/mongo/MongoConstants.java     |   32 +
 .../com/epam/datalab/mongo/MongoDbConnection.java  |  223 ++++
 .../java/com/epam/dlab/BillingAwsApplication.java  |   37 -
 .../main/java/com/epam/dlab/BillingService.java    |   29 -
 .../java/com/epam/dlab/BillingServiceImpl.java     |  127 --
 .../src/main/java/com/epam/dlab/BillingTool.java   |  164 ---
 .../src/main/java/com/epam/dlab/Help.java          |  136 --
 .../java/com/epam/dlab/conf/SecurityConfig.java    |   66 -
 .../configuration/BillingToolConfiguration.java    |  282 ----
 .../BillingToolConfigurationFactory.java           |  101 --
 .../dlab/configuration/ConfigJsonGenerator.java    |   88 --
 .../dlab/configuration/ConfigurationValidator.java |   63 -
 .../epam/dlab/configuration/FreeMarkerConfig.java  |   81 --
 .../configuration/LoggingConfigurationFactory.java |  145 ---
 .../epam/dlab/controller/BillingController.java    |   44 -
 .../main/java/com/epam/dlab/core/AdapterBase.java  |  173 ---
 .../main/java/com/epam/dlab/core/BillingUtils.java |  129 --
 .../java/com/epam/dlab/core/DBAdapterBase.java     |  127 --
 .../main/java/com/epam/dlab/core/FilterBase.java   |   95 --
 .../main/java/com/epam/dlab/core/ModuleBase.java   |   73 --
 .../main/java/com/epam/dlab/core/ModuleData.java   |  182 ---
 .../main/java/com/epam/dlab/core/ModuleType.java   |   45 -
 .../dlab/core/aggregate/AggregateGranularity.java  |   42 -
 .../epam/dlab/core/aggregate/DataAggregator.java   |  172 ---
 .../epam/dlab/core/aggregate/UsageDataList.java    |   75 --
 .../java/com/epam/dlab/core/parser/ColumnInfo.java |   50 -
 .../java/com/epam/dlab/core/parser/ColumnMeta.java |  318 -----
 .../com/epam/dlab/core/parser/CommonFormat.java    |  304 -----
 .../epam/dlab/core/parser/ConditionEvaluate.java   |  152 ---
 .../java/com/epam/dlab/core/parser/ParserBase.java |  311 -----
 .../com/epam/dlab/core/parser/ParserByLine.java    |  249 ----
 .../epam/dlab/core/parser/ParserStatistics.java    |  153 ---
 .../java/com/epam/dlab/logging/AppenderBase.java   |   93 --
 .../com/epam/dlab/logging/AppenderConsole.java     |   44 -
 .../java/com/epam/dlab/logging/AppenderFile.java   |  181 ---
 .../java/com/epam/dlab/module/AdapterConsole.java  |   92 --
 .../java/com/epam/dlab/module/AdapterFile.java     |  164 ---
 .../main/java/com/epam/dlab/module/ModuleName.java |   32 -
 .../main/java/com/epam/dlab/module/ParserCsv.java  |  272 ----
 .../com/epam/dlab/module/aws/AdapterS3File.java    |  388 ------
 .../java/com/epam/dlab/module/aws/FilterAWS.java   |  150 ---
 .../java/com/epam/dlab/module/aws/S3FileList.java  |  168 ---
 .../java/com/epam/dlab/mongo/AdapterMongoDb.java   |  248 ----
 .../com/epam/dlab/mongo/DlabResourceTypeDAO.java   |  189 ---
 .../java/com/epam/dlab/mongo/MongoConstants.java   |   59 -
 .../com/epam/dlab/mongo/MongoDbConnection.java     |  223 ----
 .../billing-aws/src/main/resources/application.yml |    6 +-
 ...b.configuration.BillingToolConfigurationFactory |    8 +
 .../src/main/resources/com.epam.dlab.Help.conf.txt |    2 +-
 ...b.configuration.BillingToolConfigurationFactory |    8 -
 .../BillingToolConfigurationTest.java              |   97 ++
 .../configuration/ConfigJsonGeneratorTest.java     |   59 +
 .../configuration/ConfigurationValidatorTest.java  |   54 +
 .../LoggingConfigurationFactoryTest.java           |   89 ++
 .../com/epam/datalab/core/BillingUtilsTest.java    |  107 ++
 .../datalab/core/aggregate/DataAggregatorTest.java |   47 +
 .../datalab/core/aggregate/UsageDataListTest.java  |  116 ++
 .../core/parser/BillingResourceTypeTest.java       |   36 +
 .../epam/datalab/core/parser/ColumnInfoTest.java   |   37 +
 .../epam/datalab/core/parser/ColumnMetaTest.java   |   86 ++
 .../epam/datalab/core/parser/CommonFormatTest.java |  107 ++
 .../datalab/core/parser/ConditionEvaluateTest.java |  118 ++
 .../epam/datalab/core/parser/ReportLineTest.java   |   94 ++
 .../epam/datalab/logging/AppenderConsoleTest.java  |   33 +
 .../com/epam/datalab/logging/AppenderFileTest.java |   42 +
 .../epam/datalab/module/AdapterConsoleTest.java    |   33 +
 .../com/epam/datalab/module/AdapterFileTest.java   |   41 +
 .../epam/datalab/module/AdapterMongoDBTest.java    |   55 +
 .../com/epam/datalab/module/ParserCsvTest.java     |   81 ++
 .../epam/datalab/module/aws/AdapterS3FileTest.java |   50 +
 .../com/epam/datalab/module/aws/FilterAWSTest.java |   50 +
 .../epam/datalab/module/aws/S3FileListTest.java    |  125 ++
 .../BillingToolConfigurationTest.java              |   98 --
 .../configuration/ConfigJsonGeneratorTest.java     |   60 -
 .../configuration/ConfigurationValidatorTest.java  |   55 -
 .../LoggingConfigurationFactoryTest.java           |   91 --
 .../java/com/epam/dlab/core/BillingUtilsTest.java  |  108 --
 .../dlab/core/aggregate/DataAggregatorTest.java    |   47 -
 .../dlab/core/aggregate/UsageDataListTest.java     |  116 --
 .../dlab/core/parser/BillingResourceTypeTest.java  |   36 -
 .../com/epam/dlab/core/parser/ColumnInfoTest.java  |   37 -
 .../com/epam/dlab/core/parser/ColumnMetaTest.java  |   86 --
 .../epam/dlab/core/parser/CommonFormatTest.java    |  107 --
 .../dlab/core/parser/ConditionEvaluateTest.java    |  119 --
 .../com/epam/dlab/core/parser/ReportLineTest.java  |   94 --
 .../com/epam/dlab/logging/AppenderConsoleTest.java |   33 -
 .../com/epam/dlab/logging/AppenderFileTest.java    |   42 -
 .../com/epam/dlab/module/AdapterConsoleTest.java   |   33 -
 .../java/com/epam/dlab/module/AdapterFileTest.java |   42 -
 .../com/epam/dlab/module/AdapterMongoDBTest.java   |   56 -
 .../java/com/epam/dlab/module/ParserCsvTest.java   |   82 --
 .../epam/dlab/module/aws/AdapterS3FileTest.java    |   51 -
 .../com/epam/dlab/module/aws/FilterAWSTest.java    |   50 -
 .../com/epam/dlab/module/aws/S3FileListTest.java   |  126 --
 services/billing-azure/billing.yml                 |   10 +-
 services/billing-azure/pom.xml                     |    8 +-
 .../azure/AzureInvoiceCalculationService.java      |  242 ++++
 .../billing/azure/BillingAzureApplication.java     |   36 +
 .../billing/azure/CalculateBillingService.java     |   29 +
 .../billing/azure/CalculateBillingServiceImpl.java |  247 ++++
 .../billing/azure/MongoDbBillingClient.java        |   50 +
 .../epam/datalab/billing/azure/MongoDocument.java  |   70 +
 .../config/AggregationOutputMongoDataSource.java   |   31 +
 .../azure/config/BillingConfigurationAzure.java    |   52 +
 .../azure/config/LoggingConfigurationFactory.java  |  166 +++
 .../billing/azure/config/SecurityConfig.java       |   66 +
 .../azure/controller/BillingController.java        |   44 +
 .../billing/azure/logging/AppenderBase.java        |  103 ++
 .../billing/azure/logging/AppenderConsole.java     |   44 +
 .../billing/azure/logging/AppenderFile.java        |  200 +++
 .../azure/model/AzureDailyResourceInvoice.java     |   48 +
 .../azure/model/AzureDatalabBillableResource.java  |   39 +
 .../datalab/billing/azure/model/BillingPeriod.java |   35 +
 .../billing/azure/rate/AzureRateCardClient.java    |  109 ++
 .../com/epam/datalab/billing/azure/rate/Meter.java |   52 +
 .../billing/azure/rate/RateCardResponse.java       |   41 +
 .../azure/usage/AzureUsageAggregateClient.java     |  103 ++
 .../datalab/billing/azure/usage/InstanceData.java  |   29 +
 .../billing/azure/usage/MicrosoftResources.java    |   37 +
 .../billing/azure/usage/UsageAggregateRecord.java  |   35 +
 .../usage/UsageAggregateRecordProperties.java      |   54 +
 .../azure/usage/UsageAggregateResponse.java        |   33 +
 .../azure/AzureInvoiceCalculationService.java      |  242 ----
 .../billing/azure/BillingAzureApplication.java     |   36 -
 .../billing/azure/CalculateBillingService.java     |   29 -
 .../billing/azure/CalculateBillingServiceImpl.java |  247 ----
 .../dlab/billing/azure/MongoDbBillingClient.java   |   50 -
 .../com/epam/dlab/billing/azure/MongoDocument.java |   70 -
 .../config/AggregationOutputMongoDataSource.java   |   31 -
 .../azure/config/BillingConfigurationAzure.java    |   52 -
 .../azure/config/LoggingConfigurationFactory.java  |  166 ---
 .../dlab/billing/azure/config/SecurityConfig.java  |   66 -
 .../azure/controller/BillingController.java        |   44 -
 .../dlab/billing/azure/logging/AppenderBase.java   |   92 --
 .../billing/azure/logging/AppenderConsole.java     |   43 -
 .../dlab/billing/azure/logging/AppenderFile.java   |  173 ---
 .../azure/model/AzureDailyResourceInvoice.java     |   48 -
 .../azure/model/AzureDlabBillableResource.java     |   39 -
 .../dlab/billing/azure/model/BillingPeriod.java    |   35 -
 .../billing/azure/rate/AzureRateCardClient.java    |  105 --
 .../com/epam/dlab/billing/azure/rate/Meter.java    |   52 -
 .../dlab/billing/azure/rate/RateCardResponse.java  |   41 -
 .../azure/usage/AzureUsageAggregateClient.java     |  103 --
 .../dlab/billing/azure/usage/InstanceData.java     |   29 -
 .../billing/azure/usage/MicrosoftResources.java    |   37 -
 .../billing/azure/usage/UsageAggregateRecord.java  |   35 -
 .../usage/UsageAggregateRecordProperties.java      |   54 -
 .../azure/usage/UsageAggregateResponse.java        |   33 -
 .../src/main/resources/application.yml             |   18 +-
 services/billing-gcp/billing.yml                   |    8 +-
 services/billing-gcp/pom.xml                       |    8 +-
 .../datalab/billing/gcp/BillingGcpApplication.java |   36 +
 .../gcp/conf/BillingApplicationConfiguration.java  |   34 +
 .../billing/gcp/conf/DatalabConfiguration.java     |   35 +
 .../datalab/billing/gcp/conf/SecurityConfig.java   |   66 +
 .../billing/gcp/controller/BillingController.java  |   44 +
 .../epam/datalab/billing/gcp/dao/BillingDAO.java   |   29 +
 .../billing/gcp/dao/impl/BigQueryBillingDAO.java   |  131 ++
 .../datalab/billing/gcp/model/BillingHistory.java  |   32 +
 .../gcp/repository/BillingHistoryRepository.java   |   26 +
 .../billing/gcp/service/BillingService.java        |   29 +
 .../gcp/service/impl/BillingServiceImpl.java       |   52 +
 .../dlab/billing/gcp/BillingGcpApplication.java    |   36 -
 .../gcp/conf/BillingApplicationConfiguration.java  |   34 -
 .../dlab/billing/gcp/conf/DlabConfiguration.java   |   35 -
 .../epam/dlab/billing/gcp/conf/SecurityConfig.java |   66 -
 .../billing/gcp/controller/BillingController.java  |   44 -
 .../com/epam/dlab/billing/gcp/dao/BillingDAO.java  |   29 -
 .../billing/gcp/dao/impl/BigQueryBillingDAO.java   |  131 --
 .../dlab/billing/gcp/model/BillingHistory.java     |   32 -
 .../dlab/billing/gcp/model/GcpBillingData.java     |   44 -
 .../gcp/repository/BillingHistoryRepository.java   |   26 -
 .../billing/gcp/repository/BillingRepository.java  |   27 -
 .../dlab/billing/gcp/service/BillingService.java   |   29 -
 .../gcp/service/impl/BillingServiceImpl.java       |   52 -
 .../billing-gcp/src/main/resources/application.yml |   16 +-
 services/common/pom.xml                            |    4 +-
 .../datalab/billing/BillingCalculationUtils.java   |   42 +
 .../epam/datalab/billing/DatalabResourceType.java  |   54 +
 .../epam/datalab/exceptions/AdapterException.java  |   56 +
 .../exceptions/DatalabAuthenticationException.java |   26 +
 .../epam/datalab/exceptions/DatalabException.java  |   34 +
 .../exceptions/DatalabValidationException.java     |   26 +
 .../epam/datalab/exceptions/GenericException.java  |   56 +
 .../exceptions/InitializationException.java        |   56 +
 .../epam/datalab/exceptions/ParseException.java    |   57 +
 .../exceptions/ResourceAlreadyExistException.java  |   26 +
 .../exceptions/ResourceConflictException.java      |   26 +
 .../ResourceInappropriateStateException.java       |   26 +
 .../exceptions/ResourceNotFoundException.java      |   26 +
 .../exceptions/ResourceQuoteReachedException.java  |   29 +
 .../epam/dlab/billing/BillingCalculationUtils.java |   42 -
 .../com/epam/dlab/billing/DlabResourceType.java    |   54 -
 .../com/epam/dlab/exceptions/AdapterException.java |   49 -
 .../exceptions/DlabAuthenticationException.java    |   26 -
 .../com/epam/dlab/exceptions/DlabException.java    |   34 -
 .../dlab/exceptions/DlabValidationException.java   |   26 -
 .../com/epam/dlab/exceptions/GenericException.java |   49 -
 .../dlab/exceptions/InitializationException.java   |   49 -
 .../com/epam/dlab/exceptions/ParseException.java   |   50 -
 .../exceptions/ResourceAlreadyExistException.java  |   26 -
 .../dlab/exceptions/ResourceConflictException.java |   26 -
 .../ResourceInappropriateStateException.java       |   26 -
 .../dlab/exceptions/ResourceNotFoundException.java |   26 -
 .../exceptions/ResourceQuoteReachedException.java  |   29 -
 services/datalab-model/pom.xml                     |   79 ++
 .../main/java/com/epam/datalab/MongoKeyWords.java  |   34 +
 .../datalab/dto/InfrastructureMetaInfoDTO.java     |   34 +
 .../epam/datalab/dto/LibListComputationalDTO.java  |   55 +
 .../epam/datalab/dto/LibListExploratoryDTO.java    |   40 +
 .../java/com/epam/datalab/dto/LibraryGroups.java   |   40 +
 .../java/com/epam/datalab/dto/ResourceBaseDTO.java |   74 ++
 .../com/epam/datalab/dto/ResourceEnvBaseDTO.java   |   71 +
 .../com/epam/datalab/dto/ResourceSysBaseDTO.java   |   87 ++
 .../java/com/epam/datalab/dto/ResourceURL.java     |   38 +
 .../java/com/epam/datalab/dto/SchedulerJobDTO.java |   86 ++
 .../java/com/epam/datalab/dto/StatusBaseDTO.java   |  127 ++
 .../com/epam/datalab/dto/StatusEnvBaseDTO.java     |  117 ++
 .../epam/datalab/dto/UserEnvironmentResources.java |   62 +
 .../java/com/epam/datalab/dto/UserInstanceDTO.java |  192 +++
 .../com/epam/datalab/dto/UserInstanceStatus.java   |   67 +
 .../com/epam/datalab/dto/aws/AwsCloudSettings.java |  102 ++
 .../computational/AwsComputationalResource.java    |   78 ++
 .../AwsComputationalTerminateDTO.java              |   33 +
 .../dto/aws/computational/ClusterConfig.java       |   41 +
 .../aws/computational/ComputationalConfigAws.java  |   53 +
 .../aws/computational/ComputationalCreateAws.java  |  165 +++
 .../computational/SparkComputationalConfigAws.java |   48 +
 .../computational/SparkComputationalCreateAws.java |   78 ++
 .../epam/datalab/dto/aws/edge/EdgeCreateAws.java   |   53 +
 .../com/epam/datalab/dto/aws/edge/EdgeInfoAws.java |   42 +
 .../dto/aws/exploratory/ExploratoryCreateAws.java  |   48 +
 .../datalab/dto/aws/keyload/UploadFileAws.java     |   35 +
 .../epam/datalab/dto/azure/AzureCloudSettings.java |   96 ++
 .../azure/auth/AuthorizationCodeFlowResponse.java  |   63 +
 .../SparkComputationalConfigAzure.java             |   46 +
 .../SparkComputationalCreateAzure.java             |   94 ++
 .../datalab/dto/azure/edge/EdgeCreateAzure.java    |   54 +
 .../epam/datalab/dto/azure/edge/EdgeInfoAzure.java |   52 +
 .../exploratory/ExploratoryActionStartAzure.java   |   64 +
 .../exploratory/ExploratoryActionStopAzure.java    |   44 +
 .../azure/exploratory/ExploratoryCreateAzure.java  |   85 ++
 .../datalab/dto/azure/keyload/UploadFileAzure.java |   35 +
 .../com/epam/datalab/dto/backup/EnvBackupDTO.java  |   40 +
 .../epam/datalab/dto/backup/EnvBackupStatus.java   |   49 +
 .../datalab/dto/backup/EnvBackupStatusDTO.java     |   56 +
 .../com/epam/datalab/dto/base/CloudSettings.java   |   32 +
 .../com/epam/datalab/dto/base/DataEngineType.java  |   66 +
 .../dto/base/computational/ComputationalBase.java  |  119 ++
 .../computational/FullComputationalTemplate.java   |   33 +
 .../com/epam/datalab/dto/base/edge/EdgeInfo.java   |   71 +
 .../datalab/dto/base/keyload/ReuploadFile.java     |   33 +
 .../epam/datalab/dto/base/keyload/UploadFile.java  |   33 +
 .../datalab/dto/base/keyload/UploadFileResult.java |   46 +
 .../datalab/dto/base/project/ProjectResult.java    |   37 +
 .../com/epam/datalab/dto/billing/BillingData.java  |   44 +
 .../datalab/dto/billing/BillingResourceType.java   |   31 +
 .../com/epam/datalab/dto/bucket/BucketDTO.java     |   34 +
 .../epam/datalab/dto/bucket/BucketDeleteDTO.java   |   32 +
 .../epam/datalab/dto/bucket/FolderUploadDTO.java   |   33 +
 .../computational/CheckInactivityCallbackDTO.java  |   57 +
 .../dto/computational/CheckInactivityStatus.java   |   49 +
 .../computational/CheckInactivityStatusDTO.java    |   30 +
 .../ComputationalCheckInactivityDTO.java           |   57 +
 .../ComputationalClusterConfigDTO.java             |   40 +
 .../dto/computational/ComputationalStartDTO.java   |   25 +
 .../dto/computational/ComputationalStatusDTO.java  |  118 ++
 .../dto/computational/ComputationalStopDTO.java    |   25 +
 .../computational/ComputationalTerminateDTO.java   |   25 +
 .../SparkStandaloneClusterResource.java            |   62 +
 .../computational/UserComputationalResource.java   |   99 ++
 .../dto/exploratory/ExploratoryActionDTO.java      |   71 +
 .../dto/exploratory/ExploratoryBaseDTO.java        |   85 ++
 .../ExploratoryCheckInactivityAction.java          |   23 +
 .../dto/exploratory/ExploratoryCreateDTO.java      |  134 ++
 .../dto/exploratory/ExploratoryGitCreds.java       |  193 +++
 .../dto/exploratory/ExploratoryGitCredsDTO.java    |   63 +
 .../exploratory/ExploratoryGitCredsUpdateDTO.java  |   62 +
 .../dto/exploratory/ExploratoryImageDTO.java       |   72 ++
 ...xploratoryReconfigureSparkClusterActionDTO.java |   43 +
 .../dto/exploratory/ExploratoryStatusDTO.java      |  128 ++
 .../dto/exploratory/ImageCreateStatusDTO.java      |   74 ++
 .../epam/datalab/dto/exploratory/ImageStatus.java  |   39 +
 .../datalab/dto/exploratory/LibInstallDTO.java     |   85 ++
 .../dto/exploratory/LibInstallStatusDTO.java       |   57 +
 .../datalab/dto/exploratory/LibListStatusDTO.java  |   63 +
 .../epam/datalab/dto/exploratory/LibStatus.java    |   49 +
 .../datalab/dto/exploratory/LibraryInstallDTO.java |   67 +
 .../com/epam/datalab/dto/gcp/GcpCloudSettings.java |   96 ++
 .../auth/GcpOauth2AuthorizationCodeResponse.java   |   29 +
 .../gcp/computational/ComputationalCreateGcp.java  |  100 ++
 .../computational/GcpComputationalResource.java    |   77 ++
 .../GcpComputationalTerminateDTO.java              |   33 +
 .../computational/SparkComputationalCreateGcp.java |   81 ++
 .../epam/datalab/dto/gcp/edge/EdgeCreateGcp.java   |   25 +
 .../com/epam/datalab/dto/gcp/edge/EdgeInfoGcp.java |   40 +
 .../dto/gcp/exploratory/ExploratoryCreateGcp.java  |   48 +
 .../datalab/dto/gcp/keyload/UploadFileGcp.java     |   42 +
 .../datalab/dto/imagemetadata/ApplicationDto.java  |   85 ++
 .../imagemetadata/ComputationalMetadataDTO.java    |   53 +
 .../ComputationalResourceShapeDto.java             |  114 ++
 .../ExploratoryEnvironmentVersion.java             |   94 ++
 .../dto/imagemetadata/ExploratoryMetadataDTO.java  |   48 +
 .../dto/imagemetadata/ImageMetadataDTO.java        |   51 +
 .../epam/datalab/dto/imagemetadata/ImageType.java  |   46 +
 .../datalab/dto/imagemetadata/TemplateDTO.java     |   84 ++
 .../epam/datalab/dto/keyload/KeyLoadStatus.java    |   60 +
 .../com/epam/datalab/dto/keyload/UserKeyDTO.java   |   58 +
 .../epam/datalab/dto/project/ProjectActionDTO.java |   34 +
 .../epam/datalab/dto/project/ProjectCreateDTO.java |   37 +
 .../dto/reuploadkey/ReuploadKeyCallbackDTO.java    |   64 +
 .../datalab/dto/reuploadkey/ReuploadKeyDTO.java    |   56 +
 .../datalab/dto/reuploadkey/ReuploadKeyStatus.java |   49 +
 .../dto/reuploadkey/ReuploadKeyStatusDTO.java      |   48 +
 .../com/epam/datalab/dto/status/EnvResource.java   |  161 +++
 .../epam/datalab/dto/status/EnvResourceList.java   |   91 ++
 .../com/epam/datalab/dto/status/EnvStatusDTO.java  |   65 +
 .../java/com/epam/datalab/model/ResourceData.java  |   60 +
 .../java/com/epam/datalab/model/ResourceEnum.java  |   38 +
 .../java/com/epam/datalab/model/ResourceType.java  |   37 +
 .../java/com/epam/datalab/model/StringList.java    |   47 +
 .../datalab/model/aws/BillingResourceType.java     |   80 ++
 .../com/epam/datalab/model/aws/ReportLine.java     |  233 ++++
 .../epam/datalab/model/azure/AzureAuthFile.java    |   39 +
 .../datalab/model/exploratory/Exploratory.java     |   41 +
 .../com/epam/datalab/model/exploratory/Image.java  |   46 +
 .../com/epam/datalab/model/library/Library.java    |   55 +
 .../datalab/model/scheduler/SchedulerJobData.java  |   44 +
 .../epam/datalab/model/systeminfo/DiskInfo.java    |   36 +
 .../epam/datalab/model/systeminfo/MemoryInfo.java  |   39 +
 .../com/epam/datalab/model/systeminfo/OsInfo.java  |   38 +
 .../datalab/model/systeminfo/ProcessorInfo.java    |   46 +
 .../datalab/util/CloudSettingsDeserializer.java    |   88 ++
 .../java/com/epam/datalab/util/JsonGenerator.java  |   54 +
 .../datalab/dto/status/EnvResourceDTOTest.java     |   80 ++
 .../epam/datalab/dto/status/EnvStatusDTOTest.java  |   89 ++
 .../com/epam/datalab/util/JsonGeneratorTest.java   |   37 +
 services/datalab-mongo-migration/pom.xml           |   39 +
 .../com/epam/datalab/migration/DbMigration.java    |   26 +
 .../exception/DatalabDbMigrationException.java     |   27 +
 .../migration/mongo/DatalabMongoMigration.java     |   48 +
 .../mongo/changelog/DatalabChangeLog.java          |   66 +
 services/datalab-utils/pom.xml                     |   52 +
 .../main/java/com/epam/datalab/util/FileUtils.java |   61 +
 .../java/com/epam/datalab/util/SecurityUtils.java  |   38 +
 .../java/com/epam/datalab/util/ServiceUtils.java   |  151 +++
 .../java/com/epam/datalab/util/UsernameUtils.java  |   36 +
 .../datalab/util/mongo/IsoDateDeSerializer.java    |   61 +
 .../epam/datalab/util/mongo/IsoDateSerializer.java |   48 +
 .../util/mongo/IsoLocalDateDeSerializer.java       |   47 +
 .../datalab/util/mongo/IsoLocalDateSerializer.java |   38 +
 .../util/mongo/IsoLocalDateTimeDeSerializer.java   |   48 +
 .../util/mongo/IsoLocalDateTimeSerializer.java     |   38 +
 .../epam/datalab/util/mongo/LongDeSerializer.java  |   44 +
 .../util/mongo/MongoStringDeserializer.java        |   32 +
 .../datalab/util/mongo/MongoStringSerializaer.java |   38 +
 .../datalab/util/mongo/modules/IsoDateModule.java  |   64 +
 .../util/mongo/modules/JavaPrimitiveModule.java    |   30 +
 .../datalab/util/mongo/modules/MongoModule.java    |   31 +
 .../com/epam/datalab/util/SecurityUtilsTest.java   |   35 +
 .../mongo/IsoLocalDateTimeDeSerializerTest.java    |   89 ++
 .../util/mongo/IsoLocalDateTimeSerDeTest.java      |   70 +
 .../util/mongo/IsoLocalDateTimeSerializerTest.java |   57 +
 services/datalab-webapp-common/pom.xml             |   69 +
 .../src/main/java/com/epam/datalab/ModuleBase.java |   48 +
 .../com/epam/datalab/ServiceConfiguration.java     |  114 ++
 .../datalab/auth/SecurityUnauthorizedHandler.java  |   32 +
 .../main/java/com/epam/datalab/auth/UserInfo.java  |  222 ++++
 .../epam/datalab/auth/contract/SecurityAPI.java    |   30 +
 .../epam/datalab/auth/dto/UserCredentialDTO.java   |   74 ++
 .../auth/oauth2/Oauth2AuthenticationService.java   |   38 +
 .../auth/rest/AbstractAuthenticationService.java   |   47 +
 .../datalab/auth/rest/ConfigurableResource.java    |   36 +
 .../auth/rest/UserSessionDurationAuthorizer.java   |   90 ++
 .../auth/rest/UserSessionDurationCallback.java     |   27 +
 .../java/com/epam/datalab/cloud/CloudModule.java   |   34 +
 .../java/com/epam/datalab/cloud/CloudProvider.java |   28 +
 .../com/epam/datalab/constants/ServiceConsts.java  |   34 +
 .../java/com/epam/datalab/mongo/MongoService.java  |   80 ++
 .../epam/datalab/mongo/MongoServiceFactory.java    |   93 ++
 .../com/epam/datalab/rest/client/RESTService.java  |  165 +++
 .../datalab/rest/client/RESTServiceFactory.java    |   61 +
 .../epam/datalab/rest/contracts/ApiCallbacks.java  |   45 +
 .../com/epam/datalab/rest/contracts/BackupAPI.java |   27 +
 .../datalab/rest/contracts/ComputationalAPI.java   |   41 +
 .../com/epam/datalab/rest/contracts/DockerAPI.java |   27 +
 .../datalab/rest/contracts/ExploratoryAPI.java     |   34 +
 .../datalab/rest/contracts/InfrasctructureAPI.java |   29 +
 .../com/epam/datalab/rest/contracts/KeyAPI.java    |   29 +
 .../java/com/epam/datalab/rest/dto/ErrorDTO.java   |   35 +
 .../mappers/AuthenticationExceptionMapper.java     |   38 +
 .../mappers/DatalabValidationExceptionMapper.java  |   38 +
 .../rest/mappers/GenericExceptionMapper.java       |   43 +
 .../mappers/JsonProcessingExceptionMapper.java     |   28 +
 .../mappers/ResourceConflictExceptionMapper.java   |   40 +
 .../mappers/ResourceNotFoundExceptionMapper.java   |   40 +
 .../ResourceQuoteReachedExceptionMapper.java       |   37 +
 .../rest/mappers/RuntimeExceptionMapper.java       |   63 +
 .../rest/mappers/ValidationExceptionMapper.java    |   45 +
 .../com/epam/datalab/validation/AwsValidation.java |   23 +
 .../epam/datalab/validation/AzureValidation.java   |   23 +
 .../CloudConfigurationSequenceProvider.java        |   66 +
 .../com/epam/datalab/validation/GcpValidation.java |   23 +
 services/dlab-model/pom.xml                        |   80 --
 .../src/main/java/com/epam/dlab/MongoKeyWords.java |   34 -
 .../epam/dlab/dto/InfrastructureMetaInfoDTO.java   |   34 -
 .../com/epam/dlab/dto/LibListComputationalDTO.java |   55 -
 .../com/epam/dlab/dto/LibListExploratoryDTO.java   |   40 -
 .../main/java/com/epam/dlab/dto/LibraryGroups.java |   40 -
 .../java/com/epam/dlab/dto/ResourceBaseDTO.java    |   74 --
 .../java/com/epam/dlab/dto/ResourceEnvBaseDTO.java |   71 -
 .../java/com/epam/dlab/dto/ResourceSysBaseDTO.java |   87 --
 .../main/java/com/epam/dlab/dto/ResourceURL.java   |   38 -
 .../java/com/epam/dlab/dto/SchedulerJobDTO.java    |   82 --
 .../main/java/com/epam/dlab/dto/StatusBaseDTO.java |  127 --
 .../java/com/epam/dlab/dto/StatusEnvBaseDTO.java   |  117 --
 .../epam/dlab/dto/UserEnvironmentResources.java    |   62 -
 .../java/com/epam/dlab/dto/UserInstanceDTO.java    |  192 ---
 .../java/com/epam/dlab/dto/UserInstanceStatus.java |   67 -
 .../com/epam/dlab/dto/aws/AwsCloudSettings.java    |   97 --
 .../computational/AwsComputationalResource.java    |   78 --
 .../AwsComputationalTerminateDTO.java              |   33 -
 .../dlab/dto/aws/computational/ClusterConfig.java  |   41 -
 .../aws/computational/ComputationalConfigAws.java  |   53 -
 .../aws/computational/ComputationalCreateAws.java  |  165 ---
 .../computational/SparkComputationalConfigAws.java |   48 -
 .../computational/SparkComputationalCreateAws.java |   78 --
 .../com/epam/dlab/dto/aws/edge/EdgeCreateAws.java  |   53 -
 .../com/epam/dlab/dto/aws/edge/EdgeInfoAws.java    |   42 -
 .../dto/aws/exploratory/ExploratoryCreateAws.java  |   48 -
 .../epam/dlab/dto/aws/keyload/UploadFileAws.java   |   35 -
 .../epam/dlab/dto/azure/AzureCloudSettings.java    |   91 --
 .../azure/auth/AuthorizationCodeFlowResponse.java  |   63 -
 .../SparkComputationalConfigAzure.java             |   46 -
 .../SparkComputationalCreateAzure.java             |   94 --
 .../epam/dlab/dto/azure/edge/EdgeCreateAzure.java  |   54 -
 .../epam/dlab/dto/azure/edge/EdgeInfoAzure.java    |   52 -
 .../exploratory/ExploratoryActionStartAzure.java   |   64 -
 .../exploratory/ExploratoryActionStopAzure.java    |   44 -
 .../azure/exploratory/ExploratoryCreateAzure.java  |   85 --
 .../dlab/dto/azure/keyload/UploadFileAzure.java    |   35 -
 .../com/epam/dlab/dto/backup/EnvBackupDTO.java     |   40 -
 .../com/epam/dlab/dto/backup/EnvBackupStatus.java  |   49 -
 .../epam/dlab/dto/backup/EnvBackupStatusDTO.java   |   56 -
 .../java/com/epam/dlab/dto/base/CloudSettings.java |   32 -
 .../com/epam/dlab/dto/base/DataEngineType.java     |   66 -
 .../dto/base/computational/ComputationalBase.java  |  119 --
 .../computational/FullComputationalTemplate.java   |   33 -
 .../java/com/epam/dlab/dto/base/edge/EdgeInfo.java |   71 -
 .../epam/dlab/dto/base/keyload/ReuploadFile.java   |   33 -
 .../com/epam/dlab/dto/base/keyload/UploadFile.java |   33 -
 .../dlab/dto/base/keyload/UploadFileResult.java    |   46 -
 .../epam/dlab/dto/base/project/ProjectResult.java  |   37 -
 .../com/epam/dlab/dto/billing/BillingData.java     |   44 -
 .../epam/dlab/dto/billing/BillingResourceType.java |   31 -
 .../java/com/epam/dlab/dto/bucket/BucketDTO.java   |   34 -
 .../com/epam/dlab/dto/bucket/BucketDeleteDTO.java  |   32 -
 .../com/epam/dlab/dto/bucket/FolderUploadDTO.java  |   33 -
 .../computational/CheckInactivityCallbackDTO.java  |   57 -
 .../dto/computational/CheckInactivityStatus.java   |   49 -
 .../computational/CheckInactivityStatusDTO.java    |   30 -
 .../ComputationalCheckInactivityDTO.java           |   57 -
 .../ComputationalClusterConfigDTO.java             |   40 -
 .../dto/computational/ComputationalStartDTO.java   |   25 -
 .../dto/computational/ComputationalStatusDTO.java  |  118 --
 .../dto/computational/ComputationalStopDTO.java    |   25 -
 .../computational/ComputationalTerminateDTO.java   |   25 -
 .../SparkStandaloneClusterResource.java            |   62 -
 .../computational/UserComputationalResource.java   |   99 --
 .../dlab/dto/exploratory/ExploratoryActionDTO.java |   71 -
 .../dlab/dto/exploratory/ExploratoryBaseDTO.java   |   84 --
 .../ExploratoryCheckInactivityAction.java          |   23 -
 .../dlab/dto/exploratory/ExploratoryCreateDTO.java |  134 --
 .../dlab/dto/exploratory/ExploratoryGitCreds.java  |  193 ---
 .../dto/exploratory/ExploratoryGitCredsDTO.java    |   60 -
 .../exploratory/ExploratoryGitCredsUpdateDTO.java  |   58 -
 .../dlab/dto/exploratory/ExploratoryImageDTO.java  |   72 --
 ...xploratoryReconfigureSparkClusterActionDTO.java |   43 -
 .../dlab/dto/exploratory/ExploratoryStatusDTO.java |  128 --
 .../dlab/dto/exploratory/ImageCreateStatusDTO.java |   74 --
 .../com/epam/dlab/dto/exploratory/ImageStatus.java |   39 -
 .../epam/dlab/dto/exploratory/LibInstallDTO.java   |   85 --
 .../dlab/dto/exploratory/LibInstallStatusDTO.java  |   57 -
 .../dlab/dto/exploratory/LibListStatusDTO.java     |   63 -
 .../com/epam/dlab/dto/exploratory/LibStatus.java   |   49 -
 .../dlab/dto/exploratory/LibraryInstallDTO.java    |   67 -
 .../com/epam/dlab/dto/gcp/GcpCloudSettings.java    |   91 --
 .../auth/GcpOauth2AuthorizationCodeResponse.java   |   29 -
 .../gcp/computational/ComputationalCreateGcp.java  |  100 --
 .../computational/GcpComputationalResource.java    |   77 --
 .../GcpComputationalTerminateDTO.java              |   33 -
 .../computational/SparkComputationalCreateGcp.java |   81 --
 .../com/epam/dlab/dto/gcp/edge/EdgeCreateGcp.java  |   25 -
 .../com/epam/dlab/dto/gcp/edge/EdgeInfoGcp.java    |   40 -
 .../dto/gcp/exploratory/ExploratoryCreateGcp.java  |   48 -
 .../epam/dlab/dto/gcp/keyload/UploadFileGcp.java   |   42 -
 .../dlab/dto/imagemetadata/ApplicationDto.java     |   85 --
 .../imagemetadata/ComputationalMetadataDTO.java    |   53 -
 .../ComputationalResourceShapeDto.java             |  114 --
 .../ExploratoryEnvironmentVersion.java             |   94 --
 .../dto/imagemetadata/ExploratoryMetadataDTO.java  |   48 -
 .../dlab/dto/imagemetadata/ImageMetadataDTO.java   |   51 -
 .../com/epam/dlab/dto/imagemetadata/ImageType.java |   46 -
 .../epam/dlab/dto/imagemetadata/TemplateDTO.java   |   84 --
 .../com/epam/dlab/dto/keyload/KeyLoadStatus.java   |   60 -
 .../java/com/epam/dlab/dto/keyload/UserKeyDTO.java |   58 -
 .../epam/dlab/dto/project/ProjectActionDTO.java    |   34 -
 .../epam/dlab/dto/project/ProjectCreateDTO.java    |   37 -
 .../dto/reuploadkey/ReuploadKeyCallbackDTO.java    |   64 -
 .../epam/dlab/dto/reuploadkey/ReuploadKeyDTO.java  |   56 -
 .../dlab/dto/reuploadkey/ReuploadKeyStatus.java    |   49 -
 .../dlab/dto/reuploadkey/ReuploadKeyStatusDTO.java |   48 -
 .../java/com/epam/dlab/dto/status/EnvResource.java |  161 ---
 .../com/epam/dlab/dto/status/EnvResourceList.java  |   78 --
 .../com/epam/dlab/dto/status/EnvStatusDTO.java     |   58 -
 .../java/com/epam/dlab/model/ResourceData.java     |   60 -
 .../java/com/epam/dlab/model/ResourceEnum.java     |   38 -
 .../java/com/epam/dlab/model/ResourceType.java     |   37 -
 .../main/java/com/epam/dlab/model/StringList.java  |   47 -
 .../epam/dlab/model/aws/BillingResourceType.java   |   75 --
 .../java/com/epam/dlab/model/aws/ReportLine.java   |  226 ----
 .../com/epam/dlab/model/azure/AzureAuthFile.java   |   39 -
 .../epam/dlab/model/exploratory/Exploratory.java   |   41 -
 .../com/epam/dlab/model/exploratory/Image.java     |   46 -
 .../java/com/epam/dlab/model/library/Library.java  |   55 -
 .../dlab/model/scheduler/SchedulerJobData.java     |   44 -
 .../com/epam/dlab/model/systeminfo/DiskInfo.java   |   36 -
 .../com/epam/dlab/model/systeminfo/MemoryInfo.java |   39 -
 .../com/epam/dlab/model/systeminfo/OsInfo.java     |   38 -
 .../epam/dlab/model/systeminfo/ProcessorInfo.java  |   46 -
 .../epam/dlab/util/CloudSettingsDeserializer.java  |   88 --
 .../java/com/epam/dlab/util/JsonGenerator.java     |   54 -
 .../epam/dlab/dto/status/EnvResourceDTOTest.java   |   81 --
 .../com/epam/dlab/dto/status/EnvStatusDTOTest.java |   89 --
 .../java/com/epam/dlab/util/JsonGeneratorTest.java |   37 -
 services/dlab-mongo-migration/pom.xml              |   39 -
 .../java/com/epam/dlab/migration/DbMigration.java  |   26 -
 .../exception/DlabDbMigrationException.java        |   27 -
 .../dlab/migration/mongo/DlabMongoMigration.java   |   48 -
 .../migration/mongo/changelog/DlabChangeLog.java   |   66 -
 services/dlab-utils/pom.xml                        |   52 -
 .../main/java/com/epam/dlab/util/FileUtils.java    |   61 -
 .../java/com/epam/dlab/util/SecurityUtils.java     |   38 -
 .../main/java/com/epam/dlab/util/ServiceUtils.java |  141 --
 .../java/com/epam/dlab/util/UsernameUtils.java     |   36 -
 .../epam/dlab/util/mongo/IsoDateDeSerializer.java  |   61 -
 .../epam/dlab/util/mongo/IsoDateSerializer.java    |   48 -
 .../dlab/util/mongo/IsoLocalDateDeSerializer.java  |   47 -
 .../dlab/util/mongo/IsoLocalDateSerializer.java    |   38 -
 .../util/mongo/IsoLocalDateTimeDeSerializer.java   |   48 -
 .../util/mongo/IsoLocalDateTimeSerializer.java     |   38 -
 .../com/epam/dlab/util/mongo/LongDeSerializer.java |   44 -
 .../dlab/util/mongo/MongoStringDeserializer.java   |   32 -
 .../dlab/util/mongo/MongoStringSerializaer.java    |   38 -
 .../dlab/util/mongo/modules/IsoDateModule.java     |   59 -
 .../util/mongo/modules/JavaPrimitiveModule.java    |   30 -
 .../epam/dlab/util/mongo/modules/MongoModule.java  |   31 -
 .../java/com/epam/dlab/util/SecurityUtilsTest.java |   35 -
 .../mongo/IsoLocalDateTimeDeSerializerTest.java    |   84 --
 .../dlab/util/mongo/IsoLocalDateTimeSerDeTest.java |   70 -
 .../util/mongo/IsoLocalDateTimeSerializerTest.java |   54 -
 services/dlab-webapp-common/pom.xml                |   69 -
 .../src/main/java/com/epam/dlab/ModuleBase.java    |   42 -
 .../java/com/epam/dlab/ServiceConfiguration.java   |  114 --
 .../dlab/auth/SecurityUnauthorizedHandler.java     |   32 -
 .../src/main/java/com/epam/dlab/auth/UserInfo.java |  223 ----
 .../com/epam/dlab/auth/contract/SecurityAPI.java   |   30 -
 .../com/epam/dlab/auth/dto/UserCredentialDTO.java  |   74 --
 .../auth/oauth2/Oauth2AuthenticationService.java   |   38 -
 .../auth/rest/AbstractAuthenticationService.java   |   47 -
 .../epam/dlab/auth/rest/ConfigurableResource.java  |   36 -
 .../auth/rest/UserSessionDurationAuthorizer.java   |   90 --
 .../auth/rest/UserSessionDurationCallback.java     |   27 -
 .../main/java/com/epam/dlab/cloud/CloudModule.java |   34 -
 .../java/com/epam/dlab/cloud/CloudProvider.java    |   28 -
 .../com/epam/dlab/constants/ServiceConsts.java     |   34 -
 .../java/com/epam/dlab/mongo/MongoService.java     |   80 --
 .../com/epam/dlab/mongo/MongoServiceFactory.java   |   93 --
 .../com/epam/dlab/rest/client/RESTService.java     |  165 ---
 .../epam/dlab/rest/client/RESTServiceFactory.java  |   61 -
 .../com/epam/dlab/rest/contracts/ApiCallbacks.java |   45 -
 .../com/epam/dlab/rest/contracts/BackupAPI.java    |   26 -
 .../epam/dlab/rest/contracts/ComputationalAPI.java |   41 -
 .../com/epam/dlab/rest/contracts/DockerAPI.java    |   27 -
 .../epam/dlab/rest/contracts/ExploratoryAPI.java   |   34 -
 .../dlab/rest/contracts/InfrasctructureAPI.java    |   29 -
 .../java/com/epam/dlab/rest/contracts/KeyAPI.java  |   29 -
 .../main/java/com/epam/dlab/rest/dto/ErrorDTO.java |   35 -
 .../mappers/AuthenticationExceptionMapper.java     |   38 -
 .../mappers/DlabValidationExceptionMapper.java     |   38 -
 .../dlab/rest/mappers/GenericExceptionMapper.java  |   43 -
 .../mappers/JsonProcessingExceptionMapper.java     |   28 -
 .../mappers/ResourceConflictExceptionMapper.java   |   40 -
 .../mappers/ResourceNotFoundExceptionMapper.java   |   40 -
 .../ResourceQuoteReachedExceptionMapper.java       |   37 -
 .../dlab/rest/mappers/RuntimeExceptionMapper.java  |   63 -
 .../rest/mappers/ValidationExceptionMapper.java    |   45 -
 .../com/epam/dlab/validation/AwsValidation.java    |   23 -
 .../com/epam/dlab/validation/AzureValidation.java  |   23 -
 .../CloudConfigurationSequenceProvider.java        |   66 -
 .../com/epam/dlab/validation/GcpValidation.java    |   23 -
 services/provisioning-service/pom.xml              |   32 +-
 services/provisioning-service/provisioning.yml     |   14 +-
 .../DropwizardBearerTokenFilterImpl.java           |   39 +
 .../backendapi/ProvisioningServiceApplication.java |  161 +++
 ...rovisioningServiceApplicationConfiguration.java |  197 +++
 .../backendapi/conf/CloudConfiguration.java        |   83 ++
 .../epam/datalab/backendapi/core/Constants.java    |   29 +
 .../epam/datalab/backendapi/core/Directories.java  |   31 +
 .../backendapi/core/DirectoriesCreator.java        |   49 +
 .../datalab/backendapi/core/DockerWarmuper.java    |  172 +++
 .../backendapi/core/FileHandlerCallback.java       |   41 +
 .../datalab/backendapi/core/MetadataHolder.java    |   31 +
 .../backendapi/core/commands/CmdCommand.java       |   25 +
 .../backendapi/core/commands/CommandBuilder.java   |  186 +++
 .../backendapi/core/commands/CommandExecutor.java  |   38 +
 .../core/commands/CommandExecutorMock.java         |  114 ++
 .../core/commands/CommandExecutorMockAsync.java    |  406 ++++++
 .../core/commands/CommandParserMock.java           |  377 ++++++
 .../backendapi/core/commands/DockerAction.java     |   54 +
 .../backendapi/core/commands/DockerCommands.java   |   69 +
 .../backendapi/core/commands/ICommandExecutor.java |   27 +
 .../core/commands/ImagesDockerCommand.java         |   53 +
 .../core/commands/PythonBackupCommand.java         |   81 ++
 .../backendapi/core/commands/PythonCommand.java    |   50 +
 .../backendapi/core/commands/RunDockerCommand.java |  285 ++++
 .../backendapi/core/commands/UnixCommand.java      |   53 +
 .../response/folderlistener/AsyncFileHandler.java  |  135 ++
 .../response/folderlistener/FolderListener.java    |  434 +++++++
 .../folderlistener/FolderListenerExecutor.java     |   55 +
 .../core/response/folderlistener/WatchItem.java    |  258 ++++
 .../response/folderlistener/WatchItemList.java     |  277 ++++
 .../response/handlers/BackupCallbackHandler.java   |  126 ++
 .../handlers/CheckInactivityCallbackHandler.java   |  141 ++
 .../handlers/ComputationalCallbackHandler.java     |  133 ++
 .../response/handlers/ComputationalConfigure.java  |  140 ++
 .../ComputationalConfigureCallbackHandler.java     |   63 +
 .../response/handlers/EdgeCallbackHandler.java     |   78 ++
 .../handlers/ExploratoryCallbackHandler.java       |  108 ++
 .../ExploratoryGitCredsCallbackHandler.java        |   65 +
 .../handlers/ImageCreateCallbackHandler.java       |  106 ++
 .../handlers/LibInstallCallbackHandler.java        |  118 ++
 .../response/handlers/LibListCallbackHandler.java  |  110 ++
 .../response/handlers/PersistentFileHandler.java   |   51 +
 .../response/handlers/ProjectCallbackHandler.java  |   71 +
 .../response/handlers/ResourceCallbackHandler.java |  210 +++
 .../handlers/ResourcesStatusCallbackHandler.java   |   93 ++
 .../handlers/ReuploadKeyCallbackHandler.java       |  124 ++
 .../response/handlers/dao/CallbackHandlerDao.java  |   33 +
 .../handlers/dao/FileSystemCallbackHandlerDao.java |  121 ++
 .../backendapi/modules/AwsProvisioningModule.java  |   39 +
 .../modules/AzureProvisioningModule.java           |   39 +
 .../modules/CloudModuleConfigurator.java           |   42 +
 .../backendapi/modules/GcpProvisioningModule.java  |   39 +
 .../datalab/backendapi/modules/ModuleFactory.java  |   44 +
 .../backendapi/modules/ProductionModule.java       |   89 ++
 .../backendapi/modules/ProvisioningDevModule.java  |  148 +++
 .../backendapi/resources/BackupResource.java       |   76 ++
 .../backendapi/resources/BucketResource.java       |  144 +++
 .../resources/CallbackHandlerResource.java         |   46 +
 .../backendapi/resources/DockerResource.java       |   92 ++
 .../resources/GitExploratoryResource.java          |   95 ++
 .../backendapi/resources/ImageResource.java        |   88 ++
 .../resources/InfrastructureResource.java          |   65 +
 .../backendapi/resources/LibraryResource.java      |  195 +++
 .../backendapi/resources/ProjectResource.java      |   76 ++
 .../resources/ProvisioningHealthCheckResource.java |   44 +
 .../resources/aws/ComputationalResourceAws.java    |  197 +++
 .../backendapi/resources/aws/EdgeResourceAws.java  |   94 ++
 .../resources/aws/ExploratoryResourceAws.java      |   77 ++
 .../resources/aws/InfrastructureResourceAws.java   |   49 +
 .../azure/ComputationalResourceAzure.java          |   94 ++
 .../resources/azure/EdgeResourceAzure.java         |   94 ++
 .../resources/azure/ExploratoryResourceAzure.java  |   75 ++
 .../azure/InfrastructureResourceAzure.java         |   50 +
 .../backendapi/resources/base/EdgeService.java     |  108 ++
 .../resources/base/ExploratoryService.java         |   79 ++
 .../resources/base/InfrastructureService.java      |  157 +++
 .../backendapi/resources/base/KeyResource.java     |   86 ++
 .../resources/gcp/ComputationalResourceGcp.java    |  197 +++
 .../backendapi/resources/gcp/EdgeResourceGcp.java  |   96 ++
 .../resources/gcp/ExploratoryResourceGcp.java      |   77 ++
 .../resources/gcp/InfrastructureResourceGcp.java   |   49 +
 .../datalab/backendapi/service/BucketService.java  |   40 +
 .../backendapi/service/CheckInactivityService.java |   29 +
 .../datalab/backendapi/service/ProjectService.java |   35 +
 .../service/RestoreCallbackHandlerService.java     |   25 +
 .../service/impl/CheckInactivityServiceImpl.java   |  129 ++
 .../backendapi/service/impl/DockerService.java     |   42 +
 .../backendapi/service/impl/KeyService.java        |  146 +++
 .../service/impl/ProjectServiceImpl.java           |  135 ++
 .../impl/RestoreCallbackHandlerServiceImpl.java    |   58 +
 .../service/impl/SparkClusterService.java          |  156 +++
 .../service/impl/aws/BucketServiceAwsImpl.java     |  149 +++
 .../service/impl/azure/BucketServiceAzureImpl.java |  176 +++
 .../service/impl/gcp/BucketServiceGcpImpl.java     |  128 ++
 ...gServiceCloudConfigurationSequenceProvider.java |   28 +
 .../com/epam/datalab/process/ProcessConveyor.java  |   59 +
 .../process/builder/ProcessInfoBuilder.java        |  288 +++++
 .../process/exception/DatalabProcessException.java |   42 +
 .../epam/datalab/process/model/DatalabProcess.java |  167 +++
 .../com/epam/datalab/process/model/ProcessId.java  |   70 +
 .../epam/datalab/process/model/ProcessInfo.java    |  120 ++
 .../epam/datalab/process/model/ProcessStatus.java  |   32 +
 .../epam/datalab/process/model/ProcessStep.java    |   47 +
 .../DropwizardBearerTokenFilterImpl.java           |   39 -
 .../backendapi/ProvisioningServiceApplication.java |  161 ---
 ...rovisioningServiceApplicationConfiguration.java |  197 ---
 .../dlab/backendapi/conf/CloudConfiguration.java   |   83 --
 .../com/epam/dlab/backendapi/core/Constants.java   |   29 -
 .../com/epam/dlab/backendapi/core/Directories.java |   31 -
 .../dlab/backendapi/core/DirectoriesCreator.java   |   49 -
 .../epam/dlab/backendapi/core/DockerWarmuper.java  |  167 ---
 .../dlab/backendapi/core/FileHandlerCallback.java  |   41 -
 .../epam/dlab/backendapi/core/MetadataHolder.java  |   31 -
 .../dlab/backendapi/core/commands/CmdCommand.java  |   25 -
 .../backendapi/core/commands/CommandBuilder.java   |  186 ---
 .../backendapi/core/commands/CommandExecutor.java  |   38 -
 .../core/commands/CommandExecutorMock.java         |  114 --
 .../core/commands/CommandExecutorMockAsync.java    |  406 ------
 .../core/commands/CommandParserMock.java           |  373 ------
 .../backendapi/core/commands/DockerAction.java     |   54 -
 .../backendapi/core/commands/DockerCommands.java   |   69 -
 .../backendapi/core/commands/ICommandExecutor.java |   26 -
 .../core/commands/ImagesDockerCommand.java         |   53 -
 .../core/commands/PythonBackupCommand.java         |   81 --
 .../backendapi/core/commands/PythonCommand.java    |   50 -
 .../backendapi/core/commands/RunDockerCommand.java |  285 ----
 .../dlab/backendapi/core/commands/UnixCommand.java |   53 -
 .../response/folderlistener/AsyncFileHandler.java  |  135 --
 .../response/folderlistener/FolderListener.java    |  434 -------
 .../folderlistener/FolderListenerExecutor.java     |   55 -
 .../core/response/folderlistener/WatchItem.java    |  214 ---
 .../response/folderlistener/WatchItemList.java     |  277 ----
 .../response/handlers/BackupCallbackHandler.java   |  126 --
 .../handlers/CheckInactivityCallbackHandler.java   |  141 --
 .../handlers/ComputationalCallbackHandler.java     |  133 --
 .../response/handlers/ComputationalConfigure.java  |  140 --
 .../ComputationalConfigureCallbackHandler.java     |   63 -
 .../response/handlers/EdgeCallbackHandler.java     |   78 --
 .../handlers/ExploratoryCallbackHandler.java       |  108 --
 .../ExploratoryGitCredsCallbackHandler.java        |   65 -
 .../handlers/ImageCreateCallbackHandler.java       |  106 --
 .../handlers/LibInstallCallbackHandler.java        |  118 --
 .../response/handlers/LibListCallbackHandler.java  |  110 --
 .../response/handlers/PersistentFileHandler.java   |   51 -
 .../response/handlers/ProjectCallbackHandler.java  |   71 -
 .../response/handlers/ResourceCallbackHandler.java |  210 ---
 .../handlers/ResourcesStatusCallbackHandler.java   |   93 --
 .../handlers/ReuploadKeyCallbackHandler.java       |  124 --
 .../response/handlers/dao/CallbackHandlerDao.java  |   33 -
 .../handlers/dao/FileSystemCallbackHandlerDao.java |  121 --
 .../backendapi/modules/AwsProvisioningModule.java  |   39 -
 .../modules/AzureProvisioningModule.java           |   39 -
 .../modules/CloudModuleConfigurator.java           |   42 -
 .../backendapi/modules/GcpProvisioningModule.java  |   39 -
 .../dlab/backendapi/modules/ModuleFactory.java     |   44 -
 .../dlab/backendapi/modules/ProductionModule.java  |   89 --
 .../backendapi/modules/ProvisioningDevModule.java  |  148 ---
 .../dlab/backendapi/resources/BackupResource.java  |   76 --
 .../dlab/backendapi/resources/BucketResource.java  |  144 ---
 .../resources/CallbackHandlerResource.java         |   46 -
 .../dlab/backendapi/resources/DockerResource.java  |   87 --
 .../resources/GitExploratoryResource.java          |   95 --
 .../dlab/backendapi/resources/ImageResource.java   |   88 --
 .../resources/InfrastructureResource.java          |   61 -
 .../dlab/backendapi/resources/LibraryResource.java |  195 ---
 .../dlab/backendapi/resources/ProjectResource.java |   76 --
 .../resources/ProvisioningHealthCheckResource.java |   44 -
 .../resources/aws/ComputationalResourceAws.java    |  197 ---
 .../backendapi/resources/aws/EdgeResourceAws.java  |   94 --
 .../resources/aws/ExploratoryResourceAws.java      |   77 --
 .../resources/aws/InfrastructureResourceAws.java   |   49 -
 .../azure/ComputationalResourceAzure.java          |   94 --
 .../resources/azure/EdgeResourceAzure.java         |   94 --
 .../resources/azure/ExploratoryResourceAzure.java  |   75 --
 .../azure/InfrastructureResourceAzure.java         |   50 -
 .../backendapi/resources/base/EdgeService.java     |  104 --
 .../resources/base/ExploratoryService.java         |   79 --
 .../resources/base/InfrastructureService.java      |  157 ---
 .../backendapi/resources/base/KeyResource.java     |   80 --
 .../resources/gcp/ComputationalResourceGcp.java    |  197 ---
 .../backendapi/resources/gcp/EdgeResourceGcp.java  |   96 --
 .../resources/gcp/ExploratoryResourceGcp.java      |   77 --
 .../resources/gcp/InfrastructureResourceGcp.java   |   49 -
 .../dlab/backendapi/service/BucketService.java     |   40 -
 .../backendapi/service/CheckInactivityService.java |   29 -
 .../dlab/backendapi/service/ProjectService.java    |   35 -
 .../service/RestoreCallbackHandlerService.java     |   25 -
 .../service/impl/CheckInactivityServiceImpl.java   |  129 --
 .../backendapi/service/impl/DockerService.java     |   42 -
 .../dlab/backendapi/service/impl/KeyService.java   |  146 ---
 .../service/impl/ProjectServiceImpl.java           |  135 --
 .../impl/RestoreCallbackHandlerServiceImpl.java    |   58 -
 .../service/impl/SparkClusterService.java          |  156 ---
 .../service/impl/aws/BucketServiceAwsImpl.java     |  149 ---
 .../service/impl/azure/BucketServiceAzureImpl.java |  176 ---
 .../service/impl/gcp/BucketServiceGcpImpl.java     |  128 --
 ...gServiceCloudConfigurationSequenceProvider.java |   28 -
 .../com/epam/dlab/process/ProcessConveyor.java     |   59 -
 .../dlab/process/builder/ProcessInfoBuilder.java   |  288 -----
 .../process/exception/DlabProcessException.java    |   42 -
 .../com/epam/dlab/process/model/DlabProcess.java   |  167 ---
 .../com/epam/dlab/process/model/ProcessId.java     |   70 -
 .../com/epam/dlab/process/model/ProcessInfo.java   |  120 --
 .../com/epam/dlab/process/model/ProcessStatus.java |   32 -
 .../com/epam/dlab/process/model/ProcessStep.java   |   47 -
 .../main/resources/mock_response/aws/backup.json   |    2 +-
 .../aws/dataengine-service_configure.json          |    2 +-
 .../aws/dataengine-service_configure_failed.json   |    2 +-
 .../aws/dataengine-service_create.json             |    2 +-
 .../aws/dataengine-service_create_failed.json      |    2 +-
 .../aws/dataengine-service_lib_install.json        |    2 +-
 .../aws/dataengine-service_lib_list.json           |    4 +-
 .../aws/dataengine-service_terminate.json          |    2 +-
 .../mock_response/aws/dataengine_configure.json    |    2 +-
 .../mock_response/aws/dataengine_create.json       |    2 +-
 .../mock_response/aws/dataengine_lib_install.json  |    2 +-
 .../mock_response/aws/dataengine_lib_list.json     |    4 +-
 .../mock_response/aws/dataengine_start.json        |    2 +-
 .../mock_response/aws/dataengine_stop.json         |    2 +-
 .../mock_response/aws/dataengine_terminate.json    |    2 +-
 .../resources/mock_response/aws/edge_create.json   |    4 +-
 .../resources/mock_response/aws/edge_start.json    |    2 +-
 .../resources/mock_response/aws/edge_stop.json     |    2 +-
 .../mock_response/aws/edge_terminate.json          |    2 +-
 .../aws/notebook_check_inactivity.json             |    2 +-
 .../mock_response/aws/notebook_create.json         |    2 +-
 .../mock_response/aws/notebook_create_failed.json  |    2 +-
 .../mock_response/aws/notebook_create_image.json   |    2 +-
 .../mock_response/aws/notebook_git_creds.json      |    2 +-
 .../mock_response/aws/notebook_lib_install.json    |    6 +-
 .../mock_response/aws/notebook_lib_list.json       |    4 +-
 .../mock_response/aws/notebook_start.json          |    2 +-
 .../mock_response/aws/notebook_status.json         |   14 +-
 .../resources/mock_response/aws/notebook_stop.json |    2 +-
 .../mock_response/aws/notebook_terminate.json      |    2 +-
 .../mock_response/aws/project_create.json          |    8 +-
 .../mock_response/aws/project_terminate.json       |    2 +-
 .../main/resources/mock_response/azure/backup.json |    2 +-
 .../azure/dataengine-service_configure.json        |    2 +-
 .../azure/dataengine-service_configure_failed.json |    2 +-
 .../azure/dataengine-service_create.json           |    2 +-
 .../azure/dataengine-service_create_failed.json    |    2 +-
 .../azure/dataengine-service_lib_install.json      |    2 +-
 .../azure/dataengine-service_lib_list.json         |    4 +-
 .../azure/dataengine-service_terminate.json        |    2 +-
 .../mock_response/azure/dataengine_configure.json  |    2 +-
 .../mock_response/azure/dataengine_create.json     |    2 +-
 .../azure/dataengine_lib_install.json              |    2 +-
 .../mock_response/azure/dataengine_lib_list.json   |    4 +-
 .../mock_response/azure/dataengine_start.json      |    2 +-
 .../mock_response/azure/dataengine_stop.json       |    2 +-
 .../mock_response/azure/dataengine_terminate.json  |    2 +-
 .../resources/mock_response/azure/edge_create.json |    2 +-
 .../resources/mock_response/azure/edge_start.json  |    2 +-
 .../resources/mock_response/azure/edge_stop.json   |    2 +-
 .../mock_response/azure/edge_terminate.json        |    2 +-
 .../mock_response/azure/notebook_create.json       |    2 +-
 .../azure/notebook_create_failed.json              |    2 +-
 .../mock_response/azure/notebook_create_image.json |    2 +-
 .../mock_response/azure/notebook_git_creds.json    |    2 +-
 .../mock_response/azure/notebook_lib_install.json  |    6 +-
 .../mock_response/azure/notebook_lib_list.json     |    4 +-
 .../mock_response/azure/notebook_start.json        |    2 +-
 .../mock_response/azure/notebook_status.json       |   14 +-
 .../mock_response/azure/notebook_stop.json         |    2 +-
 .../mock_response/azure/notebook_terminate.json    |    2 +-
 .../mock_response/azure/project_create.json        |    8 +-
 .../mock_response/azure/project_terminate.json     |    2 +-
 .../main/resources/mock_response/gcp/backup.json   |    2 +-
 .../gcp/dataengine-service_configure.json          |    2 +-
 .../gcp/dataengine-service_create.json             |    2 +-
 .../gcp/dataengine-service_lib_install.json        |    2 +-
 .../gcp/dataengine-service_lib_list.json           |    4 +-
 .../gcp/dataengine-service_terminate.json          |    2 +-
 .../mock_response/gcp/dataengine_configure.json    |    2 +-
 .../mock_response/gcp/dataengine_create.json       |    2 +-
 .../mock_response/gcp/dataengine_lib_install.json  |    2 +-
 .../mock_response/gcp/dataengine_lib_list.json     |    4 +-
 .../mock_response/gcp/dataengine_start.json        |    2 +-
 .../mock_response/gcp/dataengine_stop.json         |    2 +-
 .../mock_response/gcp/dataengine_terminate.json    |    2 +-
 .../resources/mock_response/gcp/edge_create.json   |    6 +-
 .../resources/mock_response/gcp/edge_start.json    |    2 +-
 .../resources/mock_response/gcp/edge_stop.json     |    2 +-
 .../mock_response/gcp/edge_terminate.json          |    2 +-
 .../mock_response/gcp/notebook_create.json         |    2 +-
 .../mock_response/gcp/notebook_create_image.json   |    2 +-
 .../mock_response/gcp/notebook_git_creds.json      |    2 +-
 .../mock_response/gcp/notebook_lib_install.json    |    6 +-
 .../mock_response/gcp/notebook_lib_list.json       |    4 +-
 .../mock_response/gcp/notebook_start.json          |    2 +-
 .../mock_response/gcp/notebook_status.json         |   14 +-
 .../resources/mock_response/gcp/notebook_stop.json |    2 +-
 .../mock_response/gcp/notebook_terminate.json      |    2 +-
 .../mock_response/gcp/project_create.json          |    8 +-
 .../mock_response/gcp/project_terminate.json       |    2 +-
 .../backendapi/core/DockerWarmuperTest.java        |  133 ++
 .../core/commands/CommandExecutorMockTest.java     |  398 ++++++
 .../docker/command/ImagesDockerCommandTest.java    |   44 +
 .../core/docker/command/RunDockerCommandTest.java  |  319 +++++
 .../folderlistener/FolderListenerTest.java         |  190 +++
 .../response/folderlistener/WatchItemListTest.java |  133 ++
 .../response/folderlistener/WatchItemTest.java     |  145 +++
 .../dao/FileSystemCallbackHandlerDaoTest.java      |  213 +++
 .../RestoreCallbackHandlerServiceImplTest.java     |   65 +
 .../epam/datalab/rest/client/RESTServiceMock.java  |   41 +
 .../dlab/backendapi/core/DockerWarmuperTest.java   |  129 --
 .../core/commands/CommandExecutorMockTest.java     |  398 ------
 .../docker/command/ImagesDockerCommandTest.java    |   44 -
 .../core/docker/command/RunDockerCommandTest.java  |  319 -----
 .../folderlistener/FolderListenerTest.java         |  190 ---
 .../response/folderlistener/WatchItemListTest.java |  133 --
 .../response/folderlistener/WatchItemTest.java     |  145 ---
 .../dao/FileSystemCallbackHandlerDaoTest.java      |  208 ---
 .../RestoreCallbackHandlerServiceImplTest.java     |   63 -
 .../com/epam/dlab/rest/client/RESTServiceMock.java |   41 -
 services/readme.txt                                |   12 +-
 services/self-service/entrypoint.sh                |    2 +-
 services/self-service/pom.xml                      |   56 +-
 services/self-service/self-service.yml             |    6 +-
 .../datalab/backendapi/SelfServiceApplication.java |  217 ++++
 .../epam/datalab/backendapi/annotation/Audit.java  |   36 +
 .../backendapi/annotation/BudgetLimited.java       |   34 +
 .../epam/datalab/backendapi/annotation/Info.java   |   30 +
 .../datalab/backendapi/annotation/Project.java     |   31 +
 .../backendapi/annotation/ProjectAdmin.java        |   30 +
 .../backendapi/annotation/ResourceName.java        |   30 +
 .../epam/datalab/backendapi/annotation/User.java   |   30 +
 .../backendapi/auth/KeycloakAuthenticator.java     |   52 +
 .../auth/SelfServiceSecurityAuthorizer.java        |   34 +
 .../filters/DropwizardBearerTokenFilterImpl.java   |   39 +
 .../backendapi/conf/CloudConfiguration.java        |   59 +
 .../backendapi/conf/KeycloakConfiguration.java     |   27 +
 .../conf/SelfServiceApplicationConfiguration.java  |  264 ++++
 .../com/epam/datalab/backendapi/dao/AuditDAO.java  |   31 +
 .../epam/datalab/backendapi/dao/AuditDAOImpl.java  |  172 +++
 .../com/epam/datalab/backendapi/dao/BackupDAO.java |   35 +
 .../epam/datalab/backendapi/dao/BackupDAOImpl.java |   65 +
 .../datalab/backendapi/dao/BaseBillingDAO.java     |  252 ++++
 .../com/epam/datalab/backendapi/dao/BaseDAO.java   |  526 ++++++++
 .../epam/datalab/backendapi/dao/BillingDAO.java    |   53 +
 .../datalab/backendapi/dao/ComputationalDAO.java   |  403 ++++++
 .../com/epam/datalab/backendapi/dao/DockerDAO.java |   43 +
 .../epam/datalab/backendapi/dao/EndpointDAO.java   |   53 +
 .../datalab/backendapi/dao/EndpointDAOImpl.java    |   90 ++
 .../com/epam/datalab/backendapi/dao/EnvDAO.java    |  512 ++++++++
 .../datalab/backendapi/dao/ExploratoryDAO.java     |  479 +++++++
 .../datalab/backendapi/dao/ExploratoryLibDAO.java  |  402 ++++++
 .../epam/datalab/backendapi/dao/GitCredsDAO.java   |   99 ++
 .../backendapi/dao/ImageExploratoryDAO.java        |   46 +
 .../backendapi/dao/ImageExploratoryDAOImpl.java    |  155 +++
 .../epam/datalab/backendapi/dao/IndexCreator.java  |   45 +
 .../datalab/backendapi/dao/MongoCollections.java   |   82 ++
 .../epam/datalab/backendapi/dao/MongoSetting.java  |  107 ++
 .../epam/datalab/backendapi/dao/ProjectDAO.java    |   59 +
 .../datalab/backendapi/dao/ProjectDAOImpl.java     |  190 +++
 .../epam/datalab/backendapi/dao/RequestIdDAO.java  |   68 +
 .../datalab/backendapi/dao/SchedulerJobDAO.java    |  248 ++++
 .../epam/datalab/backendapi/dao/SecurityDAO.java   |  118 ++
 .../epam/datalab/backendapi/dao/SettingsDAO.java   |  424 ++++++
 .../epam/datalab/backendapi/dao/UserGroupDAO.java  |   33 +
 .../datalab/backendapi/dao/UserGroupDAOImpl.java   |   68 +
 .../epam/datalab/backendapi/dao/UserRoleDAO.java   |   51 +
 .../datalab/backendapi/dao/UserRoleDAOImpl.java    |  215 ++++
 .../datalab/backendapi/dao/UserSettingsDAO.java    |   77 ++
 .../datalab/backendapi/domain/AuditActionEnum.java |   24 +
 .../datalab/backendapi/domain/AuditCreateDTO.java  |   37 +
 .../epam/datalab/backendapi/domain/AuditDTO.java   |   39 +
 .../backendapi/domain/AuditPaginationDTO.java      |   43 +
 .../backendapi/domain/AuditResourceTypeEnum.java   |   24 +
 .../backendapi/domain/AutoCompleteEnum.java        |   24 +
 .../datalab/backendapi/domain/BillingReport.java   |   45 +
 .../backendapi/domain/BillingReportLine.java       |   56 +
 .../epam/datalab/backendapi/domain/BudgetDTO.java  |   36 +
 .../backendapi/domain/CreateProjectDTO.java        |   44 +
 .../datalab/backendapi/domain/EndpointDTO.java     |   50 +
 .../backendapi/domain/EndpointResourcesDTO.java    |   33 +
 .../backendapi/domain/ExploratoryLibCache.java     |  240 ++++
 .../backendapi/domain/ExploratoryLibList.java      |  250 ++++
 .../domain/MavenSearchArtifactResponse.java        |   82 ++
 .../backendapi/domain/NotebookTemplate.java        |   40 +
 .../epam/datalab/backendapi/domain/ProjectDTO.java |  104 ++
 .../backendapi/domain/ProjectEndpointDTO.java      |   31 +
 .../epam/datalab/backendapi/domain/RequestId.java  |   95 ++
 .../datalab/backendapi/domain/RequestIdDTO.java    |  146 +++
 .../domain/SchedulerConfigurationData.java         |   31 +
 .../backendapi/domain/UpdateProjectBudgetDTO.java  |   35 +
 .../backendapi/domain/UpdateProjectDTO.java        |   40 +
 .../dropwizard/bundles/DatalabKeycloakBundle.java  |   58 +
 .../dropwizard/listeners/MongoStartupListener.java |   97 ++
 .../listeners/RestoreHandlerStartupListener.java   |   50 +
 .../backendapi/healthcheck/MongoHealthCheck.java   |   46 +
 .../backendapi/interceptor/AuditInterceptor.java   |  127 ++
 .../interceptor/BudgetLimitInterceptor.java        |   64 +
 .../interceptor/ProjectAdminInterceptor.java       |   74 ++
 .../backendapi/modules/CloudProviderModule.java    |  112 ++
 .../epam/datalab/backendapi/modules/DevModule.java |  197 +++
 .../datalab/backendapi/modules/ModuleFactory.java  |   51 +
 .../backendapi/modules/ProductionModule.java       |  176 +++
 .../resources/ApplicationSettingResource.java      |   73 ++
 .../backendapi/resources/AuditResource.java        |   70 +
 .../backendapi/resources/BackupResource.java       |   90 ++
 .../backendapi/resources/BillingResource.java      |   72 ++
 .../backendapi/resources/BucketResource.java       |  163 +++
 .../backendapi/resources/EndpointResource.java     |  151 +++
 .../backendapi/resources/EnvironmentResource.java  |  110 ++
 .../backendapi/resources/ExploratoryResource.java  |  175 +++
 .../backendapi/resources/GitCredsResource.java     |   78 ++
 .../resources/ImageExploratoryResource.java        |  110 ++
 .../resources/InfrastructureInfoResource.java      |   95 ++
 .../resources/InfrastructureTemplateResource.java  |   78 ++
 .../backendapi/resources/KeycloakResource.java     |  140 ++
 .../resources/LibExploratoryResource.java          |  217 ++++
 .../backendapi/resources/ProjectResource.java      |  244 ++++
 .../backendapi/resources/SchedulerJobResource.java |  187 +++
 .../backendapi/resources/SystemInfoResource.java   |   56 +
 .../backendapi/resources/UserGroupResource.java    |   87 ++
 .../backendapi/resources/UserRoleResource.java     |   63 +
 .../backendapi/resources/UserSettingsResource.java |   84 ++
 .../resources/aws/ComputationalResourceAws.java    |  272 ++++
 .../resources/azure/AzureOauthResource.java        |   60 +
 .../azure/ComputationalResourceAzure.java          |  181 +++
 .../resources/callback/BackupCallback.java         |   59 +
 .../callback/CheckInactivityCallback.java          |   69 +
 .../resources/callback/ComputationalCallback.java  |   96 ++
 .../callback/EnvironmentStatusCallback.java        |   71 +
 .../resources/callback/ExploratoryCallback.java    |  137 ++
 .../resources/callback/GitCredsCallback.java       |   64 +
 .../resources/callback/ImageCallback.java          |   71 +
 .../resources/callback/LibraryCallback.java        |   98 ++
 .../resources/callback/ProjectCallback.java        |   73 ++
 .../resources/callback/ReuploadKeyCallback.java    |   56 +
 .../backendapi/resources/dto/BackupFormDTO.java    |   40 +
 .../backendapi/resources/dto/BackupInfoRecord.java |   45 +
 .../backendapi/resources/dto/BillingFilter.java    |   58 +
 .../backendapi/resources/dto/BucketDeleteDTO.java  |   38 +
 .../resources/dto/BucketDownloadDTO.java           |   35 +
 .../resources/dto/ComputationalCreateFormDTO.java  |   64 +
 .../resources/dto/ComputationalTemplatesDTO.java   |   35 +
 .../resources/dto/ExploratoryActionFormDTO.java    |   44 +
 .../resources/dto/ExploratoryCreateFormDTO.java    |  188 +++
 .../resources/dto/ExploratoryCreatePopUp.java      |   35 +
 .../dto/ExploratoryImageCreateFormDTO.java         |   39 +
 .../backendapi/resources/dto/FolderUploadDTO.java  |   35 +
 .../datalab/backendapi/resources/dto/GroupDTO.java |   37 +
 .../backendapi/resources/dto/HealthStatusDTO.java  |   85 ++
 .../backendapi/resources/dto/HealthStatusEnum.java |   44 +
 .../resources/dto/HealthStatusPageDTO.java         |   59 +
 .../resources/dto/HealthStatusResource.java        |  110 ++
 .../backendapi/resources/dto/ImageInfoRecord.java  |   37 +
 .../datalab/backendapi/resources/dto/KeysDTO.java  |   31 +
 .../backendapi/resources/dto/LibInfoRecord.java    |   43 +
 .../resources/dto/LibInstallFormDTO.java           |   48 +
 .../datalab/backendapi/resources/dto/LibKey.java   |   39 +
 .../resources/dto/LibraryAutoCompleteDTO.java      |   33 +
 .../backendapi/resources/dto/LibraryDTO.java       |   32 +
 .../backendapi/resources/dto/LibraryStatus.java    |   47 +
 .../resources/dto/ProjectActionFormDTO.java        |   36 +
 .../resources/dto/ProjectInfrastructureInfo.java   |   51 +
 .../backendapi/resources/dto/QuotaUsageDTO.java    |   32 +
 .../resources/dto/SearchLibsFormDTO.java           |   46 +
 .../dto/SparkStandaloneClusterCreateForm.java      |   42 +
 .../dto/SparkStandaloneConfiguration.java          |   33 +
 .../backendapi/resources/dto/SystemInfoDto.java    |   44 +
 .../backendapi/resources/dto/UpdateGroupDTO.java   |   38 +
 .../resources/dto/UpdateRoleGroupDto.java          |   36 +
 .../resources/dto/UpdateUserGroupDto.java          |   36 +
 .../datalab/backendapi/resources/dto/UserDTO.java  |   39 +
 .../backendapi/resources/dto/UserGroupDto.java     |   36 +
 .../backendapi/resources/dto/UserResourceInfo.java |   57 +
 .../backendapi/resources/dto/UserRoleDto.java      |   64 +
 .../dto/aws/AwsComputationalCreateForm.java        |   57 +
 .../resources/dto/aws/AwsEmrConfiguration.java     |   49 +
 .../dto/gcp/GcpComputationalCreateForm.java        |   53 +
 .../dto/gcp/GcpDataprocConfiguration.java          |   42 +
 .../resources/gcp/ComputationalResourceGcp.java    |  259 ++++
 .../backendapi/resources/gcp/GcpOauthResource.java |   65 +
 .../epam/datalab/backendapi/roles/RoleType.java    |   55 +
 .../epam/datalab/backendapi/roles/UserRole.java    |  142 ++
 .../epam/datalab/backendapi/roles/UserRoles.java   |  332 +++++
 .../schedulers/CheckApplicationQuoteScheduler.java |   45 +
 .../schedulers/CheckInactivityScheduledJob.java    |   46 +
 .../schedulers/CheckProjectQuoteScheduler.java     |   52 +
 .../schedulers/CheckUserQuoteScheduler.java        |   49 +
 .../schedulers/billing/BillingScheduler.java       |   52 +
 .../computational/StartComputationalJob.java       |   44 +
 .../computational/StopComputationalJob.java        |   42 +
 .../computational/TerminateComputationalJob.java   |   41 +
 .../endpoint/CheckEndpointStatusScheduler.java     |   66 +
 .../exploratory/StartExploratoryJob.java           |   45 +
 .../schedulers/exploratory/StopExploratoryJob.java |   46 +
 .../schedulers/internal/ManagedScheduler.java      |  115 ++
 .../backendapi/schedulers/internal/Scheduled.java  |   39 +
 .../backendapi/service/AccessKeyService.java       |   28 +
 .../service/ApplicationSettingService.java         |   31 +
 .../service/ApplicationSettingServiceImpl.java     |   46 +
 .../datalab/backendapi/service/AuditService.java   |   34 +
 .../datalab/backendapi/service/BackupService.java  |   37 +
 .../datalab/backendapi/service/BillingService.java |   43 +
 .../datalab/backendapi/service/BucketService.java  |   39 +
 .../backendapi/service/ComputationalService.java   |   74 ++
 .../backendapi/service/EndpointService.java        |   48 +
 .../backendapi/service/EnvironmentService.java     |   46 +
 .../backendapi/service/ExploratoryService.java     |   62 +
 .../backendapi/service/ExternalLibraryService.java |   28 +
 .../backendapi/service/GitCredentialService.java   |   29 +
 .../backendapi/service/GuacamoleService.java       |   30 +
 .../service/ImageExploratoryService.java           |   39 +
 .../backendapi/service/InactivityService.java      |   33 +
 .../service/InfrastructureInfoService.java         |   35 +
 .../service/InfrastructureTemplateService.java     |   32 +
 .../backendapi/service/KeycloakService.java        |   32 +
 .../backendapi/service/KeycloakServiceImpl.java    |  111 ++
 .../datalab/backendapi/service/LibraryService.java |   42 +
 .../datalab/backendapi/service/ProjectService.java |   61 +
 .../backendapi/service/ReuploadKeyService.java     |   28 +
 .../backendapi/service/SchedulerJobService.java    |   92 ++
 .../backendapi/service/SecurityService.java        |   30 +
 .../backendapi/service/SecurityServiceImpl.java    |   77 ++
 .../backendapi/service/SystemInfoService.java      |   27 +
 .../datalab/backendapi/service/TagService.java     |   29 +
 .../datalab/backendapi/service/TagServiceImpl.java |   41 +
 .../backendapi/service/UserGroupService.java       |   37 +
 .../backendapi/service/UserRoleService.java        |   34 +
 .../backendapi/service/UserRoleServiceImpl.java    |   63 +
 .../backendapi/service/UserSettingService.java     |   35 +
 .../backendapi/service/UserSettingServiceImpl.java |   48 +
 .../service/impl/AccessKeyServiceImpl.java         |   59 +
 .../backendapi/service/impl/AuditServiceImpl.java  |   63 +
 .../backendapi/service/impl/BackupServiceImpl.java |   69 +
 .../service/impl/BillingServiceImpl.java           |  383 ++++++
 .../backendapi/service/impl/BucketServiceImpl.java |  175 +++
 .../service/impl/ComputationalServiceImpl.java     |  396 ++++++
 .../service/impl/EndpointServiceImpl.java          |  193 +++
 .../service/impl/EnvironmentServiceImpl.java       |  233 ++++
 .../service/impl/ExploratoryServiceImpl.java       |  467 +++++++
 .../service/impl/GitCredentialServiceImpl.java     |  119 ++
 .../service/impl/GuacamoleServiceImpl.java         |   91 ++
 .../service/impl/ImageExploratoryServiceImpl.java  |  177 +++
 .../service/impl/InactivityServiceImpl.java        |  111 ++
 .../impl/InfrastructureInfoServiceImpl.java        |  193 +++
 .../impl/InfrastructureTemplateServiceImpl.java    |  246 ++++
 .../service/impl/LibraryServiceImpl.java           |  311 +++++
 .../service/impl/MavenCentralLibraryService.java   |   88 ++
 .../service/impl/ProjectServiceImpl.java           |  386 ++++++
 .../service/impl/ReuploadKeyServiceImpl.java       |   96 ++
 .../service/impl/SchedulerJobServiceImpl.java      |  514 ++++++++
 .../service/impl/SystemInfoServiceImpl.java        |  100 ++
 .../service/impl/UserGroupServiceImpl.java         |  228 ++++
 .../servlet/guacamole/GuacamoleServlet.java        |   97 ++
 .../epam/datalab/backendapi/util/BillingUtils.java |  249 ++++
 .../epam/datalab/backendapi/util/CSVFormatter.java |   67 +
 .../datalab/backendapi/util/DateRemoverUtil.java   |   40 +
 .../epam/datalab/backendapi/util/KeycloakUtil.java |   41 +
 .../datalab/backendapi/util/RequestBuilder.java    |  653 ++++++++++
 .../validation/MavenLibraryNameValidator.java      |   41 +
 .../validation/SchedulerJobDTOValidator.java       |   47 +
 .../validation/annotation/LibNameValid.java        |   42 +
 .../annotation/SchedulerJobDTOValid.java           |   42 +
 .../dlab/backendapi/SelfServiceApplication.java    |  217 ----
 .../com/epam/dlab/backendapi/annotation/Audit.java |   36 -
 .../dlab/backendapi/annotation/BudgetLimited.java  |   34 -
 .../com/epam/dlab/backendapi/annotation/Info.java  |   30 -
 .../epam/dlab/backendapi/annotation/Project.java   |   31 -
 .../dlab/backendapi/annotation/ProjectAdmin.java   |   30 -
 .../dlab/backendapi/annotation/ResourceName.java   |   30 -
 .../com/epam/dlab/backendapi/annotation/User.java  |   30 -
 .../backendapi/auth/KeycloakAuthenticator.java     |   52 -
 .../auth/SelfServiceSecurityAuthorizer.java        |   34 -
 .../filters/DropwizardBearerTokenFilterImpl.java   |   39 -
 .../dlab/backendapi/conf/CloudConfiguration.java   |   59 -
 .../backendapi/conf/KeycloakConfiguration.java     |   27 -
 .../conf/SelfServiceApplicationConfiguration.java  |  264 ----
 .../com/epam/dlab/backendapi/dao/AuditDAO.java     |   31 -
 .../com/epam/dlab/backendapi/dao/AuditDAOImpl.java |  172 ---
 .../com/epam/dlab/backendapi/dao/BackupDAO.java    |   35 -
 .../epam/dlab/backendapi/dao/BackupDAOImpl.java    |   65 -
 .../epam/dlab/backendapi/dao/BaseBillingDAO.java   |  252 ----
 .../java/com/epam/dlab/backendapi/dao/BaseDAO.java |  526 --------
 .../com/epam/dlab/backendapi/dao/BillingDAO.java   |   53 -
 .../epam/dlab/backendapi/dao/ComputationalDAO.java |  403 ------
 .../com/epam/dlab/backendapi/dao/DockerDAO.java    |   40 -
 .../com/epam/dlab/backendapi/dao/EndpointDAO.java  |   53 -
 .../epam/dlab/backendapi/dao/EndpointDAOImpl.java  |   90 --
 .../java/com/epam/dlab/backendapi/dao/EnvDAO.java  |  512 --------
 .../epam/dlab/backendapi/dao/ExploratoryDAO.java   |  479 -------
 .../dlab/backendapi/dao/ExploratoryLibDAO.java     |  402 ------
 .../com/epam/dlab/backendapi/dao/GitCredsDAO.java  |   90 --
 .../dlab/backendapi/dao/ImageExploratoryDAO.java   |   46 -
 .../backendapi/dao/ImageExploratoryDAOImpl.java    |  155 ---
 .../com/epam/dlab/backendapi/dao/IndexCreator.java |   42 -
 .../epam/dlab/backendapi/dao/MongoCollections.java |   58 -
 .../com/epam/dlab/backendapi/dao/MongoSetting.java |  107 --
 .../com/epam/dlab/backendapi/dao/ProjectDAO.java   |   59 -
 .../epam/dlab/backendapi/dao/ProjectDAOImpl.java   |  190 ---
 .../com/epam/dlab/backendapi/dao/RequestIdDAO.java |   67 -
 .../epam/dlab/backendapi/dao/SchedulerJobDAO.java  |  248 ----
 .../com/epam/dlab/backendapi/dao/SecurityDAO.java  |  118 --
 .../com/epam/dlab/backendapi/dao/SettingsDAO.java  |  391 ------
 .../com/epam/dlab/backendapi/dao/UserGroupDAO.java |   33 -
 .../epam/dlab/backendapi/dao/UserGroupDAOImpl.java |   68 -
 .../com/epam/dlab/backendapi/dao/UserRoleDAO.java  |   51 -
 .../epam/dlab/backendapi/dao/UserRoleDAOImpl.java  |  215 ----
 .../epam/dlab/backendapi/dao/UserSettingsDAO.java  |   77 --
 .../dlab/backendapi/domain/AuditActionEnum.java    |   24 -
 .../dlab/backendapi/domain/AuditCreateDTO.java     |   37 -
 .../com/epam/dlab/backendapi/domain/AuditDTO.java  |   39 -
 .../dlab/backendapi/domain/AuditPaginationDTO.java |   43 -
 .../backendapi/domain/AuditResourceTypeEnum.java   |   24 -
 .../dlab/backendapi/domain/AutoCompleteEnum.java   |   24 -
 .../epam/dlab/backendapi/domain/BillingReport.java |   45 -
 .../dlab/backendapi/domain/BillingReportLine.java  |   56 -
 .../com/epam/dlab/backendapi/domain/BudgetDTO.java |   36 -
 .../dlab/backendapi/domain/CreateProjectDTO.java   |   44 -
 .../epam/dlab/backendapi/domain/EndpointDTO.java   |   50 -
 .../backendapi/domain/EndpointResourcesDTO.java    |   33 -
 .../backendapi/domain/ExploratoryLibCache.java     |  240 ----
 .../dlab/backendapi/domain/ExploratoryLibList.java |  250 ----
 .../domain/MavenSearchArtifactResponse.java        |   82 --
 .../dlab/backendapi/domain/NotebookTemplate.java   |   40 -
 .../epam/dlab/backendapi/domain/ProjectDTO.java    |  104 --
 .../dlab/backendapi/domain/ProjectEndpointDTO.java |   31 -
 .../com/epam/dlab/backendapi/domain/RequestId.java |   84 --
 .../epam/dlab/backendapi/domain/RequestIdDTO.java  |  121 --
 .../domain/SchedulerConfigurationData.java         |   31 -
 .../backendapi/domain/UpdateProjectBudgetDTO.java  |   35 -
 .../dlab/backendapi/domain/UpdateProjectDTO.java   |   40 -
 .../dropwizard/bundles/DlabKeycloakBundle.java     |   58 -
 .../dropwizard/listeners/MongoStartupListener.java |   97 --
 .../listeners/RestoreHandlerStartupListener.java   |   50 -
 .../backendapi/healthcheck/MongoHealthCheck.java   |   46 -
 .../backendapi/interceptor/AuditInterceptor.java   |  127 --
 .../interceptor/BudgetLimitInterceptor.java        |   64 -
 .../interceptor/ProjectAdminInterceptor.java       |   74 --
 .../backendapi/modules/CloudProviderModule.java    |  112 --
 .../epam/dlab/backendapi/modules/DevModule.java    |  197 ---
 .../dlab/backendapi/modules/ModuleFactory.java     |   51 -
 .../dlab/backendapi/modules/ProductionModule.java  |  176 ---
 .../resources/ApplicationSettingResource.java      |   68 -
 .../dlab/backendapi/resources/AuditResource.java   |   70 -
 .../dlab/backendapi/resources/BackupResource.java  |   85 --
 .../dlab/backendapi/resources/BillingResource.java |   72 --
 .../dlab/backendapi/resources/BucketResource.java  |  163 ---
 .../backendapi/resources/EndpointResource.java     |  151 ---
 .../backendapi/resources/EnvironmentResource.java  |  110 --
 .../backendapi/resources/ExploratoryResource.java  |  174 ---
 .../backendapi/resources/GitCredsResource.java     |   78 --
 .../resources/ImageExploratoryResource.java        |  110 --
 .../resources/InfrastructureInfoResource.java      |   95 --
 .../resources/InfrastructureTemplateResource.java  |   74 --
 .../backendapi/resources/KeycloakResource.java     |  140 --
 .../resources/LibExploratoryResource.java          |  217 ----
 .../dlab/backendapi/resources/ProjectResource.java |  244 ----
 .../backendapi/resources/SchedulerJobResource.java |  187 ---
 .../backendapi/resources/SystemInfoResource.java   |   56 -
 .../backendapi/resources/UserGroupResource.java    |   87 --
 .../backendapi/resources/UserRoleResource.java     |   63 -
 .../backendapi/resources/UserSettingsResource.java |   79 --
 .../resources/aws/ComputationalResourceAws.java    |  272 ----
 .../resources/azure/AzureOauthResource.java        |   56 -
 .../azure/ComputationalResourceAzure.java          |  180 ---
 .../resources/callback/BackupCallback.java         |   59 -
 .../callback/CheckInactivityCallback.java          |   69 -
 .../resources/callback/ComputationalCallback.java  |   96 --
 .../callback/EnvironmentStatusCallback.java        |   71 -
 .../resources/callback/ExploratoryCallback.java    |  137 --
 .../resources/callback/GitCredsCallback.java       |   64 -
 .../resources/callback/ImageCallback.java          |   71 -
 .../resources/callback/LibraryCallback.java        |   98 --
 .../resources/callback/ProjectCallback.java        |   73 --
 .../resources/callback/ReuploadKeyCallback.java    |   56 -
 .../backendapi/resources/dto/BackupFormDTO.java    |   40 -
 .../backendapi/resources/dto/BackupInfoRecord.java |   45 -
 .../backendapi/resources/dto/BillingFilter.java    |   58 -
 .../backendapi/resources/dto/BucketDeleteDTO.java  |   38 -
 .../resources/dto/BucketDownloadDTO.java           |   35 -
 .../resources/dto/ComputationalCreateFormDTO.java  |   64 -
 .../resources/dto/ComputationalTemplatesDTO.java   |   35 -
 .../resources/dto/ExploratoryActionFormDTO.java    |   44 -
 .../resources/dto/ExploratoryCreateFormDTO.java    |  188 ---
 .../resources/dto/ExploratoryCreatePopUp.java      |   35 -
 .../dto/ExploratoryImageCreateFormDTO.java         |   39 -
 .../backendapi/resources/dto/FolderUploadDTO.java  |   35 -
 .../dlab/backendapi/resources/dto/GroupDTO.java    |   37 -
 .../backendapi/resources/dto/HealthStatusDTO.java  |   72 --
 .../backendapi/resources/dto/HealthStatusEnum.java |   42 -
 .../resources/dto/HealthStatusPageDTO.java         |   59 -
 .../resources/dto/HealthStatusResource.java        |   91 --
 .../backendapi/resources/dto/ImageInfoRecord.java  |   37 -
 .../dlab/backendapi/resources/dto/KeysDTO.java     |   31 -
 .../backendapi/resources/dto/LibInfoRecord.java    |   43 -
 .../resources/dto/LibInstallFormDTO.java           |   48 -
 .../epam/dlab/backendapi/resources/dto/LibKey.java |   39 -
 .../resources/dto/LibraryAutoCompleteDTO.java      |   33 -
 .../dlab/backendapi/resources/dto/LibraryDTO.java  |   32 -
 .../backendapi/resources/dto/LibraryStatus.java    |   47 -
 .../resources/dto/ProjectActionFormDTO.java        |   36 -
 .../resources/dto/ProjectInfrastructureInfo.java   |   51 -
 .../backendapi/resources/dto/QuotaUsageDTO.java    |   32 -
 .../resources/dto/SearchLibsFormDTO.java           |   46 -
 .../dto/SparkStandaloneClusterCreateForm.java      |   42 -
 .../dto/SparkStandaloneConfiguration.java          |   33 -
 .../backendapi/resources/dto/SystemInfoDto.java    |   44 -
 .../backendapi/resources/dto/UpdateGroupDTO.java   |   38 -
 .../resources/dto/UpdateRoleGroupDto.java          |   36 -
 .../resources/dto/UpdateUserGroupDto.java          |   36 -
 .../dlab/backendapi/resources/dto/UserDTO.java     |   39 -
 .../backendapi/resources/dto/UserGroupDto.java     |   36 -
 .../backendapi/resources/dto/UserResourceInfo.java |   57 -
 .../dlab/backendapi/resources/dto/UserRoleDto.java |   64 -
 .../dto/aws/AwsComputationalCreateForm.java        |   57 -
 .../resources/dto/aws/AwsEmrConfiguration.java     |   49 -
 .../dto/gcp/GcpComputationalCreateForm.java        |   53 -
 .../dto/gcp/GcpDataprocConfiguration.java          |   42 -
 .../resources/gcp/ComputationalResourceGcp.java    |  259 ----
 .../backendapi/resources/gcp/GcpOauthResource.java |   61 -
 .../com/epam/dlab/backendapi/roles/RoleType.java   |   55 -
 .../com/epam/dlab/backendapi/roles/UserRole.java   |  142 --
 .../com/epam/dlab/backendapi/roles/UserRoles.java  |  332 -----
 .../schedulers/CheckApplicationQuoteScheduler.java |   45 -
 .../schedulers/CheckInactivityScheduledJob.java    |   46 -
 .../schedulers/CheckProjectQuoteScheduler.java     |   52 -
 .../schedulers/CheckUserQuoteScheduler.java        |   49 -
 .../schedulers/billing/BillingScheduler.java       |   52 -
 .../computational/StartComputationalJob.java       |   44 -
 .../computational/StopComputationalJob.java        |   42 -
 .../computational/TerminateComputationalJob.java   |   41 -
 .../endpoint/CheckEndpointStatusScheduler.java     |   66 -
 .../exploratory/StartExploratoryJob.java           |   45 -
 .../schedulers/exploratory/StopExploratoryJob.java |   46 -
 .../schedulers/internal/ManagedScheduler.java      |  109 --
 .../backendapi/schedulers/internal/Scheduled.java  |   39 -
 .../dlab/backendapi/service/AccessKeyService.java  |   28 -
 .../service/ApplicationSettingService.java         |   31 -
 .../service/ApplicationSettingServiceImpl.java     |   45 -
 .../epam/dlab/backendapi/service/AuditService.java |   34 -
 .../dlab/backendapi/service/BackupService.java     |   37 -
 .../dlab/backendapi/service/BillingService.java    |   43 -
 .../dlab/backendapi/service/BucketService.java     |   39 -
 .../backendapi/service/ComputationalService.java   |   74 --
 .../dlab/backendapi/service/EndpointService.java   |   48 -
 .../backendapi/service/EnvironmentService.java     |   46 -
 .../backendapi/service/ExploratoryService.java     |   62 -
 .../backendapi/service/ExternalLibraryService.java |   28 -
 .../backendapi/service/GitCredentialService.java   |   29 -
 .../dlab/backendapi/service/GuacamoleService.java  |   30 -
 .../service/ImageExploratoryService.java           |   39 -
 .../dlab/backendapi/service/InactivityService.java |   33 -
 .../service/InfrastructureInfoService.java         |   35 -
 .../service/InfrastructureTemplateService.java     |   32 -
 .../dlab/backendapi/service/KeycloakService.java   |   32 -
 .../backendapi/service/KeycloakServiceImpl.java    |  111 --
 .../dlab/backendapi/service/LibraryService.java    |   42 -
 .../dlab/backendapi/service/ProjectService.java    |   61 -
 .../backendapi/service/ReuploadKeyService.java     |   28 -
 .../backendapi/service/SchedulerJobService.java    |   92 --
 .../dlab/backendapi/service/SecurityService.java   |   30 -
 .../backendapi/service/SecurityServiceImpl.java    |   77 --
 .../dlab/backendapi/service/SystemInfoService.java |   27 -
 .../epam/dlab/backendapi/service/TagService.java   |   29 -
 .../dlab/backendapi/service/TagServiceImpl.java    |   41 -
 .../dlab/backendapi/service/UserGroupService.java  |   37 -
 .../dlab/backendapi/service/UserRoleService.java   |   34 -
 .../backendapi/service/UserRoleServiceImpl.java    |   63 -
 .../backendapi/service/UserSettingService.java     |   35 -
 .../backendapi/service/UserSettingServiceImpl.java |   48 -
 .../service/impl/AccessKeyServiceImpl.java         |   59 -
 .../backendapi/service/impl/AuditServiceImpl.java  |   63 -
 .../backendapi/service/impl/BackupServiceImpl.java |   69 -
 .../service/impl/BillingServiceImpl.java           |  383 ------
 .../backendapi/service/impl/BucketServiceImpl.java |  175 ---
 .../service/impl/ComputationalServiceImpl.java     |  396 ------
 .../service/impl/EndpointServiceImpl.java          |  193 ---
 .../service/impl/EnvironmentServiceImpl.java       |  233 ----
 .../service/impl/ExploratoryServiceImpl.java       |  467 -------
 .../service/impl/GitCredentialServiceImpl.java     |  119 --
 .../service/impl/GuacamoleServiceImpl.java         |   91 --
 .../service/impl/ImageExploratoryServiceImpl.java  |  177 ---
 .../service/impl/InactivityServiceImpl.java        |  111 --
 .../impl/InfrastructureInfoServiceImpl.java        |  193 ---
 .../impl/InfrastructureTemplateServiceImpl.java    |  246 ----
 .../service/impl/LibraryServiceImpl.java           |  311 -----
 .../service/impl/MavenCentralLibraryService.java   |   88 --
 .../service/impl/ProjectServiceImpl.java           |  386 ------
 .../service/impl/ReuploadKeyServiceImpl.java       |   96 --
 .../service/impl/SchedulerJobServiceImpl.java      |  514 --------
 .../service/impl/SystemInfoServiceImpl.java        |  100 --
 .../service/impl/UserGroupServiceImpl.java         |  228 ----
 .../servlet/guacamole/GuacamoleServlet.java        |   97 --
 .../epam/dlab/backendapi/util/BillingUtils.java    |  250 ----
 .../epam/dlab/backendapi/util/CSVFormatter.java    |   67 -
 .../epam/dlab/backendapi/util/DateRemoverUtil.java |   40 -
 .../epam/dlab/backendapi/util/KeycloakUtil.java    |   41 -
 .../epam/dlab/backendapi/util/RequestBuilder.java  |  653 ----------
 .../validation/MavenLibraryNameValidator.java      |   41 -
 .../validation/SchedulerJobDTOValidator.java       |   47 -
 .../validation/annotation/LibNameValid.java        |   42 -
 .../annotation/SchedulerJobDTOValid.java           |   42 -
 .../src/main/resources/mongo/aws/mongo_roles.json  |   18 +-
 .../main/resources/mongo/azure/mongo_roles.json    |   12 +-
 .../src/main/resources/mongo/gcp/mongo_roles.json  |   20 +-
 .../src/main/resources/quartz.properties           |    2 +-
 .../src/main/resources/webapp/angular.json         |    4 +-
 .../backup-dilog/backup-dilog.component.ts         |    2 +-
 .../manage-environment-dilog.component.html        |    2 +-
 .../manage-environment-dilog.component.ts          |    2 +-
 .../management-grid/management-grid.component.html |    4 +-
 .../management-grid/management-grid.component.ts   |    4 +-
 .../management/management.component.html           |    2 +-
 .../ssn-monitor/ssn-monitor.component.ts           |    2 +-
 .../administration/project/project.component.ts    |    2 +-
 .../app/administration/roles/roles.component.ts    |    2 +-
 .../src/app/core/services/progress-bar.service.ts  |    2 +-
 .../accessnotebookguide.component.html             |   15 +-
 .../publickeyguide/publickeyguide.component.html   |    2 +-
 .../webapp/src/app/layout/layout.component.html    |    2 +-
 .../webapp/src/app/layout/layout.component.ts      |    2 +-
 .../webapp/src/app/login/login.component.css       |    5 +-
 .../webapp/src/app/login/login.component.html      |    2 +-
 .../webapp/src/app/login/login.component.ts        |    2 +-
 .../audit/audit-grid/audit-grid.component.ts       |    2 +-
 .../src/app/reports/audit/audit.component.ts       |   14 +-
 .../reporting-grid/reporting-grid.component.html   |   12 +-
 .../reporting-grid/reporting-grid.component.ts     |    2 +-
 .../app/reports/reporting/reporting.component.ts   |   28 +-
 .../reports/reporting/toolbar/toolbar.component.ts |    2 +-
 .../bucket-browser/bucket-browser.component.html   |   28 +-
 .../bucket-browser/bucket-browser.component.ts     |    2 +-
 .../buckets-tree/bucket-tree.component.ts          |    2 +-
 .../folder-tree/folder-tree.component.ts           |    2 +-
 .../cluster-details/cluster-details.component.html |   97 +-
 .../cluster-details/cluster-details.component.ts   |    4 +-
 ...utational-resource-create-dialog.component.html |  145 ++-
 ...mputational-resource-create-dialog.component.ts |   14 +-
 .../computational-resource-create.model.ts         |    4 +-
 .../computational-resources-list.component.html    |   14 +-
 .../ami-create-dialog.component.ts                 |    2 +-
 .../create-environment.component.html              |   32 +-
 .../detail-dialog/detail-dialog.component.html     |   40 +-
 .../install-libraries.component.html               |    2 +-
 .../manage-ungit/manage-ungit.component.ts         |    2 +-
 .../resources-grid/resources-grid.component.html   |   44 +-
 .../src/app/resources/resources.component.ts       |    2 +-
 .../resources/scheduler/scheduler.component.html   |  169 +--
 .../app/resources/scheduler/scheduler.component.ts |    4 +-
 .../access-denied/access-denied.component.ts       |    2 +-
 .../confirmation-dialog.component.html             |   15 +-
 .../confirmation-dialog.component.ts               |    2 +-
 .../src/app/shared/navbar/navbar.component.html    |    2 +-
 .../src/app/shared/navbar/navbar.component.scss    |    2 +-
 .../src/app/shared/navbar/navbar.component.ts      |   30 +-
 .../shared/time-picker/time-picker.component.ts    |    2 +-
 .../webapp/src/app/swagger/swagger.component.ts    |    2 +-
 .../src/app/webterminal/webterminal.component.ts   |    4 +-
 .../src/main/resources/webapp/src/assets/data.json |    4 +-
 .../resources/webapp/src/assets/endpoint-api.json  |    4 +-
 .../webapp/src/assets/styles/app-loading.scss      |  151 +--
 .../webapp/src/assets/svg/datalab-logo.svg         |   12 +
 .../main/resources/webapp/src/assets/svg/logo.svg  |    8 +
 .../webapp/src/dictionary/aws.dictionary.ts        |    8 +-
 .../webapp/src/dictionary/azure.dictionary.ts      |    6 +-
 .../webapp/src/dictionary/gcp.dictionary.ts        |   10 +-
 .../webapp/src/dictionary/global.dictionary.ts     |    4 +-
 .../src/main/resources/webapp/src/favicon.ico      |  Bin 4286 -> 1414 bytes
 .../src/main/resources/webapp/src/index.html       |   38 +-
 .../com/epam/{dlab => datalab}/backendapi/.gitkeep |    0
 .../backendapi/domain/ExploratoryLibListTest.java  |   67 +
 .../resources/ApplicationSettingResourceTest.java  |  105 ++
 .../backendapi/resources/AuditResourceTest.java    |   88 ++
 .../backendapi/resources/BackupResourceTest.java   |  228 ++++
 .../resources/EnvironmentResourceTest.java         |  291 +++++
 .../resources/ExploratoryResourceTest.java         |  325 +++++
 .../backendapi/resources/GitCredsResourceTest.java |  180 +++
 .../resources/ImageExploratoryResourceTest.java    |  282 ++++
 .../resources/InfrastructureInfoResourceTest.java  |  205 +++
 .../InfrastructureTemplateResourceTest.java        |  182 +++
 .../backendapi/resources/KeycloakResourceTest.java |   70 +
 .../resources/LibExploratoryResourceTest.java      |  443 +++++++
 .../backendapi/resources/ProjectResourceTest.java  |  292 +++++
 .../resources/SchedulerJobResourceTest.java        |  341 +++++
 .../resources/SystemInfoResourceTest.java          |  101 ++
 .../datalab/backendapi/resources/TestBase.java     |   92 ++
 .../resources/UserGroupResourceTest.java           |  186 +++
 .../backendapi/resources/UserRoleResourceTest.java |  105 ++
 .../resources/UserSettingsResourceTest.java        |  166 +++
 .../datalab/backendapi/roles/UserRolesTest.java    |   88 ++
 .../CheckApplicationQuoteSchedulerTest.java        |   69 +
 .../schedulers/CheckUserQuoteSchedulerTest.java    |   81 ++
 .../service/ApplicationSettingServiceImplTest.java |   74 ++
 .../service/KeycloakServiceImplTest.java           |  108 ++
 .../backendapi/service/ProjectServiceImplTest.java |  426 ++++++
 .../service/SecurityServiceImplTest.java           |  134 ++
 .../backendapi/service/TagServiceImplTest.java     |   70 +
 .../service/UserRoleServiceImplTest.java           |   91 ++
 .../service/UserSettingServiceImplTest.java        |   89 ++
 .../service/impl/AccessKeyServiceImplTest.java     |   66 +
 .../service/impl/AuditServiceImplTest.java         |  106 ++
 .../service/impl/BackupServiceImplTest.java        |  151 +++
 .../service/impl/BillingServiceImplTest.java       |  739 +++++++++++
 .../service/impl/BucketServiceImplTest.java        |  264 ++++
 .../service/impl/ComputationalServiceImplTest.java |  784 +++++++++++
 .../service/impl/EndpointServiceImplTest.java      |  310 +++++
 .../service/impl/EnvironmentServiceImplTest.java   |  369 ++++++
 .../service/impl/ExploratoryServiceImplTest.java   |  549 ++++++++
 .../service/impl/GitCredentialServiceImplTest.java |  182 +++
 .../impl/ImageExploratoryServiceImplTest.java      |  352 +++++
 .../impl/InfrastructureInfoServiceImplTest.java    |  387 ++++++
 .../InfrastructureTemplateServiceBaseTest.java     |  226 ++++
 .../service/impl/LibraryServiceImplTest.java       |  490 +++++++
 .../impl/MavenCentralLibraryServiceTest.java       |   92 ++
 .../service/impl/ReuploadKeyServiceImplTest.java   |  183 +++
 .../service/impl/SchedulerJobServiceImplTest.java  | 1125 ++++++++++++++++
 .../service/impl/SystemInfoServiceImplTest.java    |   99 ++
 .../service/impl/UserGroupServiceImplTest.java     |  182 +++
 .../datalab/backendapi/util/CSVFormatterTest.java  |   46 +
 .../backendapi/util/DateRemoverUtilTest.java       |   44 +
 .../backendapi/domain/ExploratoryLibListTest.java  |   67 -
 .../resources/ApplicationSettingResourceTest.java  |  102 --
 .../backendapi/resources/AuditResourceTest.java    |   88 --
 .../backendapi/resources/BackupResourceTest.java   |  223 ----
 .../resources/EnvironmentResourceTest.java         |  291 -----
 .../resources/ExploratoryResourceTest.java         |  325 -----
 .../backendapi/resources/GitCredsResourceTest.java |  174 ---
 .../resources/ImageExploratoryResourceTest.java    |  281 ----
 .../resources/InfrastructureInfoResourceTest.java  |  205 ---
 .../InfrastructureTemplateResourceTest.java        |  177 ---
 .../backendapi/resources/KeycloakResourceTest.java |   70 -
 .../resources/LibExploratoryResourceTest.java      |  443 -------
 .../backendapi/resources/ProjectResourceTest.java  |  292 -----
 .../resources/SchedulerJobResourceTest.java        |  341 -----
 .../resources/SystemInfoResourceTest.java          |   97 --
 .../epam/dlab/backendapi/resources/TestBase.java   |   92 --
 .../resources/UserGroupResourceTest.java           |  186 ---
 .../backendapi/resources/UserRoleResourceTest.java |  105 --
 .../resources/UserSettingsResourceTest.java        |  159 ---
 .../epam/dlab/backendapi/roles/UserRolesTest.java  |   88 --
 .../CheckApplicationQuoteSchedulerTest.java        |   66 -
 .../schedulers/CheckUserQuoteSchedulerTest.java    |   77 --
 .../service/ApplicationSettingServiceImplTest.java |   72 --
 .../service/KeycloakServiceImplTest.java           |  108 --
 .../backendapi/service/ProjectServiceImplTest.java |  426 ------
 .../service/SecurityServiceImplTest.java           |  134 --
 .../backendapi/service/TagServiceImplTest.java     |   70 -
 .../service/UserRoleServiceImplTest.java           |   91 --
 .../service/UserSettingServiceImplTest.java        |   86 --
 .../service/impl/AccessKeyServiceImplTest.java     |   66 -
 .../service/impl/AuditServiceImplTest.java         |  106 --
 .../service/impl/BackupServiceImplTest.java        |  151 ---
 .../service/impl/BillingServiceImplTest.java       |  739 -----------
 .../service/impl/BucketServiceImplTest.java        |  264 ----
 .../service/impl/ComputationalServiceImplTest.java |  784 -----------
 .../service/impl/EndpointServiceImplTest.java      |  310 -----
 .../service/impl/EnvironmentServiceImplTest.java   |  369 ------
 .../service/impl/ExploratoryServiceImplTest.java   |  549 --------
 .../service/impl/GitCredentialServiceImplTest.java |  175 ---
 .../impl/ImageExploratoryServiceImplTest.java      |  352 -----
 .../impl/InfrastructureInfoServiceImplTest.java    |  387 ------
 .../InfrastructureTemplateServiceBaseTest.java     |  226 ----
 .../service/impl/LibraryServiceImplTest.java       |  490 -------
 .../impl/MavenCentralLibraryServiceTest.java       |   90 --
 .../service/impl/ReuploadKeyServiceImplTest.java   |  183 ---
 .../service/impl/SchedulerJobServiceImplTest.java  | 1125 ----------------
 .../service/impl/SystemInfoServiceImplTest.java    |   96 --
 .../service/impl/UserGroupServiceImplTest.java     |  182 ---
 .../dlab/backendapi/util/CSVFormatterTest.java     |   46 -
 .../dlab/backendapi/util/DateRemoverUtilTest.java  |   44 -
 2243 files changed, 81973 insertions(+), 81181 deletions(-)
 rename doc/{dlab_aws.png => datalab_aws.png} (100%)
 rename doc/{dlab_azure.png => datalab_azure.png} (100%)
 rename doc/{dlab_gcp.png => datalab_gcp.png} (100%)
 create mode 100644 infrastructure-provisioning/scripts/deploy_datalab.py
 delete mode 100644 infrastructure-provisioning/scripts/deploy_dlab.py
 create mode 100644 infrastructure-provisioning/src/general/conf/datalab.ini
 delete mode 100644 infrastructure-provisioning/src/general/conf/dlab.ini
 rename infrastructure-provisioning/terraform/{gcp/ssn-gke/main/modules/helm_charts/dlab-ui-chart => aws/ssn-helm-charts/main/datalab-billing-chart}/.helmignore (100%)
 create mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/datalab-billing-chart/Chart.yaml
 create mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/datalab-billing-chart/templates/NOTES.txt
 create mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/datalab-billing-chart/templates/_helpers.tpl
 create mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/datalab-billing-chart/templates/configmap-billing-conf.yaml
 create mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/datalab-billing-chart/templates/deployment.yaml
 create mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/datalab-billing-chart/templates/service.yaml
 create mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/datalab-billing-chart/values.yaml
 create mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/datalab-billing.tf
 rename infrastructure-provisioning/terraform/{gcp/ssn-gke/main/modules/helm_charts/dlab-billing-chart => aws/ssn-helm-charts/main/datalab-ui-chart}/.helmignore (100%)
 create mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/datalab-ui-chart/Chart.yaml
 create mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/datalab-ui-chart/templates/NOTES.txt
 create mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/datalab-ui-chart/templates/_helpers.tpl
 create mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/datalab-ui-chart/templates/cert.yaml
 create mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/datalab-ui-chart/templates/configmap-ui-conf.yaml
 create mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/datalab-ui-chart/templates/deployment.yaml
 create mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/datalab-ui-chart/templates/ingress.yaml
 create mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/datalab-ui-chart/templates/service.yaml
 create mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/datalab-ui-chart/values.yaml
 create mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/datalab-ui.tf
 delete mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/dlab-billing-chart/Chart.yaml
 delete mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/dlab-billing-chart/templates/NOTES.txt
 delete mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/dlab-billing-chart/templates/_helpers.tpl
 delete mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/dlab-billing-chart/templates/configmap-billing-conf.yaml
 delete mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/dlab-billing-chart/templates/deployment.yaml
 delete mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/dlab-billing-chart/templates/service.yaml
 delete mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/dlab-billing-chart/values.yaml
 delete mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/dlab-billing.tf
 delete mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/dlab-ui-chart/Chart.yaml
 delete mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/dlab-ui-chart/templates/NOTES.txt
 delete mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/dlab-ui-chart/templates/_helpers.tpl
 delete mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/dlab-ui-chart/templates/cert.yaml
 delete mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/dlab-ui-chart/templates/configmap-ui-conf.yaml
 delete mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/dlab-ui-chart/templates/deployment.yaml
 delete mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/dlab-ui-chart/templates/ingress.yaml
 delete mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/dlab-ui-chart/templates/service.yaml
 delete mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/dlab-ui-chart/values.yaml
 delete mode 100644 infrastructure-provisioning/terraform/aws/ssn-helm-charts/main/dlab-ui.tf
 create mode 100644 infrastructure-provisioning/terraform/bin/datalab.py
 delete mode 100644 infrastructure-provisioning/terraform/bin/dlab.py
 rename infrastructure-provisioning/terraform/{aws/ssn-helm-charts/main/dlab-ui-chart => gcp/ssn-gke/main/modules/helm_charts/datalab-billing-chart}/.helmignore (100%)
 create mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/datalab-billing-chart/Chart.yaml
 create mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/datalab-billing-chart/templates/NOTES.txt
 create mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/datalab-billing-chart/templates/_helpers.tpl
 create mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/datalab-billing-chart/templates/configmap-billing-conf.yaml
 create mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/datalab-billing-chart/templates/deployment.yaml
 create mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/datalab-billing-chart/templates/service.yaml
 create mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/datalab-billing-chart/values.yaml
 create mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/datalab-billing.tf
 rename infrastructure-provisioning/terraform/{aws/ssn-helm-charts/main/dlab-billing-chart => gcp/ssn-gke/main/modules/helm_charts/datalab-ui-chart}/.helmignore (100%)
 create mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/datalab-ui-chart/Chart.yaml
 create mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/datalab-ui-chart/templates/NOTES.txt
 create mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/datalab-ui-chart/templates/_helpers.tpl
 create mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/datalab-ui-chart/templates/cert.yaml
 create mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/datalab-ui-chart/templates/configmap-ui-conf.yaml
 create mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/datalab-ui-chart/templates/deployment.yaml
 create mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/datalab-ui-chart/templates/ingress.yaml
 create mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/datalab-ui-chart/templates/service.yaml
 create mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/datalab-ui-chart/values.yaml
 create mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/datalab-ui.tf
 delete mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/dlab-billing-chart/Chart.yaml
 delete mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/dlab-billing-chart/templates/NOTES.txt
 delete mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/dlab-billing-chart/templates/_helpers.tpl
 delete mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/dlab-billing-chart/templates/configmap-billing-conf.yaml
 delete mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/dlab-billing-chart/templates/deployment.yaml
 delete mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/dlab-billing-chart/templates/service.yaml
 delete mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/dlab-billing-chart/values.yaml
 delete mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/dlab-billing.tf
 delete mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/dlab-ui-chart/Chart.yaml
 delete mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/dlab-ui-chart/templates/NOTES.txt
 delete mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/dlab-ui-chart/templates/_helpers.tpl
 delete mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/dlab-ui-chart/templates/cert.yaml
 delete mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/dlab-ui-chart/templates/configmap-ui-conf.yaml
 delete mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/dlab-ui-chart/templates/deployment.yaml
 delete mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/dlab-ui-chart/templates/ingress.yaml
 delete mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/dlab-ui-chart/templates/service.yaml
 delete mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/dlab-ui-chart/values.yaml
 delete mode 100644 infrastructure-provisioning/terraform/gcp/ssn-gke/main/modules/helm_charts/dlab-ui.tf
 create mode 100644 integration-tests-cucumber/src/main/java/org/apache/datalab/dto/EndpointDTO.java
 create mode 100644 integration-tests-cucumber/src/main/java/org/apache/datalab/mongo/MongoDBHelper.java
 create mode 100644 integration-tests-cucumber/src/main/java/org/apache/datalab/util/JacksonMapper.java
 create mode 100644 integration-tests-cucumber/src/main/java/org/apache/datalab/util/PropertyHelper.java
 delete mode 100644 integration-tests-cucumber/src/main/java/org/apache/dlab/dto/EndpointDTO.java
 delete mode 100644 integration-tests-cucumber/src/main/java/org/apache/dlab/mongo/MongoDBHelper.java
 delete mode 100644 integration-tests-cucumber/src/main/java/org/apache/dlab/util/JacksonMapper.java
 delete mode 100644 integration-tests-cucumber/src/main/java/org/apache/dlab/util/PropertyHelper.java
 create mode 100644 integration-tests-cucumber/src/test/java/datalab/Constants.java
 create mode 100644 integration-tests-cucumber/src/test/java/datalab/RunCucumberTest.java
 create mode 100644 integration-tests-cucumber/src/test/java/datalab/endpoint/EndpointSteps.java
 create mode 100644 integration-tests-cucumber/src/test/java/datalab/login/LoginSteps.java
 delete mode 100644 integration-tests-cucumber/src/test/java/dlab/Constants.java
 delete mode 100644 integration-tests-cucumber/src/test/java/dlab/RunCucumberTest.java
 delete mode 100644 integration-tests-cucumber/src/test/java/dlab/endpoint/EndpointSteps.java
 delete mode 100644 integration-tests-cucumber/src/test/java/dlab/login/LoginSteps.java
 create mode 100644 integration-tests-cucumber/src/test/resources/datalab/endpoint.feature
 create mode 100644 integration-tests-cucumber/src/test/resources/datalab/login.feature
 delete mode 100644 integration-tests-cucumber/src/test/resources/dlab/endpoint.feature
 delete mode 100644 integration-tests-cucumber/src/test/resources/dlab/login.feature
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/BillingAwsApplication.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/BillingService.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/BillingServiceImpl.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/BillingTool.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/Help.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/conf/SecurityConfig.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/configuration/BillingToolConfiguration.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/configuration/BillingToolConfigurationFactory.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/configuration/ConfigJsonGenerator.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/configuration/ConfigurationValidator.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/configuration/FreeMarkerConfig.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/configuration/LoggingConfigurationFactory.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/controller/BillingController.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/core/AdapterBase.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/core/BillingUtils.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/core/DBAdapterBase.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/core/FilterBase.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/core/ModuleBase.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/core/ModuleData.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/core/ModuleType.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/core/aggregate/AggregateGranularity.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/core/aggregate/DataAggregator.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/core/aggregate/UsageDataList.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/core/parser/ColumnInfo.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/core/parser/ColumnMeta.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/core/parser/CommonFormat.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/core/parser/ConditionEvaluate.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/core/parser/ParserBase.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/core/parser/ParserByLine.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/core/parser/ParserStatistics.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/logging/AppenderBase.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/logging/AppenderConsole.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/logging/AppenderFile.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/module/AdapterConsole.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/module/AdapterFile.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/module/ModuleName.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/module/ParserCsv.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/module/aws/AdapterS3File.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/module/aws/FilterAWS.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/module/aws/S3FileList.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/mongo/AdapterMongoDb.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/mongo/DatalabResourceTypeDAO.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/mongo/MongoConstants.java
 create mode 100644 services/billing-aws/src/main/java/com/epam/datalab/mongo/MongoDbConnection.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/BillingAwsApplication.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/BillingService.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/BillingServiceImpl.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/BillingTool.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/Help.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/conf/SecurityConfig.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/configuration/BillingToolConfiguration.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/configuration/BillingToolConfigurationFactory.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/configuration/ConfigJsonGenerator.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/configuration/ConfigurationValidator.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/configuration/FreeMarkerConfig.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/configuration/LoggingConfigurationFactory.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/controller/BillingController.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/core/AdapterBase.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/core/BillingUtils.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/core/DBAdapterBase.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/core/FilterBase.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/core/ModuleBase.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/core/ModuleData.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/core/ModuleType.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/core/aggregate/AggregateGranularity.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/core/aggregate/DataAggregator.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/core/aggregate/UsageDataList.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/core/parser/ColumnInfo.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/core/parser/ColumnMeta.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/core/parser/CommonFormat.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/core/parser/ConditionEvaluate.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/core/parser/ParserBase.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/core/parser/ParserByLine.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/core/parser/ParserStatistics.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/logging/AppenderBase.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/logging/AppenderConsole.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/logging/AppenderFile.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/module/AdapterConsole.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/module/AdapterFile.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/module/ModuleName.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/module/ParserCsv.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/module/aws/AdapterS3File.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/module/aws/FilterAWS.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/module/aws/S3FileList.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/mongo/AdapterMongoDb.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/mongo/DlabResourceTypeDAO.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/mongo/MongoConstants.java
 delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/mongo/MongoDbConnection.java
 create mode 100644 services/billing-aws/src/main/resources/com.epam.datalab.configuration.BillingToolConfigurationFactory
 delete mode 100644 services/billing-aws/src/main/resources/com.epam.dlab.configuration.BillingToolConfigurationFactory
 create mode 100644 services/billing-aws/src/test/java/com/epam/datalab/configuration/BillingToolConfigurationTest.java
 create mode 100644 services/billing-aws/src/test/java/com/epam/datalab/configuration/ConfigJsonGeneratorTest.java
 create mode 100644 services/billing-aws/src/test/java/com/epam/datalab/configuration/ConfigurationValidatorTest.java
 create mode 100644 services/billing-aws/src/test/java/com/epam/datalab/configuration/LoggingConfigurationFactoryTest.java
 create mode 100644 services/billing-aws/src/test/java/com/epam/datalab/core/BillingUtilsTest.java
 create mode 100644 services/billing-aws/src/test/java/com/epam/datalab/core/aggregate/DataAggregatorTest.java
 create mode 100644 services/billing-aws/src/test/java/com/epam/datalab/core/aggregate/UsageDataListTest.java
 create mode 100644 services/billing-aws/src/test/java/com/epam/datalab/core/parser/BillingResourceTypeTest.java
 create mode 100644 services/billing-aws/src/test/java/com/epam/datalab/core/parser/ColumnInfoTest.java
 create mode 100644 services/billing-aws/src/test/java/com/epam/datalab/core/parser/ColumnMetaTest.java
 create mode 100644 services/billing-aws/src/test/java/com/epam/datalab/core/parser/CommonFormatTest.java
 create mode 100644 services/billing-aws/src/test/java/com/epam/datalab/core/parser/ConditionEvaluateTest.java
 create mode 100644 services/billing-aws/src/test/java/com/epam/datalab/core/parser/ReportLineTest.java
 create mode 100644 services/billing-aws/src/test/java/com/epam/datalab/logging/AppenderConsoleTest.java
 create mode 100644 services/billing-aws/src/test/java/com/epam/datalab/logging/AppenderFileTest.java
 create mode 100644 services/billing-aws/src/test/java/com/epam/datalab/module/AdapterConsoleTest.java
 create mode 100644 services/billing-aws/src/test/java/com/epam/datalab/module/AdapterFileTest.java
 create mode 100644 services/billing-aws/src/test/java/com/epam/datalab/module/AdapterMongoDBTest.java
 create mode 100644 services/billing-aws/src/test/java/com/epam/datalab/module/ParserCsvTest.java
 create mode 100644 services/billing-aws/src/test/java/com/epam/datalab/module/aws/AdapterS3FileTest.java
 create mode 100644 services/billing-aws/src/test/java/com/epam/datalab/module/aws/FilterAWSTest.java
 create mode 100644 services/billing-aws/src/test/java/com/epam/datalab/module/aws/S3FileListTest.java
 delete mode 100644 services/billing-aws/src/test/java/com/epam/dlab/configuration/BillingToolConfigurationTest.java
 delete mode 100644 services/billing-aws/src/test/java/com/epam/dlab/configuration/ConfigJsonGeneratorTest.java
 delete mode 100644 services/billing-aws/src/test/java/com/epam/dlab/configuration/ConfigurationValidatorTest.java
 delete mode 100644 services/billing-aws/src/test/java/com/epam/dlab/configuration/LoggingConfigurationFactoryTest.java
 delete mode 100644 services/billing-aws/src/test/java/com/epam/dlab/core/BillingUtilsTest.java
 delete mode 100644 services/billing-aws/src/test/java/com/epam/dlab/core/aggregate/DataAggregatorTest.java
 delete mode 100644 services/billing-aws/src/test/java/com/epam/dlab/core/aggregate/UsageDataListTest.java
 delete mode 100644 services/billing-aws/src/test/java/com/epam/dlab/core/parser/BillingResourceTypeTest.java
 delete mode 100644 services/billing-aws/src/test/java/com/epam/dlab/core/parser/ColumnInfoTest.java
 delete mode 100644 services/billing-aws/src/test/java/com/epam/dlab/core/parser/ColumnMetaTest.java
 delete mode 100644 services/billing-aws/src/test/java/com/epam/dlab/core/parser/CommonFormatTest.java
 delete mode 100644 services/billing-aws/src/test/java/com/epam/dlab/core/parser/ConditionEvaluateTest.java
 delete mode 100644 services/billing-aws/src/test/java/com/epam/dlab/core/parser/ReportLineTest.java
 delete mode 100644 services/billing-aws/src/test/java/com/epam/dlab/logging/AppenderConsoleTest.java
 delete mode 100644 services/billing-aws/src/test/java/com/epam/dlab/logging/AppenderFileTest.java
 delete mode 100644 services/billing-aws/src/test/java/com/epam/dlab/module/AdapterConsoleTest.java
 delete mode 100644 services/billing-aws/src/test/java/com/epam/dlab/module/AdapterFileTest.java
 delete mode 100644 services/billing-aws/src/test/java/com/epam/dlab/module/AdapterMongoDBTest.java
 delete mode 100644 services/billing-aws/src/test/java/com/epam/dlab/module/ParserCsvTest.java
 delete mode 100644 services/billing-aws/src/test/java/com/epam/dlab/module/aws/AdapterS3FileTest.java
 delete mode 100644 services/billing-aws/src/test/java/com/epam/dlab/module/aws/FilterAWSTest.java
 delete mode 100644 services/billing-aws/src/test/java/com/epam/dlab/module/aws/S3FileListTest.java
 create mode 100644 services/billing-azure/src/main/java/com/epam/datalab/billing/azure/AzureInvoiceCalculationService.java
 create mode 100644 services/billing-azure/src/main/java/com/epam/datalab/billing/azure/BillingAzureApplication.java
 create mode 100644 services/billing-azure/src/main/java/com/epam/datalab/billing/azure/CalculateBillingService.java
 create mode 100644 services/billing-azure/src/main/java/com/epam/datalab/billing/azure/CalculateBillingServiceImpl.java
 create mode 100644 services/billing-azure/src/main/java/com/epam/datalab/billing/azure/MongoDbBillingClient.java
 create mode 100644 services/billing-azure/src/main/java/com/epam/datalab/billing/azure/MongoDocument.java
 create mode 100644 services/billing-azure/src/main/java/com/epam/datalab/billing/azure/config/AggregationOutputMongoDataSource.java
 create mode 100644 services/billing-azure/src/main/java/com/epam/datalab/billing/azure/config/BillingConfigurationAzure.java
 create mode 100644 services/billing-azure/src/main/java/com/epam/datalab/billing/azure/config/LoggingConfigurationFactory.java
 create mode 100644 services/billing-azure/src/main/java/com/epam/datalab/billing/azure/config/SecurityConfig.java
 create mode 100644 services/billing-azure/src/main/java/com/epam/datalab/billing/azure/controller/BillingController.java
 create mode 100644 services/billing-azure/src/main/java/com/epam/datalab/billing/azure/logging/AppenderBase.java
 create mode 100644 services/billing-azure/src/main/java/com/epam/datalab/billing/azure/logging/AppenderConsole.java
 create mode 100644 services/billing-azure/src/main/java/com/epam/datalab/billing/azure/logging/AppenderFile.java
 create mode 100644 services/billing-azure/src/main/java/com/epam/datalab/billing/azure/model/AzureDailyResourceInvoice.java
 create mode 100644 services/billing-azure/src/main/java/com/epam/datalab/billing/azure/model/AzureDatalabBillableResource.java
 create mode 100644 services/billing-azure/src/main/java/com/epam/datalab/billing/azure/model/BillingPeriod.java
 create mode 100644 services/billing-azure/src/main/java/com/epam/datalab/billing/azure/rate/AzureRateCardClient.java
 create mode 100644 services/billing-azure/src/main/java/com/epam/datalab/billing/azure/rate/Meter.java
 create mode 100644 services/billing-azure/src/main/java/com/epam/datalab/billing/azure/rate/RateCardResponse.java
 create mode 100644 services/billing-azure/src/main/java/com/epam/datalab/billing/azure/usage/AzureUsageAggregateClient.java
 create mode 100644 services/billing-azure/src/main/java/com/epam/datalab/billing/azure/usage/InstanceData.java
 create mode 100644 services/billing-azure/src/main/java/com/epam/datalab/billing/azure/usage/MicrosoftResources.java
 create mode 100644 services/billing-azure/src/main/java/com/epam/datalab/billing/azure/usage/UsageAggregateRecord.java
 create mode 100644 services/billing-azure/src/main/java/com/epam/datalab/billing/azure/usage/UsageAggregateRecordProperties.java
 create mode 100644 services/billing-azure/src/main/java/com/epam/datalab/billing/azure/usage/UsageAggregateResponse.java
 delete mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/AzureInvoiceCalculationService.java
 delete mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/BillingAzureApplication.java
 delete mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/CalculateBillingService.java
 delete mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/CalculateBillingServiceImpl.java
 delete mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/MongoDbBillingClient.java
 delete mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/MongoDocument.java
 delete mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/config/AggregationOutputMongoDataSource.java
 delete mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/config/BillingConfigurationAzure.java
 delete mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/config/LoggingConfigurationFactory.java
 delete mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/config/SecurityConfig.java
 delete mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/controller/BillingController.java
 delete mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/logging/AppenderBase.java
 delete mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/logging/AppenderConsole.java
 delete mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/logging/AppenderFile.java
 delete mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/model/AzureDailyResourceInvoice.java
 delete mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/model/AzureDlabBillableResource.java
 delete mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/model/BillingPeriod.java
 delete mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/rate/AzureRateCardClient.java
 delete mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/rate/Meter.java
 delete mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/rate/RateCardResponse.java
 delete mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/usage/AzureUsageAggregateClient.java
 delete mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/usage/InstanceData.java
 delete mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/usage/MicrosoftResources.java
 delete mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/usage/UsageAggregateRecord.java
 delete mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/usage/UsageAggregateRecordProperties.java
 delete mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/usage/UsageAggregateResponse.java
 create mode 100644 services/billing-gcp/src/main/java/com/epam/datalab/billing/gcp/BillingGcpApplication.java
 create mode 100644 services/billing-gcp/src/main/java/com/epam/datalab/billing/gcp/conf/BillingApplicationConfiguration.java
 create mode 100644 services/billing-gcp/src/main/java/com/epam/datalab/billing/gcp/conf/DatalabConfiguration.java
 create mode 100644 services/billing-gcp/src/main/java/com/epam/datalab/billing/gcp/conf/SecurityConfig.java
 create mode 100644 services/billing-gcp/src/main/java/com/epam/datalab/billing/gcp/controller/BillingController.java
 create mode 100644 services/billing-gcp/src/main/java/com/epam/datalab/billing/gcp/dao/BillingDAO.java
 create mode 100644 services/billing-gcp/src/main/java/com/epam/datalab/billing/gcp/dao/impl/BigQueryBillingDAO.java
 create mode 100644 services/billing-gcp/src/main/java/com/epam/datalab/billing/gcp/model/BillingHistory.java
 create mode 100644 services/billing-gcp/src/main/java/com/epam/datalab/billing/gcp/repository/BillingHistoryRepository.java
 create mode 100644 services/billing-gcp/src/main/java/com/epam/datalab/billing/gcp/service/BillingService.java
 create mode 100644 services/billing-gcp/src/main/java/com/epam/datalab/billing/gcp/service/impl/BillingServiceImpl.java
 delete mode 100644 services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/BillingGcpApplication.java
 delete mode 100644 services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/conf/BillingApplicationConfiguration.java
 delete mode 100644 services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/conf/DlabConfiguration.java
 delete mode 100644 services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/conf/SecurityConfig.java
 delete mode 100644 services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/controller/BillingController.java
 delete mode 100644 services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/dao/BillingDAO.java
 delete mode 100644 services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/dao/impl/BigQueryBillingDAO.java
 delete mode 100644 services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/model/BillingHistory.java
 delete mode 100644 services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/model/GcpBillingData.java
 delete mode 100644 services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/repository/BillingHistoryRepository.java
 delete mode 100644 services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/repository/BillingRepository.java
 delete mode 100644 services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/service/BillingService.java
 delete mode 100644 services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/service/impl/BillingServiceImpl.java
 create mode 100644 services/common/src/main/java/com/epam/datalab/billing/BillingCalculationUtils.java
 create mode 100644 services/common/src/main/java/com/epam/datalab/billing/DatalabResourceType.java
 create mode 100644 services/common/src/main/java/com/epam/datalab/exceptions/AdapterException.java
 create mode 100644 services/common/src/main/java/com/epam/datalab/exceptions/DatalabAuthenticationException.java
 create mode 100644 services/common/src/main/java/com/epam/datalab/exceptions/DatalabException.java
 create mode 100644 services/common/src/main/java/com/epam/datalab/exceptions/DatalabValidationException.java
 create mode 100644 services/common/src/main/java/com/epam/datalab/exceptions/GenericException.java
 create mode 100644 services/common/src/main/java/com/epam/datalab/exceptions/InitializationException.java
 create mode 100644 services/common/src/main/java/com/epam/datalab/exceptions/ParseException.java
 create mode 100644 services/common/src/main/java/com/epam/datalab/exceptions/ResourceAlreadyExistException.java
 create mode 100644 services/common/src/main/java/com/epam/datalab/exceptions/ResourceConflictException.java
 create mode 100644 services/common/src/main/java/com/epam/datalab/exceptions/ResourceInappropriateStateException.java
 create mode 100644 services/common/src/main/java/com/epam/datalab/exceptions/ResourceNotFoundException.java
 create mode 100644 services/common/src/main/java/com/epam/datalab/exceptions/ResourceQuoteReachedException.java
 delete mode 100644 services/common/src/main/java/com/epam/dlab/billing/BillingCalculationUtils.java
 delete mode 100644 services/common/src/main/java/com/epam/dlab/billing/DlabResourceType.java
 delete mode 100644 services/common/src/main/java/com/epam/dlab/exceptions/AdapterException.java
 delete mode 100644 services/common/src/main/java/com/epam/dlab/exceptions/DlabAuthenticationException.java
 delete mode 100644 services/common/src/main/java/com/epam/dlab/exceptions/DlabException.java
 delete mode 100644 services/common/src/main/java/com/epam/dlab/exceptions/DlabValidationException.java
 delete mode 100644 services/common/src/main/java/com/epam/dlab/exceptions/GenericException.java
 delete mode 100644 services/common/src/main/java/com/epam/dlab/exceptions/InitializationException.java
 delete mode 100644 services/common/src/main/java/com/epam/dlab/exceptions/ParseException.java
 delete mode 100644 services/common/src/main/java/com/epam/dlab/exceptions/ResourceAlreadyExistException.java
 delete mode 100644 services/common/src/main/java/com/epam/dlab/exceptions/ResourceConflictException.java
 delete mode 100644 services/common/src/main/java/com/epam/dlab/exceptions/ResourceInappropriateStateException.java
 delete mode 100644 services/common/src/main/java/com/epam/dlab/exceptions/ResourceNotFoundException.java
 delete mode 100644 services/common/src/main/java/com/epam/dlab/exceptions/ResourceQuoteReachedException.java
 create mode 100644 services/datalab-model/pom.xml
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/MongoKeyWords.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/InfrastructureMetaInfoDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/LibListComputationalDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/LibListExploratoryDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/LibraryGroups.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/ResourceBaseDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/ResourceEnvBaseDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/ResourceSysBaseDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/ResourceURL.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/SchedulerJobDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/StatusBaseDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/StatusEnvBaseDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/UserEnvironmentResources.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/UserInstanceDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/UserInstanceStatus.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/aws/AwsCloudSettings.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/aws/computational/AwsComputationalResource.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/aws/computational/AwsComputationalTerminateDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/aws/computational/ClusterConfig.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/aws/computational/ComputationalConfigAws.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/aws/computational/ComputationalCreateAws.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/aws/computational/SparkComputationalConfigAws.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/aws/computational/SparkComputationalCreateAws.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/aws/edge/EdgeCreateAws.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/aws/edge/EdgeInfoAws.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/aws/exploratory/ExploratoryCreateAws.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/aws/keyload/UploadFileAws.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/azure/AzureCloudSettings.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/azure/auth/AuthorizationCodeFlowResponse.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/azure/computational/SparkComputationalConfigAzure.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/azure/computational/SparkComputationalCreateAzure.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/azure/edge/EdgeCreateAzure.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/azure/edge/EdgeInfoAzure.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/azure/exploratory/ExploratoryActionStartAzure.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/azure/exploratory/ExploratoryActionStopAzure.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/azure/exploratory/ExploratoryCreateAzure.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/azure/keyload/UploadFileAzure.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/backup/EnvBackupDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/backup/EnvBackupStatus.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/backup/EnvBackupStatusDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/base/CloudSettings.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/base/DataEngineType.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/base/computational/ComputationalBase.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/base/computational/FullComputationalTemplate.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/base/edge/EdgeInfo.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/base/keyload/ReuploadFile.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/base/keyload/UploadFile.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/base/keyload/UploadFileResult.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/base/project/ProjectResult.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/billing/BillingData.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/billing/BillingResourceType.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/bucket/BucketDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/bucket/BucketDeleteDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/bucket/FolderUploadDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/computational/CheckInactivityCallbackDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/computational/CheckInactivityStatus.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/computational/CheckInactivityStatusDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/computational/ComputationalCheckInactivityDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/computational/ComputationalClusterConfigDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/computational/ComputationalStartDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/computational/ComputationalStatusDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/computational/ComputationalStopDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/computational/ComputationalTerminateDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/computational/SparkStandaloneClusterResource.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/computational/UserComputationalResource.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/exploratory/ExploratoryActionDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/exploratory/ExploratoryBaseDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/exploratory/ExploratoryCheckInactivityAction.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/exploratory/ExploratoryCreateDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/exploratory/ExploratoryGitCreds.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/exploratory/ExploratoryGitCredsDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/exploratory/ExploratoryGitCredsUpdateDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/exploratory/ExploratoryImageDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/exploratory/ExploratoryReconfigureSparkClusterActionDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/exploratory/ExploratoryStatusDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/exploratory/ImageCreateStatusDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/exploratory/ImageStatus.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/exploratory/LibInstallDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/exploratory/LibInstallStatusDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/exploratory/LibListStatusDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/exploratory/LibStatus.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/exploratory/LibraryInstallDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/gcp/GcpCloudSettings.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/gcp/auth/GcpOauth2AuthorizationCodeResponse.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/gcp/computational/ComputationalCreateGcp.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/gcp/computational/GcpComputationalResource.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/gcp/computational/GcpComputationalTerminateDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/gcp/computational/SparkComputationalCreateGcp.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/gcp/edge/EdgeCreateGcp.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/gcp/edge/EdgeInfoGcp.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/gcp/exploratory/ExploratoryCreateGcp.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/gcp/keyload/UploadFileGcp.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/imagemetadata/ApplicationDto.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/imagemetadata/ComputationalMetadataDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/imagemetadata/ComputationalResourceShapeDto.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/imagemetadata/ExploratoryEnvironmentVersion.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/imagemetadata/ExploratoryMetadataDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/imagemetadata/ImageMetadataDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/imagemetadata/ImageType.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/imagemetadata/TemplateDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/keyload/KeyLoadStatus.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/keyload/UserKeyDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/project/ProjectActionDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/project/ProjectCreateDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/reuploadkey/ReuploadKeyCallbackDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/reuploadkey/ReuploadKeyDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/reuploadkey/ReuploadKeyStatus.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/reuploadkey/ReuploadKeyStatusDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/status/EnvResource.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/status/EnvResourceList.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/dto/status/EnvStatusDTO.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/model/ResourceData.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/model/ResourceEnum.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/model/ResourceType.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/model/StringList.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/model/aws/BillingResourceType.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/model/aws/ReportLine.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/model/azure/AzureAuthFile.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/model/exploratory/Exploratory.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/model/exploratory/Image.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/model/library/Library.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/model/scheduler/SchedulerJobData.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/model/systeminfo/DiskInfo.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/model/systeminfo/MemoryInfo.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/model/systeminfo/OsInfo.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/model/systeminfo/ProcessorInfo.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/util/CloudSettingsDeserializer.java
 create mode 100644 services/datalab-model/src/main/java/com/epam/datalab/util/JsonGenerator.java
 create mode 100644 services/datalab-model/src/test/java/com/epam/datalab/dto/status/EnvResourceDTOTest.java
 create mode 100644 services/datalab-model/src/test/java/com/epam/datalab/dto/status/EnvStatusDTOTest.java
 create mode 100644 services/datalab-model/src/test/java/com/epam/datalab/util/JsonGeneratorTest.java
 create mode 100644 services/datalab-mongo-migration/pom.xml
 create mode 100644 services/datalab-mongo-migration/src/main/java/com/epam/datalab/migration/DbMigration.java
 create mode 100644 services/datalab-mongo-migration/src/main/java/com/epam/datalab/migration/exception/DatalabDbMigrationException.java
 create mode 100644 services/datalab-mongo-migration/src/main/java/com/epam/datalab/migration/mongo/DatalabMongoMigration.java
 create mode 100644 services/datalab-mongo-migration/src/main/java/com/epam/datalab/migration/mongo/changelog/DatalabChangeLog.java
 create mode 100644 services/datalab-utils/pom.xml
 create mode 100644 services/datalab-utils/src/main/java/com/epam/datalab/util/FileUtils.java
 create mode 100644 services/datalab-utils/src/main/java/com/epam/datalab/util/SecurityUtils.java
 create mode 100644 services/datalab-utils/src/main/java/com/epam/datalab/util/ServiceUtils.java
 create mode 100644 services/datalab-utils/src/main/java/com/epam/datalab/util/UsernameUtils.java
 create mode 100644 services/datalab-utils/src/main/java/com/epam/datalab/util/mongo/IsoDateDeSerializer.java
 create mode 100644 services/datalab-utils/src/main/java/com/epam/datalab/util/mongo/IsoDateSerializer.java
 create mode 100644 services/datalab-utils/src/main/java/com/epam/datalab/util/mongo/IsoLocalDateDeSerializer.java
 create mode 100644 services/datalab-utils/src/main/java/com/epam/datalab/util/mongo/IsoLocalDateSerializer.java
 create mode 100644 services/datalab-utils/src/main/java/com/epam/datalab/util/mongo/IsoLocalDateTimeDeSerializer.java
 create mode 100644 services/datalab-utils/src/main/java/com/epam/datalab/util/mongo/IsoLocalDateTimeSerializer.java
 create mode 100644 services/datalab-utils/src/main/java/com/epam/datalab/util/mongo/LongDeSerializer.java
 create mode 100644 services/datalab-utils/src/main/java/com/epam/datalab/util/mongo/MongoStringDeserializer.java
 create mode 100644 services/datalab-utils/src/main/java/com/epam/datalab/util/mongo/MongoStringSerializaer.java
 create mode 100644 services/datalab-utils/src/main/java/com/epam/datalab/util/mongo/modules/IsoDateModule.java
 create mode 100644 services/datalab-utils/src/main/java/com/epam/datalab/util/mongo/modules/JavaPrimitiveModule.java
 create mode 100644 services/datalab-utils/src/main/java/com/epam/datalab/util/mongo/modules/MongoModule.java
 create mode 100644 services/datalab-utils/src/test/java/com/epam/datalab/util/SecurityUtilsTest.java
 create mode 100644 services/datalab-utils/src/test/java/com/epam/datalab/util/mongo/IsoLocalDateTimeDeSerializerTest.java
 create mode 100644 services/datalab-utils/src/test/java/com/epam/datalab/util/mongo/IsoLocalDateTimeSerDeTest.java
 create mode 100644 services/datalab-utils/src/test/java/com/epam/datalab/util/mongo/IsoLocalDateTimeSerializerTest.java
 create mode 100644 services/datalab-webapp-common/pom.xml
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/ModuleBase.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/ServiceConfiguration.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/auth/SecurityUnauthorizedHandler.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/auth/UserInfo.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/auth/contract/SecurityAPI.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/auth/dto/UserCredentialDTO.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/auth/oauth2/Oauth2AuthenticationService.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/auth/rest/AbstractAuthenticationService.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/auth/rest/ConfigurableResource.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/auth/rest/UserSessionDurationAuthorizer.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/auth/rest/UserSessionDurationCallback.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/cloud/CloudModule.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/cloud/CloudProvider.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/constants/ServiceConsts.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/mongo/MongoService.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/mongo/MongoServiceFactory.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/rest/client/RESTService.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/rest/client/RESTServiceFactory.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/rest/contracts/ApiCallbacks.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/rest/contracts/BackupAPI.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/rest/contracts/ComputationalAPI.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/rest/contracts/DockerAPI.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/rest/contracts/ExploratoryAPI.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/rest/contracts/InfrasctructureAPI.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/rest/contracts/KeyAPI.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/rest/dto/ErrorDTO.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/rest/mappers/AuthenticationExceptionMapper.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/rest/mappers/DatalabValidationExceptionMapper.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/rest/mappers/GenericExceptionMapper.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/rest/mappers/JsonProcessingExceptionMapper.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/rest/mappers/ResourceConflictExceptionMapper.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/rest/mappers/ResourceNotFoundExceptionMapper.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/rest/mappers/ResourceQuoteReachedExceptionMapper.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/rest/mappers/RuntimeExceptionMapper.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/rest/mappers/ValidationExceptionMapper.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/validation/AwsValidation.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/validation/AzureValidation.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/validation/CloudConfigurationSequenceProvider.java
 create mode 100644 services/datalab-webapp-common/src/main/java/com/epam/datalab/validation/GcpValidation.java
 delete mode 100644 services/dlab-model/pom.xml
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/MongoKeyWords.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/InfrastructureMetaInfoDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/LibListComputationalDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/LibListExploratoryDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/LibraryGroups.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/ResourceBaseDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/ResourceEnvBaseDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/ResourceSysBaseDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/ResourceURL.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/SchedulerJobDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/StatusBaseDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/StatusEnvBaseDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/UserEnvironmentResources.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/UserInstanceDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/UserInstanceStatus.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/aws/AwsCloudSettings.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/aws/computational/AwsComputationalResource.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/aws/computational/AwsComputationalTerminateDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/aws/computational/ClusterConfig.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/aws/computational/ComputationalConfigAws.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/aws/computational/ComputationalCreateAws.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/aws/computational/SparkComputationalConfigAws.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/aws/computational/SparkComputationalCreateAws.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/aws/edge/EdgeCreateAws.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/aws/edge/EdgeInfoAws.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/aws/exploratory/ExploratoryCreateAws.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/aws/keyload/UploadFileAws.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/azure/AzureCloudSettings.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/azure/auth/AuthorizationCodeFlowResponse.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/azure/computational/SparkComputationalConfigAzure.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/azure/computational/SparkComputationalCreateAzure.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/azure/edge/EdgeCreateAzure.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/azure/edge/EdgeInfoAzure.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/azure/exploratory/ExploratoryActionStartAzure.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/azure/exploratory/ExploratoryActionStopAzure.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/azure/exploratory/ExploratoryCreateAzure.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/azure/keyload/UploadFileAzure.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/backup/EnvBackupDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/backup/EnvBackupStatus.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/backup/EnvBackupStatusDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/base/CloudSettings.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/base/DataEngineType.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/base/computational/ComputationalBase.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/base/computational/FullComputationalTemplate.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/base/edge/EdgeInfo.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/base/keyload/ReuploadFile.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/base/keyload/UploadFile.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/base/keyload/UploadFileResult.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/base/project/ProjectResult.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/billing/BillingData.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/billing/BillingResourceType.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/bucket/BucketDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/bucket/BucketDeleteDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/bucket/FolderUploadDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/computational/CheckInactivityCallbackDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/computational/CheckInactivityStatus.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/computational/CheckInactivityStatusDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/computational/ComputationalCheckInactivityDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/computational/ComputationalClusterConfigDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/computational/ComputationalStartDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/computational/ComputationalStatusDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/computational/ComputationalStopDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/computational/ComputationalTerminateDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/computational/SparkStandaloneClusterResource.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/computational/UserComputationalResource.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/exploratory/ExploratoryActionDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/exploratory/ExploratoryBaseDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/exploratory/ExploratoryCheckInactivityAction.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/exploratory/ExploratoryCreateDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/exploratory/ExploratoryGitCreds.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/exploratory/ExploratoryGitCredsDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/exploratory/ExploratoryGitCredsUpdateDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/exploratory/ExploratoryImageDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/exploratory/ExploratoryReconfigureSparkClusterActionDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/exploratory/ExploratoryStatusDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/exploratory/ImageCreateStatusDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/exploratory/ImageStatus.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/exploratory/LibInstallDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/exploratory/LibInstallStatusDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/exploratory/LibListStatusDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/exploratory/LibStatus.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/exploratory/LibraryInstallDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/gcp/GcpCloudSettings.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/gcp/auth/GcpOauth2AuthorizationCodeResponse.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/gcp/computational/ComputationalCreateGcp.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/gcp/computational/GcpComputationalResource.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/gcp/computational/GcpComputationalTerminateDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/gcp/computational/SparkComputationalCreateGcp.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/gcp/edge/EdgeCreateGcp.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/gcp/edge/EdgeInfoGcp.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/gcp/exploratory/ExploratoryCreateGcp.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/gcp/keyload/UploadFileGcp.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/imagemetadata/ApplicationDto.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/imagemetadata/ComputationalMetadataDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/imagemetadata/ComputationalResourceShapeDto.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/imagemetadata/ExploratoryEnvironmentVersion.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/imagemetadata/ExploratoryMetadataDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/imagemetadata/ImageMetadataDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/imagemetadata/ImageType.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/imagemetadata/TemplateDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/keyload/KeyLoadStatus.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/keyload/UserKeyDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/project/ProjectActionDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/project/ProjectCreateDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/reuploadkey/ReuploadKeyCallbackDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/reuploadkey/ReuploadKeyDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/reuploadkey/ReuploadKeyStatus.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/reuploadkey/ReuploadKeyStatusDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/status/EnvResource.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/status/EnvResourceList.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/dto/status/EnvStatusDTO.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/model/ResourceData.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/model/ResourceEnum.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/model/ResourceType.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/model/StringList.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/model/aws/BillingResourceType.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/model/aws/ReportLine.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/model/azure/AzureAuthFile.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/model/exploratory/Exploratory.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/model/exploratory/Image.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/model/library/Library.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/model/scheduler/SchedulerJobData.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/model/systeminfo/DiskInfo.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/model/systeminfo/MemoryInfo.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/model/systeminfo/OsInfo.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/model/systeminfo/ProcessorInfo.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/util/CloudSettingsDeserializer.java
 delete mode 100644 services/dlab-model/src/main/java/com/epam/dlab/util/JsonGenerator.java
 delete mode 100644 services/dlab-model/src/test/java/com/epam/dlab/dto/status/EnvResourceDTOTest.java
 delete mode 100644 services/dlab-model/src/test/java/com/epam/dlab/dto/status/EnvStatusDTOTest.java
 delete mode 100644 services/dlab-model/src/test/java/com/epam/dlab/util/JsonGeneratorTest.java
 delete mode 100644 services/dlab-mongo-migration/pom.xml
 delete mode 100644 services/dlab-mongo-migration/src/main/java/com/epam/dlab/migration/DbMigration.java
 delete mode 100644 services/dlab-mongo-migration/src/main/java/com/epam/dlab/migration/exception/DlabDbMigrationException.java
 delete mode 100644 services/dlab-mongo-migration/src/main/java/com/epam/dlab/migration/mongo/DlabMongoMigration.java
 delete mode 100644 services/dlab-mongo-migration/src/main/java/com/epam/dlab/migration/mongo/changelog/DlabChangeLog.java
 delete mode 100644 services/dlab-utils/pom.xml
 delete mode 100644 services/dlab-utils/src/main/java/com/epam/dlab/util/FileUtils.java
 delete mode 100644 services/dlab-utils/src/main/java/com/epam/dlab/util/SecurityUtils.java
 delete mode 100644 services/dlab-utils/src/main/java/com/epam/dlab/util/ServiceUtils.java
 delete mode 100644 services/dlab-utils/src/main/java/com/epam/dlab/util/UsernameUtils.java
 delete mode 100644 services/dlab-utils/src/main/java/com/epam/dlab/util/mongo/IsoDateDeSerializer.java
 delete mode 100644 services/dlab-utils/src/main/java/com/epam/dlab/util/mongo/IsoDateSerializer.java
 delete mode 100644 services/dlab-utils/src/main/java/com/epam/dlab/util/mongo/IsoLocalDateDeSerializer.java
 delete mode 100644 services/dlab-utils/src/main/java/com/epam/dlab/util/mongo/IsoLocalDateSerializer.java
 delete mode 100644 services/dlab-utils/src/main/java/com/epam/dlab/util/mongo/IsoLocalDateTimeDeSerializer.java
 delete mode 100644 services/dlab-utils/src/main/java/com/epam/dlab/util/mongo/IsoLocalDateTimeSerializer.java
 delete mode 100644 services/dlab-utils/src/main/java/com/epam/dlab/util/mongo/LongDeSerializer.java
 delete mode 100644 services/dlab-utils/src/main/java/com/epam/dlab/util/mongo/MongoStringDeserializer.java
 delete mode 100644 services/dlab-utils/src/main/java/com/epam/dlab/util/mongo/MongoStringSerializaer.java
 delete mode 100644 services/dlab-utils/src/main/java/com/epam/dlab/util/mongo/modules/IsoDateModule.java
 delete mode 100644 services/dlab-utils/src/main/java/com/epam/dlab/util/mongo/modules/JavaPrimitiveModule.java
 delete mode 100644 services/dlab-utils/src/main/java/com/epam/dlab/util/mongo/modules/MongoModule.java
 delete mode 100644 services/dlab-utils/src/test/java/com/epam/dlab/util/SecurityUtilsTest.java
 delete mode 100644 services/dlab-utils/src/test/java/com/epam/dlab/util/mongo/IsoLocalDateTimeDeSerializerTest.java
 delete mode 100644 services/dlab-utils/src/test/java/com/epam/dlab/util/mongo/IsoLocalDateTimeSerDeTest.java
 delete mode 100644 services/dlab-utils/src/test/java/com/epam/dlab/util/mongo/IsoLocalDateTimeSerializerTest.java
 delete mode 100644 services/dlab-webapp-common/pom.xml
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/ModuleBase.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/ServiceConfiguration.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/auth/SecurityUnauthorizedHandler.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/auth/UserInfo.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/auth/contract/SecurityAPI.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/auth/dto/UserCredentialDTO.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/auth/oauth2/Oauth2AuthenticationService.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/auth/rest/AbstractAuthenticationService.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/auth/rest/ConfigurableResource.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/auth/rest/UserSessionDurationAuthorizer.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/auth/rest/UserSessionDurationCallback.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/cloud/CloudModule.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/cloud/CloudProvider.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/constants/ServiceConsts.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/mongo/MongoService.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/mongo/MongoServiceFactory.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/rest/client/RESTService.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/rest/client/RESTServiceFactory.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/rest/contracts/ApiCallbacks.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/rest/contracts/BackupAPI.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/rest/contracts/ComputationalAPI.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/rest/contracts/DockerAPI.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/rest/contracts/ExploratoryAPI.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/rest/contracts/InfrasctructureAPI.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/rest/contracts/KeyAPI.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/rest/dto/ErrorDTO.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/rest/mappers/AuthenticationExceptionMapper.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/rest/mappers/DlabValidationExceptionMapper.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/rest/mappers/GenericExceptionMapper.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/rest/mappers/JsonProcessingExceptionMapper.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/rest/mappers/ResourceConflictExceptionMapper.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/rest/mappers/ResourceNotFoundExceptionMapper.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/rest/mappers/ResourceQuoteReachedExceptionMapper.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/rest/mappers/RuntimeExceptionMapper.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/rest/mappers/ValidationExceptionMapper.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/validation/AwsValidation.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/validation/AzureValidation.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/validation/CloudConfigurationSequenceProvider.java
 delete mode 100644 services/dlab-webapp-common/src/main/java/com/epam/dlab/validation/GcpValidation.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/DropwizardBearerTokenFilterImpl.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/ProvisioningServiceApplication.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/ProvisioningServiceApplicationConfiguration.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/conf/CloudConfiguration.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/Constants.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/Directories.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/DirectoriesCreator.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/DockerWarmuper.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/FileHandlerCallback.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/MetadataHolder.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/commands/CmdCommand.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/commands/CommandBuilder.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/commands/CommandExecutor.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/commands/CommandExecutorMock.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/commands/CommandExecutorMockAsync.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/commands/CommandParserMock.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/commands/DockerAction.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/commands/DockerCommands.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/commands/ICommandExecutor.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/commands/ImagesDockerCommand.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/commands/PythonBackupCommand.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/commands/PythonCommand.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/commands/RunDockerCommand.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/commands/UnixCommand.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/folderlistener/AsyncFileHandler.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/folderlistener/FolderListener.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/folderlistener/FolderListenerExecutor.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/folderlistener/WatchItem.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/folderlistener/WatchItemList.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/BackupCallbackHandler.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/CheckInactivityCallbackHandler.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/ComputationalCallbackHandler.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/ComputationalConfigure.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/ComputationalConfigureCallbackHandler.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/EdgeCallbackHandler.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/ExploratoryCallbackHandler.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/ExploratoryGitCredsCallbackHandler.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/ImageCreateCallbackHandler.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/LibInstallCallbackHandler.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/LibListCallbackHandler.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/PersistentFileHandler.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/ProjectCallbackHandler.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/ResourceCallbackHandler.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/ResourcesStatusCallbackHandler.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/ReuploadKeyCallbackHandler.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/dao/CallbackHandlerDao.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/core/response/handlers/dao/FileSystemCallbackHandlerDao.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/modules/AwsProvisioningModule.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/modules/AzureProvisioningModule.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/modules/CloudModuleConfigurator.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/modules/GcpProvisioningModule.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/modules/ModuleFactory.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/modules/ProductionModule.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/modules/ProvisioningDevModule.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/resources/BackupResource.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/resources/BucketResource.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/resources/CallbackHandlerResource.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/resources/DockerResource.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/resources/GitExploratoryResource.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/resources/ImageResource.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/resources/InfrastructureResource.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/resources/LibraryResource.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/resources/ProjectResource.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/resources/ProvisioningHealthCheckResource.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/resources/aws/ComputationalResourceAws.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/resources/aws/EdgeResourceAws.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/resources/aws/ExploratoryResourceAws.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/resources/aws/InfrastructureResourceAws.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/resources/azure/ComputationalResourceAzure.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/resources/azure/EdgeResourceAzure.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/resources/azure/ExploratoryResourceAzure.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/resources/azure/InfrastructureResourceAzure.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/resources/base/EdgeService.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/resources/base/ExploratoryService.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/resources/base/InfrastructureService.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/resources/base/KeyResource.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/resources/gcp/ComputationalResourceGcp.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/resources/gcp/EdgeResourceGcp.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/resources/gcp/ExploratoryResourceGcp.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/resources/gcp/InfrastructureResourceGcp.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/service/BucketService.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/service/CheckInactivityService.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/service/ProjectService.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/service/RestoreCallbackHandlerService.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/service/impl/CheckInactivityServiceImpl.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/service/impl/DockerService.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/service/impl/KeyService.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/service/impl/ProjectServiceImpl.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/service/impl/RestoreCallbackHandlerServiceImpl.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/service/impl/SparkClusterService.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/service/impl/aws/BucketServiceAwsImpl.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/service/impl/azure/BucketServiceAzureImpl.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/service/impl/gcp/BucketServiceGcpImpl.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/backendapi/validation/ProvisioningServiceCloudConfigurationSequenceProvider.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/process/ProcessConveyor.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/process/builder/ProcessInfoBuilder.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/process/exception/DatalabProcessException.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/process/model/DatalabProcess.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/process/model/ProcessId.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/process/model/ProcessInfo.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/process/model/ProcessStatus.java
 create mode 100644 services/provisioning-service/src/main/java/com/epam/datalab/process/model/ProcessStep.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/DropwizardBearerTokenFilterImpl.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/ProvisioningServiceApplication.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/ProvisioningServiceApplicationConfiguration.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/conf/CloudConfiguration.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/Constants.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/Directories.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/DirectoriesCreator.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/DockerWarmuper.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/FileHandlerCallback.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/MetadataHolder.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/commands/CmdCommand.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/commands/CommandBuilder.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/commands/CommandExecutor.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/commands/CommandExecutorMock.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/commands/CommandExecutorMockAsync.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/commands/CommandParserMock.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/commands/DockerAction.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/commands/DockerCommands.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/commands/ICommandExecutor.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/commands/ImagesDockerCommand.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/commands/PythonBackupCommand.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/commands/PythonCommand.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/commands/RunDockerCommand.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/commands/UnixCommand.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/response/folderlistener/AsyncFileHandler.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/response/folderlistener/FolderListener.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/response/folderlistener/FolderListenerExecutor.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/response/folderlistener/WatchItem.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/response/folderlistener/WatchItemList.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/response/handlers/BackupCallbackHandler.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/response/handlers/CheckInactivityCallbackHandler.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/response/handlers/ComputationalCallbackHandler.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/response/handlers/ComputationalConfigure.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/response/handlers/ComputationalConfigureCallbackHandler.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/response/handlers/EdgeCallbackHandler.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/response/handlers/ExploratoryCallbackHandler.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/response/handlers/ExploratoryGitCredsCallbackHandler.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/response/handlers/ImageCreateCallbackHandler.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/response/handlers/LibInstallCallbackHandler.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/response/handlers/LibListCallbackHandler.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/response/handlers/PersistentFileHandler.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/response/handlers/ProjectCallbackHandler.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/response/handlers/ResourceCallbackHandler.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/response/handlers/ResourcesStatusCallbackHandler.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/response/handlers/ReuploadKeyCallbackHandler.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/response/handlers/dao/CallbackHandlerDao.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/core/response/handlers/dao/FileSystemCallbackHandlerDao.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/modules/AwsProvisioningModule.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/modules/AzureProvisioningModule.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/modules/CloudModuleConfigurator.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/modules/GcpProvisioningModule.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/modules/ModuleFactory.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/modules/ProductionModule.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/modules/ProvisioningDevModule.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/BackupResource.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/BucketResource.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/CallbackHandlerResource.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/DockerResource.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/GitExploratoryResource.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/ImageResource.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/InfrastructureResource.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/LibraryResource.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/ProjectResource.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/ProvisioningHealthCheckResource.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/aws/ComputationalResourceAws.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/aws/EdgeResourceAws.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/aws/ExploratoryResourceAws.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/aws/InfrastructureResourceAws.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/azure/ComputationalResourceAzure.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/azure/EdgeResourceAzure.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/azure/ExploratoryResourceAzure.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/azure/InfrastructureResourceAzure.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/base/EdgeService.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/base/ExploratoryService.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/base/InfrastructureService.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/base/KeyResource.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/gcp/ComputationalResourceGcp.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/gcp/EdgeResourceGcp.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/gcp/ExploratoryResourceGcp.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/gcp/InfrastructureResourceGcp.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/BucketService.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/CheckInactivityService.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/ProjectService.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/RestoreCallbackHandlerService.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/CheckInactivityServiceImpl.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/DockerService.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/KeyService.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/ProjectServiceImpl.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/RestoreCallbackHandlerServiceImpl.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/SparkClusterService.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/aws/BucketServiceAwsImpl.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/azure/BucketServiceAzureImpl.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/gcp/BucketServiceGcpImpl.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/validation/ProvisioningServiceCloudConfigurationSequenceProvider.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/process/ProcessConveyor.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/process/builder/ProcessInfoBuilder.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/process/exception/DlabProcessException.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/process/model/DlabProcess.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/process/model/ProcessId.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/process/model/ProcessInfo.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/process/model/ProcessStatus.java
 delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/process/model/ProcessStep.java
 create mode 100644 services/provisioning-service/src/test/java/com/epam/datalab/backendapi/core/DockerWarmuperTest.java
 create mode 100644 services/provisioning-service/src/test/java/com/epam/datalab/backendapi/core/commands/CommandExecutorMockTest.java
 create mode 100644 services/provisioning-service/src/test/java/com/epam/datalab/backendapi/core/docker/command/ImagesDockerCommandTest.java
 create mode 100644 services/provisioning-service/src/test/java/com/epam/datalab/backendapi/core/docker/command/RunDockerCommandTest.java
 create mode 100644 services/provisioning-service/src/test/java/com/epam/datalab/backendapi/core/response/folderlistener/FolderListenerTest.java
 create mode 100644 services/provisioning-service/src/test/java/com/epam/datalab/backendapi/core/response/folderlistener/WatchItemListTest.java
 create mode 100644 services/provisioning-service/src/test/java/com/epam/datalab/backendapi/core/response/folderlistener/WatchItemTest.java
 create mode 100644 services/provisioning-service/src/test/java/com/epam/datalab/backendapi/core/response/handlers/dao/FileSystemCallbackHandlerDaoTest.java
 create mode 100644 services/provisioning-service/src/test/java/com/epam/datalab/backendapi/service/RestoreCallbackHandlerServiceImplTest.java
 create mode 100644 services/provisioning-service/src/test/java/com/epam/datalab/rest/client/RESTServiceMock.java
 delete mode 100644 services/provisioning-service/src/test/java/com/epam/dlab/backendapi/core/DockerWarmuperTest.java
 delete mode 100644 services/provisioning-service/src/test/java/com/epam/dlab/backendapi/core/commands/CommandExecutorMockTest.java
 delete mode 100644 services/provisioning-service/src/test/java/com/epam/dlab/backendapi/core/docker/command/ImagesDockerCommandTest.java
 delete mode 100644 services/provisioning-service/src/test/java/com/epam/dlab/backendapi/core/docker/command/RunDockerCommandTest.java
 delete mode 100644 services/provisioning-service/src/test/java/com/epam/dlab/backendapi/core/response/folderlistener/FolderListenerTest.java
 delete mode 100644 services/provisioning-service/src/test/java/com/epam/dlab/backendapi/core/response/folderlistener/WatchItemListTest.java
 delete mode 100644 services/provisioning-service/src/test/java/com/epam/dlab/backendapi/core/response/folderlistener/WatchItemTest.java
 delete mode 100644 services/provisioning-service/src/test/java/com/epam/dlab/backendapi/core/response/handlers/dao/FileSystemCallbackHandlerDaoTest.java
 delete mode 100644 services/provisioning-service/src/test/java/com/epam/dlab/backendapi/service/RestoreCallbackHandlerServiceImplTest.java
 delete mode 100644 services/provisioning-service/src/test/java/com/epam/dlab/rest/client/RESTServiceMock.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/SelfServiceApplication.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/annotation/Audit.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/annotation/BudgetLimited.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/annotation/Info.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/annotation/Project.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/annotation/ProjectAdmin.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/annotation/ResourceName.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/annotation/User.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/auth/KeycloakAuthenticator.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/auth/SelfServiceSecurityAuthorizer.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/auth/filters/DropwizardBearerTokenFilterImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/conf/CloudConfiguration.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/conf/KeycloakConfiguration.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/conf/SelfServiceApplicationConfiguration.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/AuditDAO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/AuditDAOImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/BackupDAO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/BackupDAOImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/BaseBillingDAO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/BaseDAO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/BillingDAO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/ComputationalDAO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/DockerDAO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/EndpointDAO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/EndpointDAOImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/EnvDAO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/ExploratoryDAO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/ExploratoryLibDAO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/GitCredsDAO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/ImageExploratoryDAO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/ImageExploratoryDAOImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/IndexCreator.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/MongoCollections.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/MongoSetting.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/ProjectDAO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/ProjectDAOImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/RequestIdDAO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/SchedulerJobDAO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/SecurityDAO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/SettingsDAO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/UserGroupDAO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/UserGroupDAOImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/UserRoleDAO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/UserRoleDAOImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dao/UserSettingsDAO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/domain/AuditActionEnum.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/domain/AuditCreateDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/domain/AuditDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/domain/AuditPaginationDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/domain/AuditResourceTypeEnum.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/domain/AutoCompleteEnum.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/domain/BillingReport.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/domain/BillingReportLine.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/domain/BudgetDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/domain/CreateProjectDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/domain/EndpointDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/domain/EndpointResourcesDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/domain/ExploratoryLibCache.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/domain/ExploratoryLibList.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/domain/MavenSearchArtifactResponse.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/domain/NotebookTemplate.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/domain/ProjectDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/domain/ProjectEndpointDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/domain/RequestId.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/domain/RequestIdDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/domain/SchedulerConfigurationData.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/domain/UpdateProjectBudgetDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/domain/UpdateProjectDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dropwizard/bundles/DatalabKeycloakBundle.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dropwizard/listeners/MongoStartupListener.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/dropwizard/listeners/RestoreHandlerStartupListener.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/healthcheck/MongoHealthCheck.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/interceptor/AuditInterceptor.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/interceptor/BudgetLimitInterceptor.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/interceptor/ProjectAdminInterceptor.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/modules/CloudProviderModule.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/modules/DevModule.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/modules/ModuleFactory.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/modules/ProductionModule.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/ApplicationSettingResource.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/AuditResource.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/BackupResource.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/BillingResource.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/BucketResource.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/EndpointResource.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/EnvironmentResource.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/ExploratoryResource.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/GitCredsResource.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/ImageExploratoryResource.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/InfrastructureInfoResource.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/InfrastructureTemplateResource.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/KeycloakResource.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/LibExploratoryResource.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/ProjectResource.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/SchedulerJobResource.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/SystemInfoResource.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/UserGroupResource.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/UserRoleResource.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/UserSettingsResource.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/aws/ComputationalResourceAws.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/azure/AzureOauthResource.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/azure/ComputationalResourceAzure.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/callback/BackupCallback.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/callback/CheckInactivityCallback.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/callback/ComputationalCallback.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/callback/EnvironmentStatusCallback.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/callback/ExploratoryCallback.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/callback/GitCredsCallback.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/callback/ImageCallback.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/callback/LibraryCallback.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/callback/ProjectCallback.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/callback/ReuploadKeyCallback.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/BackupFormDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/BackupInfoRecord.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/BillingFilter.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/BucketDeleteDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/BucketDownloadDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/ComputationalCreateFormDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/ComputationalTemplatesDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/ExploratoryActionFormDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/ExploratoryCreateFormDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/ExploratoryCreatePopUp.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/ExploratoryImageCreateFormDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/FolderUploadDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/GroupDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/HealthStatusDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/HealthStatusEnum.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/HealthStatusPageDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/HealthStatusResource.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/ImageInfoRecord.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/KeysDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/LibInfoRecord.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/LibInstallFormDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/LibKey.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/LibraryAutoCompleteDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/LibraryDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/LibraryStatus.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/ProjectActionFormDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/ProjectInfrastructureInfo.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/QuotaUsageDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/SearchLibsFormDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/SparkStandaloneClusterCreateForm.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/SparkStandaloneConfiguration.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/SystemInfoDto.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/UpdateGroupDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/UpdateRoleGroupDto.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/UpdateUserGroupDto.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/UserDTO.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/UserGroupDto.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/UserResourceInfo.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/UserRoleDto.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/aws/AwsComputationalCreateForm.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/aws/AwsEmrConfiguration.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/gcp/GcpComputationalCreateForm.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/dto/gcp/GcpDataprocConfiguration.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/gcp/ComputationalResourceGcp.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/resources/gcp/GcpOauthResource.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/roles/RoleType.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/roles/UserRole.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/roles/UserRoles.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/schedulers/CheckApplicationQuoteScheduler.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/schedulers/CheckInactivityScheduledJob.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/schedulers/CheckProjectQuoteScheduler.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/schedulers/CheckUserQuoteScheduler.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/schedulers/billing/BillingScheduler.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/schedulers/computational/StartComputationalJob.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/schedulers/computational/StopComputationalJob.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/schedulers/computational/TerminateComputationalJob.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/schedulers/endpoint/CheckEndpointStatusScheduler.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/schedulers/exploratory/StartExploratoryJob.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/schedulers/exploratory/StopExploratoryJob.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/schedulers/internal/ManagedScheduler.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/schedulers/internal/Scheduled.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/AccessKeyService.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/ApplicationSettingService.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/ApplicationSettingServiceImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/AuditService.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/BackupService.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/BillingService.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/BucketService.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/ComputationalService.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/EndpointService.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/EnvironmentService.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/ExploratoryService.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/ExternalLibraryService.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/GitCredentialService.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/GuacamoleService.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/ImageExploratoryService.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/InactivityService.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/InfrastructureInfoService.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/InfrastructureTemplateService.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/KeycloakService.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/KeycloakServiceImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/LibraryService.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/ProjectService.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/ReuploadKeyService.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/SchedulerJobService.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/SecurityService.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/SecurityServiceImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/SystemInfoService.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/TagService.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/TagServiceImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/UserGroupService.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/UserRoleService.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/UserRoleServiceImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/UserSettingService.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/UserSettingServiceImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/AccessKeyServiceImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/AuditServiceImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/BackupServiceImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/BillingServiceImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/BucketServiceImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/ComputationalServiceImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/EndpointServiceImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/EnvironmentServiceImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/ExploratoryServiceImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/GitCredentialServiceImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/GuacamoleServiceImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/ImageExploratoryServiceImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/InactivityServiceImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/InfrastructureInfoServiceImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/InfrastructureTemplateServiceImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/LibraryServiceImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/MavenCentralLibraryService.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/ProjectServiceImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/ReuploadKeyServiceImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/SchedulerJobServiceImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/SystemInfoServiceImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/UserGroupServiceImpl.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/servlet/guacamole/GuacamoleServlet.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/util/BillingUtils.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/util/CSVFormatter.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/util/DateRemoverUtil.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/util/KeycloakUtil.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/util/RequestBuilder.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/validation/MavenLibraryNameValidator.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/validation/SchedulerJobDTOValidator.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/validation/annotation/LibNameValid.java
 create mode 100644 services/self-service/src/main/java/com/epam/datalab/backendapi/validation/annotation/SchedulerJobDTOValid.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/SelfServiceApplication.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/annotation/Audit.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/annotation/BudgetLimited.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/annotation/Info.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/annotation/Project.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/annotation/ProjectAdmin.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/annotation/ResourceName.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/annotation/User.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/auth/KeycloakAuthenticator.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/auth/SelfServiceSecurityAuthorizer.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/auth/filters/DropwizardBearerTokenFilterImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/conf/CloudConfiguration.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/conf/KeycloakConfiguration.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/conf/SelfServiceApplicationConfiguration.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/AuditDAO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/AuditDAOImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/BackupDAO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/BackupDAOImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/BaseBillingDAO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/BaseDAO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/BillingDAO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/ComputationalDAO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/DockerDAO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/EndpointDAO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/EndpointDAOImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/EnvDAO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/ExploratoryDAO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/ExploratoryLibDAO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/GitCredsDAO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/ImageExploratoryDAO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/ImageExploratoryDAOImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/IndexCreator.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/MongoCollections.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/MongoSetting.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/ProjectDAO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/ProjectDAOImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/RequestIdDAO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/SchedulerJobDAO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/SecurityDAO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/SettingsDAO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/UserGroupDAO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/UserGroupDAOImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/UserRoleDAO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/UserRoleDAOImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/UserSettingsDAO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/domain/AuditActionEnum.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/domain/AuditCreateDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/domain/AuditDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/domain/AuditPaginationDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/domain/AuditResourceTypeEnum.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/domain/AutoCompleteEnum.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/domain/BillingReport.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/domain/BillingReportLine.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/domain/BudgetDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/domain/CreateProjectDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/domain/EndpointDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/domain/EndpointResourcesDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/domain/ExploratoryLibCache.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/domain/ExploratoryLibList.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/domain/MavenSearchArtifactResponse.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/domain/NotebookTemplate.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/domain/ProjectDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/domain/ProjectEndpointDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/domain/RequestId.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/domain/RequestIdDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/domain/SchedulerConfigurationData.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/domain/UpdateProjectBudgetDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/domain/UpdateProjectDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dropwizard/bundles/DlabKeycloakBundle.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dropwizard/listeners/MongoStartupListener.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dropwizard/listeners/RestoreHandlerStartupListener.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/healthcheck/MongoHealthCheck.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/interceptor/AuditInterceptor.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/interceptor/BudgetLimitInterceptor.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/interceptor/ProjectAdminInterceptor.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/modules/CloudProviderModule.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/modules/DevModule.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/modules/ModuleFactory.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/modules/ProductionModule.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/ApplicationSettingResource.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/AuditResource.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/BackupResource.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/BillingResource.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/BucketResource.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/EndpointResource.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/EnvironmentResource.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/ExploratoryResource.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/GitCredsResource.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/ImageExploratoryResource.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/InfrastructureInfoResource.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/InfrastructureTemplateResource.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/KeycloakResource.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/LibExploratoryResource.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/ProjectResource.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/SchedulerJobResource.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/SystemInfoResource.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/UserGroupResource.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/UserRoleResource.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/UserSettingsResource.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/aws/ComputationalResourceAws.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/azure/AzureOauthResource.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/azure/ComputationalResourceAzure.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/callback/BackupCallback.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/callback/CheckInactivityCallback.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/callback/ComputationalCallback.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/callback/EnvironmentStatusCallback.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/callback/ExploratoryCallback.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/callback/GitCredsCallback.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/callback/ImageCallback.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/callback/LibraryCallback.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/callback/ProjectCallback.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/callback/ReuploadKeyCallback.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/BackupFormDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/BackupInfoRecord.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/BillingFilter.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/BucketDeleteDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/BucketDownloadDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/ComputationalCreateFormDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/ComputationalTemplatesDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/ExploratoryActionFormDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/ExploratoryCreateFormDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/ExploratoryCreatePopUp.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/ExploratoryImageCreateFormDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/FolderUploadDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/GroupDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/HealthStatusDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/HealthStatusEnum.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/HealthStatusPageDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/HealthStatusResource.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/ImageInfoRecord.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/KeysDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/LibInfoRecord.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/LibInstallFormDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/LibKey.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/LibraryAutoCompleteDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/LibraryDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/LibraryStatus.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/ProjectActionFormDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/ProjectInfrastructureInfo.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/QuotaUsageDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/SearchLibsFormDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/SparkStandaloneClusterCreateForm.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/SparkStandaloneConfiguration.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/SystemInfoDto.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/UpdateGroupDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/UpdateRoleGroupDto.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/UpdateUserGroupDto.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/UserDTO.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/UserGroupDto.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/UserResourceInfo.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/UserRoleDto.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/aws/AwsComputationalCreateForm.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/aws/AwsEmrConfiguration.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/gcp/GcpComputationalCreateForm.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/gcp/GcpDataprocConfiguration.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/gcp/ComputationalResourceGcp.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/resources/gcp/GcpOauthResource.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/roles/RoleType.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/roles/UserRole.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/roles/UserRoles.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/CheckApplicationQuoteScheduler.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/CheckInactivityScheduledJob.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/CheckProjectQuoteScheduler.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/CheckUserQuoteScheduler.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/billing/BillingScheduler.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/computational/StartComputationalJob.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/computational/StopComputationalJob.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/computational/TerminateComputationalJob.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/endpoint/CheckEndpointStatusScheduler.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/exploratory/StartExploratoryJob.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/exploratory/StopExploratoryJob.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/internal/ManagedScheduler.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/internal/Scheduled.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/AccessKeyService.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/ApplicationSettingService.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/ApplicationSettingServiceImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/AuditService.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/BackupService.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/BillingService.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/BucketService.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/ComputationalService.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/EndpointService.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/EnvironmentService.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/ExploratoryService.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/ExternalLibraryService.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/GitCredentialService.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/GuacamoleService.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/ImageExploratoryService.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/InactivityService.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/InfrastructureInfoService.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/InfrastructureTemplateService.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/KeycloakService.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/KeycloakServiceImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/LibraryService.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/ProjectService.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/ReuploadKeyService.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/SchedulerJobService.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/SecurityService.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/SecurityServiceImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/SystemInfoService.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/TagService.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/TagServiceImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/UserGroupService.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/UserRoleService.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/UserRoleServiceImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/UserSettingService.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/UserSettingServiceImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/AccessKeyServiceImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/AuditServiceImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/BackupServiceImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/BillingServiceImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/BucketServiceImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/ComputationalServiceImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/EndpointServiceImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/EnvironmentServiceImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/ExploratoryServiceImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/GitCredentialServiceImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/GuacamoleServiceImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/ImageExploratoryServiceImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/InactivityServiceImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/InfrastructureInfoServiceImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/InfrastructureTemplateServiceImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/LibraryServiceImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/MavenCentralLibraryService.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/ProjectServiceImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/ReuploadKeyServiceImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/SchedulerJobServiceImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/SystemInfoServiceImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/UserGroupServiceImpl.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/servlet/guacamole/GuacamoleServlet.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/util/BillingUtils.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/util/CSVFormatter.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/util/DateRemoverUtil.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/util/KeycloakUtil.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/util/RequestBuilder.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/validation/MavenLibraryNameValidator.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/validation/SchedulerJobDTOValidator.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/validation/annotation/LibNameValid.java
 delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/validation/annotation/SchedulerJobDTOValid.java
 create mode 100644 services/self-service/src/main/resources/webapp/src/assets/svg/datalab-logo.svg
 create mode 100644 services/self-service/src/main/resources/webapp/src/assets/svg/logo.svg
 rename services/self-service/src/test/java/com/epam/{dlab => datalab}/backendapi/.gitkeep (100%)
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/domain/ExploratoryLibListTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/resources/ApplicationSettingResourceTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/resources/AuditResourceTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/resources/BackupResourceTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/resources/EnvironmentResourceTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/resources/ExploratoryResourceTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/resources/GitCredsResourceTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/resources/ImageExploratoryResourceTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/resources/InfrastructureInfoResourceTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/resources/InfrastructureTemplateResourceTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/resources/KeycloakResourceTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/resources/LibExploratoryResourceTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/resources/ProjectResourceTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/resources/SchedulerJobResourceTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/resources/SystemInfoResourceTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/resources/TestBase.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/resources/UserGroupResourceTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/resources/UserRoleResourceTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/resources/UserSettingsResourceTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/roles/UserRolesTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/schedulers/CheckApplicationQuoteSchedulerTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/schedulers/CheckUserQuoteSchedulerTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/service/ApplicationSettingServiceImplTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/service/KeycloakServiceImplTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/service/ProjectServiceImplTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/service/SecurityServiceImplTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/service/TagServiceImplTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/service/UserRoleServiceImplTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/service/UserSettingServiceImplTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/service/impl/AccessKeyServiceImplTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/service/impl/AuditServiceImplTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/service/impl/BackupServiceImplTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/service/impl/BillingServiceImplTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/service/impl/BucketServiceImplTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/service/impl/ComputationalServiceImplTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/service/impl/EndpointServiceImplTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/service/impl/EnvironmentServiceImplTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/service/impl/ExploratoryServiceImplTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/service/impl/GitCredentialServiceImplTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/service/impl/ImageExploratoryServiceImplTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/service/impl/InfrastructureInfoServiceImplTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/service/impl/InfrastructureTemplateServiceBaseTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/service/impl/LibraryServiceImplTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/service/impl/MavenCentralLibraryServiceTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/service/impl/ReuploadKeyServiceImplTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/service/impl/SchedulerJobServiceImplTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/service/impl/SystemInfoServiceImplTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/service/impl/UserGroupServiceImplTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/util/CSVFormatterTest.java
 create mode 100644 services/self-service/src/test/java/com/epam/datalab/backendapi/util/DateRemoverUtilTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/domain/ExploratoryLibListTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/resources/ApplicationSettingResourceTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/resources/AuditResourceTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/resources/BackupResourceTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/resources/EnvironmentResourceTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/resources/ExploratoryResourceTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/resources/GitCredsResourceTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/resources/ImageExploratoryResourceTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/resources/InfrastructureInfoResourceTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/resources/InfrastructureTemplateResourceTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/resources/KeycloakResourceTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/resources/LibExploratoryResourceTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/resources/ProjectResourceTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/resources/SchedulerJobResourceTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/resources/SystemInfoResourceTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/resources/TestBase.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/resources/UserGroupResourceTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/resources/UserRoleResourceTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/resources/UserSettingsResourceTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/roles/UserRolesTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/schedulers/CheckApplicationQuoteSchedulerTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/schedulers/CheckUserQuoteSchedulerTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/service/ApplicationSettingServiceImplTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/service/KeycloakServiceImplTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/service/ProjectServiceImplTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/service/SecurityServiceImplTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/service/TagServiceImplTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/service/UserRoleServiceImplTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/service/UserSettingServiceImplTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/AccessKeyServiceImplTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/AuditServiceImplTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/BackupServiceImplTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/BillingServiceImplTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/BucketServiceImplTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/ComputationalServiceImplTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/EndpointServiceImplTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/EnvironmentServiceImplTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/ExploratoryServiceImplTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/GitCredentialServiceImplTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/ImageExploratoryServiceImplTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/InfrastructureInfoServiceImplTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/InfrastructureTemplateServiceBaseTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/LibraryServiceImplTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/MavenCentralLibraryServiceTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/ReuploadKeyServiceImplTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/SchedulerJobServiceImplTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/SystemInfoServiceImplTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/UserGroupServiceImplTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/util/CSVFormatterTest.java
 delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/util/DateRemoverUtilTest.java


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datalab.apache.org
For additional commands, e-mail: commits-help@datalab.apache.org


[incubator-datalab] 01/01: Merge branch 'new-datalab-name' into develop

Posted by of...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ofuks pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/incubator-datalab.git

commit b19b207b070e8edb9e3a0a5c2fb61185e4e41d89
Merge: 7598662 66c13a3
Author: Oleh Fuks <ol...@gmail.com>
AuthorDate: Wed Sep 30 14:35:46 2020 +0300

    Merge branch 'new-datalab-name' into develop

 CONTRIBUTING.md                                    |    6 +-
 README.md                                          |  380 +++---
 RELEASE_NOTES.md                                   |   16 +-
 USER_GUIDE.md                                      |   58 +-
 build.properties                                   |    2 +-
 doc/{dlab_aws.png => datalab_aws.png}              |  Bin
 doc/{dlab_azure.png => datalab_azure.png}          |  Bin
 doc/{dlab_gcp.png => datalab_gcp.png}              |  Bin
 .../scripts/POST_DEPLOYMENT.md                     |   10 +-
 .../scripts/deploy_datalab.py                      |  231 ++++
 infrastructure-provisioning/scripts/deploy_dlab.py |  220 ----
 .../scripts/deploy_repository/deploy_repository.py |   36 +-
 .../scripts/post-deployment_configuration.py       |  162 ++-
 .../src/base/scripts/install_prerequisites.py      |   13 +-
 .../src/base/scripts/install_user_key.py           |    6 +-
 .../src/dataengine-service/fabfile.py              |   19 +-
 .../src/dataengine/fabfile.py                      |   20 +-
 .../src/dataengine/scripts/configure_dataengine.py |   10 +-
 .../src/deeplearning/fabfile.py                    |   12 +-
 .../scripts/configure_deep_learning_node.py        |   13 +-
 infrastructure-provisioning/src/edge/fabfile.py    |   10 +-
 .../src/edge/scripts/configure_http_proxy.py       |    5 +-
 .../edge/scripts/configure_nginx_reverse_proxy.py  |    8 +-
 .../src/edge/scripts/reupload_ssh_key.py           |    9 +-
 .../src/edge/templates/squid.conf                  |    4 +-
 .../src/general/api/check_inactivity.py            |    9 +-
 .../src/general/api/configure.py                   |    9 +-
 .../src/general/api/create.py                      |    9 +-
 .../src/general/api/create_image.py                |    9 +-
 .../src/general/api/git_creds.py                   |    9 +-
 .../src/general/api/install_libs.py                |    9 +-
 .../src/general/api/list_libs.py                   |   16 +-
 .../src/general/api/reconfigure_spark.py           |    9 +-
 .../src/general/api/recreate.py                    |    9 +-
 .../src/general/api/reupload_key.py                |   11 +-
 .../src/general/api/start.py                       |    9 +-
 .../src/general/api/status.py                      |    9 +-
 .../src/general/api/stop.py                        |    9 +-
 .../src/general/api/terminate.py                   |    9 +-
 .../src/general/api/terminate_image.py             |    9 +-
 .../src/general/conf/datalab.ini                   |  377 ++++++
 .../src/general/conf/dlab.ini                      |  377 ------
 .../src/general/files/aws/base_Dockerfile          |    8 +-
 .../src/general/files/aws/base_description.json    |    2 +-
 .../files/aws/dataengine-service_Dockerfile        |    6 +-
 .../src/general/files/aws/dataengine_Dockerfile    |    4 +-
 .../src/general/files/aws/deeplearning_Dockerfile  |    4 +-
 .../src/general/files/aws/edge_Dockerfile          |    4 +-
 .../src/general/files/aws/jupyter_Dockerfile       |    4 +-
 .../src/general/files/aws/jupyterlab_Dockerfile    |    4 +-
 .../src/general/files/aws/project_Dockerfile       |    4 +-
 .../src/general/files/aws/rstudio_Dockerfile       |    4 +-
 .../src/general/files/aws/ssn_Dockerfile           |    4 +-
 .../src/general/files/aws/ssn_description.json     |    2 +-
 .../general/files/aws/tensor-rstudio_Dockerfile    |    4 +-
 .../src/general/files/aws/tensor_Dockerfile        |    4 +-
 .../src/general/files/aws/zeppelin_Dockerfile      |    4 +-
 .../src/general/files/azure/base_Dockerfile        |    8 +-
 .../src/general/files/azure/base_description.json  |    2 +-
 .../src/general/files/azure/dataengine_Dockerfile  |    4 +-
 .../general/files/azure/deeplearning_Dockerfile    |    4 +-
 .../src/general/files/azure/edge_Dockerfile        |    4 +-
 .../src/general/files/azure/jupyter_Dockerfile     |    4 +-
 .../src/general/files/azure/jupyterlab_Dockerfile  |    4 +-
 .../src/general/files/azure/project_Dockerfile     |    4 +-
 .../src/general/files/azure/rstudio_Dockerfile     |    4 +-
 .../src/general/files/azure/ssn_Dockerfile         |    4 +-
 .../src/general/files/azure/ssn_description.json   |    2 +-
 .../src/general/files/azure/tensor_Dockerfile      |    4 +-
 .../src/general/files/azure/zeppelin_Dockerfile    |    4 +-
 .../src/general/files/gcp/base_Dockerfile          |    8 +-
 .../src/general/files/gcp/base_description.json    |    2 +-
 .../files/gcp/dataengine-service_Dockerfile        |    4 +-
 .../src/general/files/gcp/dataengine_Dockerfile    |    4 +-
 .../src/general/files/gcp/deeplearning_Dockerfile  |    4 +-
 .../src/general/files/gcp/edge_Dockerfile          |    4 +-
 .../src/general/files/gcp/jupyter_Dockerfile       |    4 +-
 .../src/general/files/gcp/jupyterlab_Dockerfile    |    4 +-
 .../src/general/files/gcp/project_Dockerfile       |    4 +-
 .../src/general/files/gcp/rstudio_Dockerfile       |    4 +-
 .../src/general/files/gcp/ssn_Dockerfile           |    4 +-
 .../src/general/files/gcp/ssn_description.json     |    2 +-
 .../src/general/files/gcp/superset_Dockerfile      |    4 +-
 .../general/files/gcp/tensor-rstudio_Dockerfile    |    4 +-
 .../src/general/files/gcp/tensor_Dockerfile        |    4 +-
 .../src/general/files/gcp/zeppelin_Dockerfile      |    4 +-
 .../src/general/lib/aws/actions_lib.py             |   41 +-
 .../src/general/lib/aws/meta_lib.py                |   16 +-
 .../src/general/lib/azure/actions_lib.py           |   70 +-
 .../src/general/lib/gcp/actions_lib.py             |   46 +-
 .../src/general/lib/gcp/meta_lib.py                |   20 +-
 .../src/general/lib/os/debian/edge_lib.py          |   47 +-
 .../src/general/lib/os/debian/notebook_lib.py      |   21 +-
 .../src/general/lib/os/debian/ssn_lib.py           |  137 +-
 .../src/general/lib/os/fab.py                      |   96 +-
 .../src/general/lib/os/redhat/edge_lib.py          |   43 +-
 .../src/general/lib/os/redhat/notebook_lib.py      |   20 +-
 .../src/general/lib/os/redhat/ssn_lib.py           |  128 +-
 .../src/general/scripts/aws/common_collect_data.py |   15 +-
 .../general/scripts/aws/common_create_bucket.py    |    7 +-
 .../general/scripts/aws/common_create_instance.py  |    5 +-
 .../scripts/aws/common_create_notebook_image.py    |   24 +-
 .../general/scripts/aws/common_create_policy.py    |    7 +-
 .../scripts/aws/common_create_role_policy.py       |    4 +-
 .../scripts/aws/common_create_security_group.py    |    8 +-
 .../general/scripts/aws/common_create_subnet.py    |   29 +-
 .../scripts/aws/common_download_git_certfile.py    |    8 +-
 ...common_notebook_configure_dataengine-service.py |   62 +-
 .../aws/common_notebook_configure_dataengine.py    |   39 +-
 .../general/scripts/aws/common_prepare_notebook.py |   50 +-
 .../general/scripts/aws/common_put_to_bucket.py    |    2 +-
 .../scripts/aws/common_remove_remote_kernels.py    |    7 +-
 .../src/general/scripts/aws/common_reupload_key.py |    7 +-
 .../general/scripts/aws/common_start_notebook.py   |   33 +-
 .../general/scripts/aws/common_stop_notebook.py    |   41 +-
 .../scripts/aws/common_terminate_notebook.py       |   29 +-
 .../scripts/aws/common_terminate_notebook_image.py |   15 +-
 .../scripts/aws/dataengine-service_configure.py    |   86 +-
 .../scripts/aws/dataengine-service_create.py       |   23 +-
 .../scripts/aws/dataengine-service_install_libs.py |   12 +-
 .../scripts/aws/dataengine-service_list_libs.py    |    8 +-
 .../scripts/aws/dataengine-service_prepare.py      |   60 +-
 .../scripts/aws/dataengine-service_terminate.py    |   27 +-
 .../general/scripts/aws/dataengine_configure.py    |  123 +-
 .../src/general/scripts/aws/dataengine_prepare.py  |   81 +-
 .../src/general/scripts/aws/dataengine_start.py    |   22 +-
 .../src/general/scripts/aws/dataengine_stop.py     |   14 +-
 .../general/scripts/aws/dataengine_terminate.py    |   20 +-
 .../general/scripts/aws/deeplearning_configure.py  |  133 +-
 .../scripts/aws/edge_associate_elastic_ip.py       |   10 +-
 .../src/general/scripts/aws/edge_configure.py      |  109 +-
 .../scripts/aws/edge_configure_route_table.py      |    5 +-
 .../src/general/scripts/aws/edge_start.py          |   22 +-
 .../src/general/scripts/aws/edge_status.py         |   17 +-
 .../src/general/scripts/aws/edge_stop.py           |   19 +-
 .../src/general/scripts/aws/jupyter_configure.py   |  125 +-
 .../jupyter_dataengine-service_create_configs.py   |   17 +-
 .../jupyter_install_dataengine-service_kernels.py  |   31 +-
 .../general/scripts/aws/jupyterlab_configure.py    |  141 +-
 .../src/general/scripts/aws/project_prepare.py     |  179 ++-
 .../src/general/scripts/aws/project_terminate.py   |   66 +-
 .../src/general/scripts/aws/rstudio_configure.py   |  139 +-
 .../rstudio_dataengine-service_create_configs.py   |   16 +-
 .../rstudio_install_dataengine-service_kernels.py  |   19 +-
 .../scripts/aws/ssn_associate_elastic_ip.py        |   10 +-
 .../src/general/scripts/aws/ssn_configure.py       |  147 +--
 .../src/general/scripts/aws/ssn_create_endpoint.py |   10 +-
 .../src/general/scripts/aws/ssn_create_vpc.py      |    5 +-
 .../src/general/scripts/aws/ssn_finalize.py        |    5 +-
 .../src/general/scripts/aws/ssn_prepare.py         |  296 +++--
 .../src/general/scripts/aws/ssn_terminate.py       |   23 +-
 .../scripts/aws/ssn_terminate_aws_resources.py     |   87 +-
 .../scripts/aws/tensor-rstudio_configure.py        |  143 +--
 .../src/general/scripts/aws/tensor_configure.py    |  129 +-
 .../src/general/scripts/aws/zeppelin_configure.py  |  133 +-
 .../zeppelin_dataengine-service_create_configs.py  |   18 +-
 .../zeppelin_install_dataengine-service_kernels.py |   20 +-
 .../general/scripts/azure/common_collect_data.py   |   15 +-
 .../azure/common_create_datalake_directory.py      |    7 +-
 .../scripts/azure/common_create_instance.py        |   12 +-
 .../scripts/azure/common_create_notebook_image.py  |   30 +-
 .../scripts/azure/common_create_security_group.py  |    6 +-
 .../scripts/azure/common_create_storage_account.py |    8 +-
 .../general/scripts/azure/common_create_subnet.py  |   15 +-
 .../scripts/azure/common_download_git_certfile.py  |    7 +-
 .../azure/common_notebook_configure_dataengine.py  |   31 +-
 .../scripts/azure/common_prepare_notebook.py       |   36 +-
 .../scripts/azure/common_remove_remote_kernels.py  |    7 +-
 .../general/scripts/azure/common_reupload_key.py   |    7 +-
 .../general/scripts/azure/common_start_notebook.py |   27 +-
 .../general/scripts/azure/common_stop_notebook.py  |   23 +-
 .../scripts/azure/common_terminate_notebook.py     |   23 +-
 .../azure/common_terminate_notebook_image.py       |   13 +-
 .../general/scripts/azure/dataengine_configure.py  |   97 +-
 .../general/scripts/azure/dataengine_prepare.py    |   39 +-
 .../src/general/scripts/azure/dataengine_start.py  |   21 +-
 .../src/general/scripts/azure/dataengine_stop.py   |   21 +-
 .../general/scripts/azure/dataengine_terminate.py  |   23 +-
 .../scripts/azure/deeplearning_configure.py        |   91 +-
 .../src/general/scripts/azure/edge_configure.py    |   53 +-
 .../src/general/scripts/azure/edge_prepare.py      |   15 +-
 .../src/general/scripts/azure/edge_start.py        |   18 +-
 .../src/general/scripts/azure/edge_status.py       |   15 +-
 .../src/general/scripts/azure/edge_stop.py         |   20 +-
 .../src/general/scripts/azure/edge_terminate.py    |   35 +-
 .../src/general/scripts/azure/jupyter_configure.py |   85 +-
 .../general/scripts/azure/jupyterlab_configure.py  |   99 +-
 .../src/general/scripts/azure/project_prepare.py   |   39 +-
 .../src/general/scripts/azure/project_terminate.py |   35 +-
 .../general/scripts/azure/rstudio_change_pass.py   |    6 +-
 .../src/general/scripts/azure/rstudio_configure.py |   95 +-
 .../src/general/scripts/azure/ssn_configure.py     |   76 +-
 .../general/scripts/azure/ssn_create_datalake.py   |    8 +-
 .../general/scripts/azure/ssn_create_peering.py    |    7 +-
 .../scripts/azure/ssn_create_resource_group.py     |    5 +-
 .../src/general/scripts/azure/ssn_create_vpc.py    |    5 +-
 .../src/general/scripts/azure/ssn_prepare.py       |   50 +-
 .../src/general/scripts/azure/ssn_terminate.py     |   50 +-
 .../src/general/scripts/azure/tensor_configure.py  |   84 +-
 .../general/scripts/azure/zeppelin_configure.py    |   82 +-
 .../src/general/scripts/gcp/common_collect_data.py |   14 +-
 .../general/scripts/gcp/common_create_bucket.py    |    6 +-
 .../general/scripts/gcp/common_create_firewall.py  |    9 +-
 .../general/scripts/gcp/common_create_instance.py  |    5 +-
 .../general/scripts/gcp/common_create_nat_route.py |    8 +-
 .../scripts/gcp/common_create_notebook_image.py    |   16 +-
 .../scripts/gcp/common_create_service_account.py   |    4 +-
 .../general/scripts/gcp/common_create_subnet.py    |   23 +-
 .../scripts/gcp/common_download_git_certfile.py    |    6 +-
 ...common_notebook_configure_dataengine-service.py |   21 +-
 .../gcp/common_notebook_configure_dataengine.py    |   29 +-
 .../general/scripts/gcp/common_prepare_notebook.py |   26 +-
 .../general/scripts/gcp/common_put_to_bucket.py    |    2 +-
 .../src/general/scripts/gcp/common_reupload_key.py |    7 +-
 .../general/scripts/gcp/common_start_notebook.py   |   23 +-
 .../general/scripts/gcp/common_stop_notebook.py    |   25 +-
 .../scripts/gcp/common_terminate_notebook.py       |   25 +-
 .../scripts/gcp/common_terminate_notebook_image.py |   15 +-
 .../scripts/gcp/dataengine-service_configure.py    |   52 +-
 .../scripts/gcp/dataengine-service_create.py       |   10 +-
 .../scripts/gcp/dataengine-service_install_libs.py |   12 +-
 .../scripts/gcp/dataengine-service_list_libs.py    |    8 +-
 .../scripts/gcp/dataengine-service_prepare.py      |   37 +-
 .../scripts/gcp/dataengine-service_terminate.py    |   24 +-
 .../general/scripts/gcp/dataengine_configure.py    |   91 +-
 .../src/general/scripts/gcp/dataengine_prepare.py  |   30 +-
 .../src/general/scripts/gcp/dataengine_start.py    |   25 +-
 .../src/general/scripts/gcp/dataengine_stop.py     |   21 +-
 .../general/scripts/gcp/dataengine_terminate.py    |   25 +-
 .../general/scripts/gcp/deeplearning_configure.py  |   69 +-
 .../src/general/scripts/gcp/edge_configure.py      |   63 +-
 .../general/scripts/gcp/edge_create_static_ip.py   |   10 +-
 .../src/general/scripts/gcp/edge_start.py          |   16 +-
 .../src/general/scripts/gcp/edge_status.py         |   20 +-
 .../src/general/scripts/gcp/edge_stop.py           |   17 +-
 .../src/general/scripts/gcp/edge_terminate.py      |   33 +-
 .../src/general/scripts/gcp/jupyter_configure.py   |   63 +-
 .../jupyter_dataengine-service_create_configs.py   |   17 +-
 .../jupyter_install_dataengine-service_kernels.py  |   31 +-
 .../general/scripts/gcp/jupyterlab_configure.py    |   73 +-
 .../src/general/scripts/gcp/project_prepare.py     |   38 +-
 .../src/general/scripts/gcp/project_terminate.py   |   35 +-
 .../src/general/scripts/gcp/rstudio_configure.py   |   73 +-
 .../rstudio_dataengine-service_create_configs.py   |   16 +-
 .../rstudio_install_dataengine-service_kernels.py  |   17 +-
 .../src/general/scripts/gcp/ssn_configure.py       |   70 +-
 .../general/scripts/gcp/ssn_create_static_ip.py    |   10 +-
 .../src/general/scripts/gcp/ssn_create_vpc.py      |    6 +-
 .../src/general/scripts/gcp/ssn_finalize.py        |    5 +-
 .../src/general/scripts/gcp/ssn_prepare.py         |   38 +-
 .../src/general/scripts/gcp/ssn_terminate.py       |   17 +-
 .../scripts/gcp/ssn_terminate_gcp_resources.py     |    7 +-
 .../src/general/scripts/gcp/superset_configure.py  |   76 +-
 .../scripts/gcp/tensor-rstudio_configure.py        |   76 +-
 .../src/general/scripts/gcp/tensor_configure.py    |   61 +-
 .../src/general/scripts/gcp/zeppelin_configure.py  |   61 +-
 .../zeppelin_dataengine-service_create_configs.py  |   18 +-
 .../zeppelin_install_dataengine-service_kernels.py |   17 +-
 .../src/general/scripts/os/check_inactivity.py     |   11 +-
 .../general/scripts/os/common_clean_instance.py    |    4 +-
 .../general/scripts/os/common_configure_proxy.py   |    6 +-
 .../scripts/os/common_configure_reverse_proxy.py   |    2 +-
 .../general/scripts/os/common_configure_spark.py   |   14 +-
 .../scripts/os/configure_proxy_for_docker.py       |    7 +-
 .../general/scripts/os/dataengine_install_libs.py  |   12 +-
 .../src/general/scripts/os/dataengine_list_libs.py |    8 +-
 .../scripts/os/dataengine_reconfigure_spark.py     |   12 +-
 .../os/deeplearning_dataengine_create_configs.py   |   15 +-
 .../os/deeplearning_install_dataengine_kernels.py  |   27 +-
 .../general/scripts/os/get_list_available_pkgs.py  |    9 +-
 .../general/scripts/os/install_additional_libs.py  |    9 +-
 .../os/jupyter_dataengine_create_configs.py        |   15 +-
 .../os/jupyter_install_dataengine_kernels.py       |   32 +-
 .../scripts/os/jupyterlab_container_start.py       |    5 +-
 .../src/general/scripts/os/manage_git_creds.py     |   12 +-
 .../src/general/scripts/os/notebook_git_creds.py   |    8 +-
 .../scripts/os/notebook_inactivity_check.py        |   14 +-
 .../general/scripts/os/notebook_install_libs.py    |    9 +-
 .../src/general/scripts/os/notebook_list_libs.py   |    8 +-
 .../os/notebook_reconfigure_dataengine_spark.py    |   15 +-
 .../scripts/os/notebook_reconfigure_spark.py       |   10 +-
 .../src/general/scripts/os/reconfigure_spark.py    |   11 +-
 .../os/rstudio_dataengine_create_configs.py        |   15 +-
 .../os/rstudio_install_dataengine_kernels.py       |   25 +-
 .../src/general/scripts/os/superset_start.py       |    7 +-
 .../os/tensor-rstudio_dataengine_create_configs.py |   15 +-
 .../tensor-rstudio_install_dataengine_kernels.py   |   25 +-
 .../scripts/os/tensor_dataengine_create_configs.py |   15 +-
 .../os/tensor_install_dataengine_kernels.py        |   27 +-
 .../scripts/os/update_inactivity_on_start.py       |    7 +-
 .../os/zeppelin_dataengine_create_configs.py       |   15 +-
 .../os/zeppelin_install_dataengine_kernels.py      |   29 +-
 .../aws/jenkins_jobs/create_data_engine/config.xml |   18 +-
 .../create_dataengine-service/config.xml           |   48 +-
 .../aws/jenkins_jobs/create_edge_node/config.xml   |    7 +-
 .../jenkins_jobs/create_notebook_image/config.xml  |    7 +-
 .../jenkins_jobs/create_notebook_server/config.xml |    8 +-
 .../config.xml                                     |   10 +-
 .../config.xml                                     |    7 +-
 .../dataengine_install_additional_libs/config.xml  |    9 +-
 .../dataengine_list_available_libs/config.xml      |    6 +-
 .../dataengine_reconfigure_spark/config.xml        |    9 +-
 .../aws/jenkins_jobs/gitlab_server/config.xml      |   29 +-
 .../jenkins_jobs/manage_git_credentials/config.xml |    8 +-
 .../notebook_install_additional_libs/config.xml    |    5 +-
 .../notebook_list_available_libs/config.xml        |    6 +-
 .../notebook_reconfigure_spark/config.xml          |    7 +-
 .../aws/jenkins_jobs/recreate_edge_node/config.xml |    7 +-
 .../aws/jenkins_jobs/reupload_ssh_key/config.xml   |    5 +-
 .../aws/jenkins_jobs/start_data_engine/config.xml  |    6 +-
 .../aws/jenkins_jobs/start_edge_node/config.xml    |    5 +-
 .../jenkins_jobs/start_notebook_server/config.xml  |    8 +-
 .../aws/jenkins_jobs/stop_data_engine/config.xml   |    6 +-
 .../aws/jenkins_jobs/stop_edge_node/config.xml     |    5 +-
 .../jenkins_jobs/stop_notebook_server/config.xml   |    6 +-
 .../jenkins_jobs/terminate_data_engine/config.xml  |    6 +-
 .../terminate_dataengine-service/config.xml        |    7 +-
 .../jenkins_jobs/terminate_edge_node/config.xml    |    5 +-
 .../terminate_notebook_image/config.xml            |    7 +-
 .../terminate_notebook_server/config.xml           |    6 +-
 .../jenkins_jobs/create_data_engine/config.xml     |   20 +-
 .../azure/jenkins_jobs/create_edge_node/config.xml |    6 +-
 .../jenkins_jobs/create_notebook_image/config.xml  |    7 +-
 .../jenkins_jobs/create_notebook_server/config.xml |    9 +-
 .../dataengine_install_additional_libs/config.xml  |    9 +-
 .../dataengine_list_available_libs/config.xml      |    6 +-
 .../dataengine_reconfigure_spark/config.xml        |    9 +-
 .../jenkins_jobs/manage_git_credentials/config.xml |    8 +-
 .../notebook_install_additional_libs/config.xml    |    5 +-
 .../notebook_list_available_libs/config.xml        |    6 +-
 .../notebook_reconfigure_spark/config.xml          |    7 +-
 .../jenkins_jobs/recreate_edge_node/config.xml     |    7 +-
 .../jenkins_jobs/start_data_engine/config.xml      |    6 +-
 .../azure/jenkins_jobs/start_edge_node/config.xml  |    5 +-
 .../jenkins_jobs/start_notebook_server/config.xml  |    8 +-
 .../azure/jenkins_jobs/stop_data_engine/config.xml |    6 +-
 .../azure/jenkins_jobs/stop_edge_node/config.xml   |    5 +-
 .../jenkins_jobs/stop_notebook_server/config.xml   |    6 +-
 .../jenkins_jobs/terminate_data_engine/config.xml  |    6 +-
 .../jenkins_jobs/terminate_edge_node/config.xml    |    5 +-
 .../terminate_notebook_image/config.xml            |    7 +-
 .../terminate_notebook_server/config.xml           |    6 +-
 .../gcp/jenkins_jobs/create_data_engine/config.xml |   17 +-
 .../create_dataengine-service/config.xml           |   23 +-
 .../gcp/jenkins_jobs/create_edge_node/config.xml   |    6 +-
 .../jenkins_jobs/create_notebook_server/config.xml |    8 +-
 .../config.xml                                     |    7 +-
 .../config.xml                                     |    7 +-
 .../dataengine_install_additional_libs/config.xml  |    9 +-
 .../dataengine_list_available_libs/config.xml      |    6 +-
 .../dataengine_reconfigure_spark/config.xml        |    9 +-
 .../gcp/jenkins_jobs/gitlab_server/config.xml      |   29 +-
 .../jenkins_jobs/manage_git_credentials/config.xml |    8 +-
 .../notebook_install_additional_libs/config.xml    |    5 +-
 .../notebook_list_available_libs/config.xml        |    6 +-
 .../notebook_reconfigure_spark/config.xml          |    7 +-
 .../gcp/jenkins_jobs/recreate_edge_node/config.xml |    6 +-
 .../gcp/jenkins_jobs/start_data_engine/config.xml  |    6 +-
 .../gcp/jenkins_jobs/start_edge_node/config.xml    |    5 +-
 .../jenkins_jobs/start_notebook_server/config.xml  |    7 +-
 .../gcp/jenkins_jobs/stop_data_engine/config.xml   |    6 +-
 .../gcp/jenkins_jobs/stop_edge_node/config.xml     |    5 +-
 .../jenkins_jobs/stop_notebook_server/config.xml   |    6 +-
 .../jenkins_jobs/terminate_data_engine/config.xml  |    6 +-
 .../terminate_dataengine-service/config.xml        |    8 +-
 .../jenkins_jobs/terminate_edge_node/config.xml    |    5 +-
 .../terminate_notebook_server/config.xml           |    6 +-
 .../templates/os/debian/spark-master.service       |    2 +-
 .../templates/os/debian/spark-slave.service        |    2 +-
 .../templates/os/redhat/spark-master.service       |    2 +-
 .../templates/os/redhat/spark-slave.service        |    2 +-
 .../src/general/templates/os/renew_certificates.sh |    6 +-
 infrastructure-provisioning/src/jupyter/fabfile.py |   12 +-
 .../src/jupyter/scripts/configure_jupyter_node.py  |    9 +-
 .../src/jupyterlab/fabfile.py                      |   12 +-
 .../scripts/configure_jupyterlab_node.py           |    9 +-
 infrastructure-provisioning/src/project/fabfile.py |    9 +-
 .../src/project/scripts/configure_http_proxy.py    |    5 +-
 .../src/project/scripts/configure_keycloak.py      |   11 +-
 .../src/project/scripts/configure_nftables.py      |    5 +-
 .../scripts/configure_nginx_reverse_proxy.py       |   10 +-
 .../src/project/scripts/reupload_ssh_key.py        |    9 +-
 .../src/project/templates/conf.d/proxy.conf        |    4 +-
 .../src/project/templates/squid.conf               |    4 +-
 infrastructure-provisioning/src/rstudio/fabfile.py |   12 +-
 .../src/rstudio/scripts/configure_rstudio_node.py  |   15 +-
 infrastructure-provisioning/src/ssn/fabfile.py     |    5 +-
 .../src/ssn/files/aws/mongo_roles.json             |   18 +-
 .../src/ssn/files/azure/mongo_roles.json           |   12 +-
 .../src/ssn/files/gcp/mongo_roles.json             |   20 +-
 .../src/ssn/scripts/backup.py                      |   61 +-
 .../src/ssn/scripts/configure_billing.py           |   53 +-
 .../src/ssn/scripts/configure_conf_file.py         |   19 +-
 .../src/ssn/scripts/configure_docker.py            |   83 +-
 .../src/ssn/scripts/configure_gitlab.py            |   26 +-
 .../src/ssn/scripts/configure_mongo.py             |   25 +-
 .../src/ssn/scripts/configure_ssn_node.py          |  100 +-
 .../src/ssn/scripts/configure_ui.py                |   95 +-
 .../src/ssn/scripts/docker_build.py                |   29 +-
 .../src/ssn/scripts/resource_status.py             |    8 +-
 .../src/ssn/scripts/restore.py                     |   47 +-
 .../src/ssn/scripts/upload_response_file.py        |   10 +-
 .../src/ssn/templates/gitlab.ini                   |   20 +-
 .../src/ssn/templates/nginx_proxy.conf             |    4 +-
 .../src/ssn/templates/ssn.yml                      |    4 +-
 .../src/ssn/templates/supervisor_svc.conf          |    8 +-
 .../src/superset/fabfile.py                        |   12 +-
 .../superset/scripts/configure_superset_node.py    |   11 +-
 .../src/tensor-rstudio/fabfile.py                  |   12 +-
 .../scripts/configure_tensor-rstudio_node.py       |   15 +-
 infrastructure-provisioning/src/tensor/fabfile.py  |   12 +-
 .../src/tensor/scripts/configure_tensor_node.py    |   15 +-
 .../src/zeppelin/fabfile.py                        |   12 +-
 .../zeppelin/scripts/configure_zeppelin_node.py    |   14 +-
 .../terraform/aws/endpoint/main/README.md          |    2 +-
 .../terraform/aws/endpoint/main/variables.tf       |    2 +-
 .../terraform/aws/project/main/variales.tf         |    2 +-
 .../main/datalab-billing-chart}/.helmignore        |    0
 .../main/datalab-billing-chart/Chart.yaml          |   26 +
 .../main/datalab-billing-chart/templates/NOTES.txt |   42 +
 .../datalab-billing-chart/templates/_helpers.tpl   |   65 +
 .../templates/configmap-billing-conf.yaml          |  105 ++
 .../templates/deployment.yaml                      |   86 ++
 .../datalab-billing-chart/templates/service.yaml   |   38 +
 .../main/datalab-billing-chart/values.yaml         |   76 ++
 .../aws/ssn-helm-charts/main/datalab-billing.tf    |   59 +
 .../main/datalab-ui-chart}/.helmignore             |    0
 .../main/datalab-ui-chart/Chart.yaml               |   26 +
 .../main/datalab-ui-chart/templates/NOTES.txt      |   42 +
 .../main/datalab-ui-chart/templates/_helpers.tpl   |   65 +
 .../main/datalab-ui-chart/templates/cert.yaml      |   64 +
 .../templates/configmap-ui-conf.yaml               |  235 ++++
 .../datalab-ui-chart/templates/deployment.yaml     |  107 ++
 .../main/datalab-ui-chart/templates/ingress.yaml   |   57 +
 .../main/datalab-ui-chart/templates/service.yaml   |   43 +
 .../main/datalab-ui-chart/values.yaml              |   69 +
 .../aws/ssn-helm-charts/main/datalab-ui.tf         |   73 ++
 .../main/dlab-billing-chart/Chart.yaml             |   26 -
 .../main/dlab-billing-chart/templates/NOTES.txt    |   42 -
 .../main/dlab-billing-chart/templates/_helpers.tpl |   65 -
 .../templates/configmap-billing-conf.yaml          |  105 --
 .../dlab-billing-chart/templates/deployment.yaml   |   86 --
 .../main/dlab-billing-chart/templates/service.yaml |   38 -
 .../main/dlab-billing-chart/values.yaml            |   76 --
 .../aws/ssn-helm-charts/main/dlab-billing.tf       |   57 -
 .../ssn-helm-charts/main/dlab-ui-chart/Chart.yaml  |   26 -
 .../main/dlab-ui-chart/templates/NOTES.txt         |   42 -
 .../main/dlab-ui-chart/templates/_helpers.tpl      |   65 -
 .../main/dlab-ui-chart/templates/cert.yaml         |   64 -
 .../dlab-ui-chart/templates/configmap-ui-conf.yaml |  235 ----
 .../main/dlab-ui-chart/templates/deployment.yaml   |  107 --
 .../main/dlab-ui-chart/templates/ingress.yaml      |   57 -
 .../main/dlab-ui-chart/templates/service.yaml      |   43 -
 .../ssn-helm-charts/main/dlab-ui-chart/values.yaml |   69 -
 .../terraform/aws/ssn-helm-charts/main/dlab-ui.tf  |   70 -
 .../main/files/configure_keycloak.sh               |   10 +-
 .../main/files/keycloak_values.yaml                |    8 +-
 .../terraform/aws/ssn-helm-charts/main/keycloak.tf |   13 +-
 .../terraform/aws/ssn-helm-charts/main/main.tf     |    6 +-
 .../terraform/aws/ssn-helm-charts/main/mongo.tf    |    6 +-
 .../terraform/aws/ssn-helm-charts/main/mysql.tf    |   12 +-
 .../terraform/aws/ssn-helm-charts/main/nginx.tf    |    6 +-
 .../terraform/aws/ssn-helm-charts/main/secrets.tf  |   36 +-
 .../ssn-helm-charts/main/step-ca-chart/values.yaml |    2 +-
 .../terraform/aws/ssn-helm-charts/main/step-ca.tf  |   11 +-
 .../aws/ssn-helm-charts/main/step-issuer.tf        |    4 +-
 .../aws/ssn-helm-charts/main/variables.tf          |   16 +-
 .../terraform/aws/ssn-k8s/main/README.md           |    6 +-
 .../aws/ssn-k8s/main/files/masters-user-data.sh    |    8 +-
 .../aws/ssn-k8s/main/files/workers-user-data.sh    |    2 +-
 .../terraform/aws/ssn-k8s/main/variables.tf        |    6 +-
 .../terraform/azure/endpoint/main/variables.tf     |    2 +-
 .../terraform/bin/datalab.py                       | 1358 ++++++++++++++++++++
 .../terraform/bin/deploy/billing_app_aws.yml       |    6 +-
 .../terraform/bin/deploy/billing_aws.yml           |   16 +-
 .../terraform/bin/deploy/billing_azure.yml         |   10 +-
 .../terraform/bin/deploy/billing_gcp.yml           |    8 +-
 .../terraform/bin/deploy/endpoint_fab.py           |  135 +-
 .../bin/deploy/mongo_files/configure_mongo.py      |   13 +-
 .../bin/deploy/mongo_files/gcp/mongo_roles.json    |   20 +-
 .../terraform/bin/deploy/provisioning.yml          |   18 +-
 .../terraform/bin/deploy/renew_certificates.sh     |    6 +-
 .../terraform/bin/deploy/supervisor_svc.conf       |    4 +-
 infrastructure-provisioning/terraform/bin/dlab.py  | 1358 --------------------
 .../terraform/bin/terraform-cli.py                 |   10 +-
 .../terraform/gcp/endpoint/main/variables.tf       |    4 +-
 .../terraform/gcp/endpoint/provisioning.py         |  234 ++--
 .../terraform/gcp/endpoint/provisioning.yml        |   24 +-
 .../terraform/gcp/endpoint/supervisor_svc.conf     |    2 +-
 .../helm_charts/datalab-billing-chart}/.helmignore |    0
 .../helm_charts/datalab-billing-chart/Chart.yaml   |   26 +
 .../datalab-billing-chart/templates/NOTES.txt      |   42 +
 .../datalab-billing-chart/templates/_helpers.tpl   |   65 +
 .../templates/configmap-billing-conf.yaml          |   49 +
 .../templates/deployment.yaml                      |   86 ++
 .../datalab-billing-chart/templates/service.yaml   |   38 +
 .../helm_charts/datalab-billing-chart/values.yaml  |   63 +
 .../main/modules/helm_charts/datalab-billing.tf    |   47 +
 .../helm_charts/datalab-ui-chart}/.helmignore      |    0
 .../helm_charts/datalab-ui-chart/Chart.yaml        |   26 +
 .../datalab-ui-chart/templates/NOTES.txt           |   42 +
 .../datalab-ui-chart/templates/_helpers.tpl        |   65 +
 .../datalab-ui-chart/templates/cert.yaml           |   64 +
 .../templates/configmap-ui-conf.yaml               |  235 ++++
 .../datalab-ui-chart/templates/deployment.yaml     |  107 ++
 .../datalab-ui-chart/templates/ingress.yaml        |   57 +
 .../datalab-ui-chart/templates/service.yaml        |   43 +
 .../helm_charts/datalab-ui-chart/values.yaml       |   66 +
 .../ssn-gke/main/modules/helm_charts/datalab-ui.tf |   74 ++
 .../helm_charts/dlab-billing-chart/Chart.yaml      |   26 -
 .../dlab-billing-chart/templates/NOTES.txt         |   42 -
 .../dlab-billing-chart/templates/_helpers.tpl      |   65 -
 .../templates/configmap-billing-conf.yaml          |   49 -
 .../dlab-billing-chart/templates/deployment.yaml   |   86 --
 .../dlab-billing-chart/templates/service.yaml      |   38 -
 .../helm_charts/dlab-billing-chart/values.yaml     |   63 -
 .../main/modules/helm_charts/dlab-billing.tf       |   44 -
 .../modules/helm_charts/dlab-ui-chart/Chart.yaml   |   26 -
 .../helm_charts/dlab-ui-chart/templates/NOTES.txt  |   42 -
 .../dlab-ui-chart/templates/_helpers.tpl           |   65 -
 .../helm_charts/dlab-ui-chart/templates/cert.yaml  |   64 -
 .../dlab-ui-chart/templates/configmap-ui-conf.yaml |  235 ----
 .../dlab-ui-chart/templates/deployment.yaml        |  107 --
 .../dlab-ui-chart/templates/ingress.yaml           |   57 -
 .../dlab-ui-chart/templates/service.yaml           |   43 -
 .../modules/helm_charts/dlab-ui-chart/values.yaml  |   66 -
 .../ssn-gke/main/modules/helm_charts/dlab-ui.tf    |   70 -
 .../main/modules/helm_charts/external-dns.tf       |   10 +-
 .../external-dns/templates/externaldns.yaml        |    2 +-
 .../helm_charts/files/configure_keycloak.sh        |   10 +-
 .../helm_charts/files/get_configmap_values.sh      |    6 +-
 .../modules/helm_charts/files/keycloak_values.yaml |    8 +-
 .../ssn-gke/main/modules/helm_charts/keycloak.tf   |   13 +-
 .../gcp/ssn-gke/main/modules/helm_charts/main.tf   |    2 +-
 .../gcp/ssn-gke/main/modules/helm_charts/mongo.tf  |   10 +-
 .../gcp/ssn-gke/main/modules/helm_charts/mysql.tf  |    6 +-
 .../nginx-ingress/templates/nginx-ingress.yaml     |    4 +-
 .../gcp/ssn-gke/main/modules/helm_charts/nginx.tf  |   16 +-
 .../ssn-gke/main/modules/helm_charts/outputs.tf    |    2 +-
 .../ssn-gke/main/modules/helm_charts/secrets.tf    |   36 +-
 .../modules/helm_charts/step-ca-chart/values.yaml  |    2 +-
 .../ssn-gke/main/modules/helm_charts/step-ca.tf    |   10 +-
 .../main/modules/helm_charts/step-issuer.tf        |    4 +-
 .../terraform/gcp/ssn-gke/main/variables.tf        |   14 +-
 .../terraform/keycloak-theme/Dockerfile            |    2 +-
 integration-tests-cucumber/pom.xml                 |    2 +-
 .../java/org/apache/datalab/dto/EndpointDTO.java   |   38 +
 .../org/apache/datalab/mongo/MongoDBHelper.java    |   33 +
 .../org/apache/datalab/util/JacksonMapper.java     |   35 +
 .../org/apache/datalab/util/PropertyHelper.java    |   42 +
 .../main/java/org/apache/dlab/dto/EndpointDTO.java |   38 -
 .../java/org/apache/dlab/mongo/MongoDBHelper.java  |   33 -
 .../java/org/apache/dlab/util/JacksonMapper.java   |   35 -
 .../java/org/apache/dlab/util/PropertyHelper.java  |   42 -
 .../src/test/java/datalab/Constants.java           |   24 +
 .../src/test/java/datalab/RunCucumberTest.java     |   29 +
 .../test/java/datalab/endpoint/EndpointSteps.java  |  116 ++
 .../src/test/java/datalab/login/LoginSteps.java    |   63 +
 .../src/test/java/dlab/Constants.java              |   24 -
 .../src/test/java/dlab/RunCucumberTest.java        |   29 -
 .../src/test/java/dlab/endpoint/EndpointSteps.java |  116 --
 .../src/test/java/dlab/login/LoginSteps.java       |   63 -
 .../src/test/resources/config.properties           |    4 +-
 .../src/test/resources/datalab/endpoint.feature    |   75 ++
 .../src/test/resources/datalab/login.feature       |   30 +
 .../src/test/resources/dlab/endpoint.feature       |   75 --
 .../src/test/resources/dlab/login.feature          |   30 -
 integration-tests/README.MD                        |    4 +-
 integration-tests/pom.xml                          |   28 +-
 .../cloud/VirtualMachineStatusChecker.java         |   18 +-
 .../dlab/automation/cloud/aws/AmazonHelper.java    |    8 +-
 .../automation/cloud/aws/AmazonInstanceState.java  |    2 +-
 .../dlab/automation/cloud/azure/AzureHelper.java   |    6 +-
 .../epam/dlab/automation/cloud/gcp/GcpHelper.java  |    6 +-
 .../automation/cloud/gcp/GcpInstanceState.java     |    2 +-
 .../com/epam/dlab/automation/docker/AckStatus.java |    2 +-
 .../com/epam/dlab/automation/docker/Bridge.java    |    2 +-
 .../com/epam/dlab/automation/docker/Docker.java    |    6 +-
 .../dlab/automation/docker/DockerContainer.java    |    2 +-
 .../epam/dlab/automation/docker/HostConfig.java    |    2 +-
 .../com/epam/dlab/automation/docker/Labels.java    |    2 +-
 .../dlab/automation/docker/NetworkSettings.java    |    2 +-
 .../com/epam/dlab/automation/docker/Networks.java  |    2 +-
 .../epam/dlab/automation/docker/SSHConnect.java    |    4 +-
 .../dlab/automation/exceptions/CloudException.java |    2 +-
 .../automation/exceptions/DockerException.java     |    2 +-
 .../automation/exceptions/JenkinsException.java    |    2 +-
 .../automation/exceptions/LoadFailException.java   |    2 +-
 .../epam/dlab/automation/helper/CloudHelper.java   |   18 +-
 .../epam/dlab/automation/helper/CloudProvider.java |    2 +-
 .../automation/helper/ConfigPropertyValue.java     |    4 +-
 .../epam/dlab/automation/helper/NamingHelper.java  |    2 +-
 .../dlab/automation/helper/PropertiesResolver.java |    2 +-
 .../epam/dlab/automation/helper/WaitForStatus.java |    8 +-
 .../com/epam/dlab/automation/http/ApiPath.java     |    2 +-
 .../com/epam/dlab/automation/http/ContentType.java |    2 +-
 .../com/epam/dlab/automation/http/HttpRequest.java |    4 +-
 .../epam/dlab/automation/http/HttpStatusCode.java  |    2 +-
 .../jenkins/JenkinsConfigProperties.java           |    2 +-
 .../jenkins/JenkinsResponseElements.java           |    2 +-
 .../dlab/automation/jenkins/JenkinsService.java    |   10 +-
 .../epam/dlab/automation/jenkins/JenkinsUrls.java  |    2 +-
 .../dlab/automation/model/CreateNotebookDto.java   |    2 +-
 .../dlab/automation/model/DeployClusterDto.java    |    2 +-
 .../dlab/automation/model/DeployDataProcDto.java   |    2 +-
 .../epam/dlab/automation/model/DeployEMRDto.java   |    2 +-
 .../epam/dlab/automation/model/DeploySparkDto.java |    2 +-
 .../dlab/automation/model/ExploratoryImageDto.java |    2 +-
 .../com/epam/dlab/automation/model/ImageDto.java   |    2 +-
 .../epam/dlab/automation/model/JsonMapperDto.java  |    2 +-
 .../java/com/epam/dlab/automation/model/Lib.java   |    2 +-
 .../com/epam/dlab/automation/model/LoginDto.java   |    2 +-
 .../epam/dlab/automation/model/NotebookConfig.java |    2 +-
 integration-tests/src/main/resources/log4j2.xml    |   18 +-
 .../epam/dlab/automation/test/TestCallable.java    |   32 +-
 .../automation/test/TestDataEngineService.java     |   16 +-
 .../epam/dlab/automation/test/TestServices.java    |   26 +-
 .../test/libs/LibraryNotFoundException.java        |    2 +-
 .../epam/dlab/automation/test/libs/LibsHelper.java |    6 +-
 .../dlab/automation/test/libs/TestDescription.java |    2 +-
 .../automation/test/libs/TestLibGroupStep.java     |   12 +-
 .../automation/test/libs/TestLibInstallStep.java   |   22 +-
 .../dlab/automation/test/libs/TestLibListStep.java |   20 +-
 .../dlab/automation/test/libs/TestLibStep.java     |    2 +-
 .../test/libs/models/LibInstallRequest.java        |    4 +-
 .../test/libs/models/LibSearchRequest.java         |    2 +-
 .../test/libs/models/LibStatusResponse.java        |    2 +-
 .../test/libs/models/LibToSearchData.java          |    2 +-
 .../automation/test/libs/models/LibraryStatus.java |    2 +-
 integration-tests/src/test/resources/log4j2.xml    |   18 +-
 pom.xml                                            |   56 +-
 services/billing-aws/billing.yml                   |   16 +-
 services/billing-aws/pom.xml                       |   10 +-
 .../com/epam/datalab/BillingAwsApplication.java    |   37 +
 .../main/java/com/epam/datalab/BillingService.java |   29 +
 .../java/com/epam/datalab/BillingServiceImpl.java  |  127 ++
 .../main/java/com/epam/datalab/BillingTool.java    |  176 +++
 .../src/main/java/com/epam/datalab/Help.java       |  146 +++
 .../java/com/epam/datalab/conf/SecurityConfig.java |   66 +
 .../configuration/BillingToolConfiguration.java    |  282 ++++
 .../BillingToolConfigurationFactory.java           |  110 ++
 .../datalab/configuration/ConfigJsonGenerator.java |  103 ++
 .../configuration/ConfigurationValidator.java      |   71 +
 .../datalab/configuration/FreeMarkerConfig.java    |   84 ++
 .../configuration/LoggingConfigurationFactory.java |  170 +++
 .../epam/datalab/controller/BillingController.java |   44 +
 .../java/com/epam/datalab/core/AdapterBase.java    |  173 +++
 .../java/com/epam/datalab/core/BillingUtils.java   |  144 +++
 .../java/com/epam/datalab/core/DBAdapterBase.java  |  163 +++
 .../java/com/epam/datalab/core/FilterBase.java     |   95 ++
 .../java/com/epam/datalab/core/ModuleBase.java     |   84 ++
 .../java/com/epam/datalab/core/ModuleData.java     |  182 +++
 .../java/com/epam/datalab/core/ModuleType.java     |   46 +
 .../core/aggregate/AggregateGranularity.java       |   44 +
 .../datalab/core/aggregate/DataAggregator.java     |  172 +++
 .../epam/datalab/core/aggregate/UsageDataList.java |   87 ++
 .../com/epam/datalab/core/parser/ColumnInfo.java   |   59 +
 .../com/epam/datalab/core/parser/ColumnMeta.java   |  318 +++++
 .../com/epam/datalab/core/parser/CommonFormat.java |  304 +++++
 .../datalab/core/parser/ConditionEvaluate.java     |  168 +++
 .../com/epam/datalab/core/parser/ParserBase.java   |  395 ++++++
 .../com/epam/datalab/core/parser/ParserByLine.java |  249 ++++
 .../epam/datalab/core/parser/ParserStatistics.java |  194 +++
 .../com/epam/datalab/logging/AppenderBase.java     |  103 ++
 .../com/epam/datalab/logging/AppenderConsole.java  |   44 +
 .../com/epam/datalab/logging/AppenderFile.java     |  208 +++
 .../com/epam/datalab/module/AdapterConsole.java    |   92 ++
 .../java/com/epam/datalab/module/AdapterFile.java  |  164 +++
 .../java/com/epam/datalab/module/ModuleName.java   |   33 +
 .../java/com/epam/datalab/module/ParserCsv.java    |  312 +++++
 .../com/epam/datalab/module/aws/AdapterS3File.java |  388 ++++++
 .../com/epam/datalab/module/aws/FilterAWS.java     |  150 +++
 .../com/epam/datalab/module/aws/S3FileList.java    |  168 +++
 .../com/epam/datalab/mongo/AdapterMongoDb.java     |  229 ++++
 .../epam/datalab/mongo/DatalabResourceTypeDAO.java |  115 ++
 .../com/epam/datalab/mongo/MongoConstants.java     |   32 +
 .../com/epam/datalab/mongo/MongoDbConnection.java  |  223 ++++
 .../java/com/epam/dlab/BillingAwsApplication.java  |   37 -
 .../main/java/com/epam/dlab/BillingService.java    |   29 -
 .../java/com/epam/dlab/BillingServiceImpl.java     |  127 --
 .../src/main/java/com/epam/dlab/BillingTool.java   |  164 ---
 .../src/main/java/com/epam/dlab/Help.java          |  136 --
 .../java/com/epam/dlab/conf/SecurityConfig.java    |   66 -
 .../configuration/BillingToolConfiguration.java    |  282 ----
 .../BillingToolConfigurationFactory.java           |  101 --
 .../dlab/configuration/ConfigJsonGenerator.java    |   88 --
 .../dlab/configuration/ConfigurationValidator.java |   63 -
 .../epam/dlab/configuration/FreeMarkerConfig.java  |   81 --
 .../configuration/LoggingConfigurationFactory.java |  145 ---
 .../epam/dlab/controller/BillingController.java    |   44 -
 .../main/java/com/epam/dlab/core/AdapterBase.java  |  173 ---
 .../main/java/com/epam/dlab/core/BillingUtils.java |  129 --
 .../java/com/epam/dlab/core/DBAdapterBase.java     |  127 --
 .../main/java/com/epam/dlab/core/FilterBase.java   |   95 --
 .../main/java/com/epam/dlab/core/ModuleBase.java   |   73 --
 .../main/java/com/epam/dlab/core/ModuleData.java   |  182 ---
 .../main/java/com/epam/dlab/core/ModuleType.java   |   45 -
 .../dlab/core/aggregate/AggregateGranularity.java  |   42 -
 .../epam/dlab/core/aggregate/DataAggregator.java   |  172 ---
 .../epam/dlab/core/aggregate/UsageDataList.java    |   75 --
 .../java/com/epam/dlab/core/parser/ColumnInfo.java |   50 -
 .../java/com/epam/dlab/core/parser/ColumnMeta.java |  318 -----
 .../com/epam/dlab/core/parser/CommonFormat.java    |  304 -----
 .../epam/dlab/core/parser/ConditionEvaluate.java   |  152 ---
 .../java/com/epam/dlab/core/parser/ParserBase.java |  311 -----
 .../com/epam/dlab/core/parser/ParserByLine.java    |  249 ----
 .../epam/dlab/core/parser/ParserStatistics.java    |  153 ---
 .../java/com/epam/dlab/logging/AppenderBase.java   |   93 --
 .../com/epam/dlab/logging/AppenderConsole.java     |   44 -
 .../java/com/epam/dlab/logging/AppenderFile.java   |  181 ---
 .../java/com/epam/dlab/module/AdapterConsole.java  |   92 --
 .../java/com/epam/dlab/module/AdapterFile.java     |  164 ---
 .../main/java/com/epam/dlab/module/ModuleName.java |   32 -
 .../main/java/com/epam/dlab/module/ParserCsv.java  |  272 ----
 .../com/epam/dlab/module/aws/AdapterS3File.java    |  388 ------
 .../java/com/epam/dlab/module/aws/FilterAWS.java   |  150 ---
 .../java/com/epam/dlab/module/aws/S3FileList.java  |  168 ---
 .../java/com/epam/dlab/mongo/AdapterMongoDb.java   |  248 ----
 .../com/epam/dlab/mongo/DlabResourceTypeDAO.java   |  189 ---
 .../java/com/epam/dlab/mongo/MongoConstants.java   |   59 -
 .../com/epam/dlab/mongo/MongoDbConnection.java     |  223 ----
 .../billing-aws/src/main/resources/application.yml |    6 +-
 ...b.configuration.BillingToolConfigurationFactory |    8 +
 .../src/main/resources/com.epam.dlab.Help.conf.txt |    2 +-
 ...b.configuration.BillingToolConfigurationFactory |    8 -
 .../BillingToolConfigurationTest.java              |   97 ++
 .../configuration/ConfigJsonGeneratorTest.java     |   59 +
 .../configuration/ConfigurationValidatorTest.java  |   54 +
 .../LoggingConfigurationFactoryTest.java           |   89 ++
 .../com/epam/datalab/core/BillingUtilsTest.java    |  107 ++
 .../datalab/core/aggregate/DataAggregatorTest.java |   47 +
 .../datalab/core/aggregate/UsageDataListTest.java  |  116 ++
 .../core/parser/BillingResourceTypeTest.java       |   36 +
 .../epam/datalab/core/parser/ColumnInfoTest.java   |   37 +
 .../epam/datalab/core/parser/ColumnMetaTest.java   |   86 ++
 .../epam/datalab/core/parser/CommonFormatTest.java |  107 ++
 .../datalab/core/parser/ConditionEvaluateTest.java |  118 ++
 .../epam/datalab/core/parser/ReportLineTest.java   |   94 ++
 .../epam/datalab/logging/AppenderConsoleTest.java  |   33 +
 .../com/epam/datalab/logging/AppenderFileTest.java |   42 +
 .../epam/datalab/module/AdapterConsoleTest.java    |   33 +
 .../com/epam/datalab/module/AdapterFileTest.java   |   41 +
 .../epam/datalab/module/AdapterMongoDBTest.java    |   55 +
 .../com/epam/datalab/module/ParserCsvTest.java     |   81 ++
 .../epam/datalab/module/aws/AdapterS3FileTest.java |   50 +
 .../com/epam/datalab/module/aws/FilterAWSTest.java |   50 +
 .../epam/datalab/module/aws/S3FileListTest.java    |  125 ++
 .../BillingToolConfigurationTest.java              |   98 --
 .../configuration/ConfigJsonGeneratorTest.java     |   60 -
 .../configuration/ConfigurationValidatorTest.java  |   55 -
 .../LoggingConfigurationFactoryTest.java           |   91 --
 .../java/com/epam/dlab/core/BillingUtilsTest.java  |  108 --
 .../dlab/core/aggregate/DataAggregatorTest.java    |   47 -
 .../dlab/core/aggregate/UsageDataListTest.java     |  116 --
 .../dlab/core/parser/BillingResourceTypeTest.java  |   36 -
 .../com/epam/dlab/core/parser/ColumnInfoTest.java  |   37 -
 .../com/epam/dlab/core/parser/ColumnMetaTest.java  |   86 --
 .../epam/dlab/core/parser/CommonFormatTest.java    |  107 --
 .../dlab/core/parser/ConditionEvaluateTest.java    |  119 --
 .../com/epam/dlab/core/parser/ReportLineTest.java  |   94 --
 .../com/epam/dlab/logging/AppenderConsoleTest.java |   33 -
 .../com/epam/dlab/logging/AppenderFileTest.java    |   42 -
 .../com/epam/dlab/module/AdapterConsoleTest.java   |   33 -
 .../java/com/epam/dlab/module/AdapterFileTest.java |   42 -
 .../com/epam/dlab/module/AdapterMongoDBTest.java   |   56 -
 .../java/com/epam/dlab/module/ParserCsvTest.java   |   82 --
 .../epam/dlab/module/aws/AdapterS3FileTest.java    |   51 -
 .../com/epam/dlab/module/aws/FilterAWSTest.java    |   50 -
 .../com/epam/dlab/module/aws/S3FileListTest.java   |  126 --
 services/billing-azure/billing.yml                 |   10 +-
 services/billing-azure/pom.xml                     |    8 +-
 .../azure/AzureInvoiceCalculationService.java      |  242 ++++
 .../billing/azure/BillingAzureApplication.java     |   36 +
 .../billing/azure/CalculateBillingService.java     |   29 +
 .../billing/azure/CalculateBillingServiceImpl.java |  247 ++++
 .../billing/azure/MongoDbBillingClient.java        |   50 +
 .../epam/datalab/billing/azure/MongoDocument.java  |   70 +
 .../config/AggregationOutputMongoDataSource.java   |   31 +
 .../azure/config/BillingConfigurationAzure.java    |   52 +
 .../azure/config/LoggingConfigurationFactory.java  |  166 +++
 .../billing/azure/config/SecurityConfig.java       |   66 +
 .../azure/controller/BillingController.java        |   44 +
 .../billing/azure/logging/AppenderBase.java        |  103 ++
 .../billing/azure/logging/AppenderConsole.java     |   44 +
 .../billing/azure/logging/AppenderFile.java        |  200 +++
 .../azure/model/AzureDailyResourceInvoice.java     |   48 +
 .../azure/model/AzureDatalabBillableResource.java  |   39 +
 .../datalab/billing/azure/model/BillingPeriod.java |   35 +
 .../billing/azure/rate/AzureRateCardClient.java    |  109 ++
 .../com/epam/datalab/billing/azure/rate/Meter.java |   52 +
 .../billing/azure/rate/RateCardResponse.java       |   41 +
 .../azure/usage/AzureUsageAggregateClient.java     |  103 ++
 .../datalab/billing/azure/usage/InstanceData.java  |   29 +
 .../billing/azure/usage/MicrosoftResources.java    |   37 +
 .../billing/azure/usage/UsageAggregateRecord.java  |   35 +
 .../usage/UsageAggregateRecordProperties.java      |   54 +
 .../azure/usage/UsageAggregateResponse.java        |   33 +
 .../azure/AzureInvoiceCalculationService.java      |  242 ----
 .../billing/azure/BillingAzureApplication.java     |   36 -
 .../billing/azure/CalculateBillingService.java     |   29 -
 .../billing/azure/CalculateBillingServiceImpl.java |  247 ----
 .../dlab/billing/azure/MongoDbBillingClient.java   |   50 -
 .../com/epam/dlab/billing/azure/MongoDocument.java |   70 -
 .../config/AggregationOutputMongoDataSource.java   |   31 -
 .../azure/config/BillingConfigurationAzure.java    |   52 -
 .../azure/config/LoggingConfigurationFactory.java  |  166 ---
 .../dlab/billing/azure/config/SecurityConfig.java  |   66 -
 .../azure/controller/BillingController.java        |   44 -
 .../dlab/billing/azure/logging/AppenderBase.java   |   92 --
 .../billing/azure/logging/AppenderConsole.java     |   43 -
 .../dlab/billing/azure/logging/AppenderFile.java   |  173 ---
 .../azure/model/AzureDailyResourceInvoice.java     |   48 -
 .../azure/model/AzureDlabBillableResource.java     |   39 -
 .../dlab/billing/azure/model/BillingPeriod.java    |   35 -
 .../billing/azure/rate/AzureRateCardClient.java    |  105 --
 .../com/epam/dlab/billing/azure/rate/Meter.java    |   52 -
 .../dlab/billing/azure/rate/RateCardResponse.java  |   41 -
 .../azure/usage/AzureUsageAggregateClient.java     |  103 --
 .../dlab/billing/azure/usage/InstanceData.java     |   29 -
 .../billing/azure/usage/MicrosoftResources.java    |   37 -
 .../billing/azure/usage/UsageAggregateRecord.java  |   35 -
 .../usage/UsageAggregateRecordProperties.java      |   54 -
 .../azure/usage/UsageAggregateResponse.java        |   33 -
 .../src/main/resources/application.yml             |   18 +-
 services/billing-gcp/billing.yml                   |    8 +-
 services/billing-gcp/pom.xml                       |    8 +-
 .../datalab/billing/gcp/BillingGcpApplication.java |   36 +
 .../gcp/conf/BillingApplicationConfiguration.java  |   34 +
 .../billing/gcp/conf/DatalabConfiguration.java     |   35 +
 .../datalab/billing/gcp/conf/SecurityConfig.java   |   66 +
 .../billing/gcp/controller/BillingController.java  |   44 +
 .../epam/datalab/billing/gcp/dao/BillingDAO.java   |   29 +
 .../billing/gcp/dao/impl/BigQueryBillingDAO.java   |  131 ++
 .../datalab/billing/gcp/model/BillingHistory.java  |   32 +
 .../gcp/repository/BillingHistoryRepository.java   |   26 +
 .../billing/gcp/service/BillingService.java        |   29 +
 .../gcp/service/impl/BillingServiceImpl.java       |   52 +
 .../dlab/billing/gcp/BillingGcpApplication.java    |   36 -
 .../gcp/conf/BillingApplicationConfiguration.java  |   34 -
 .../dlab/billing/gcp/conf/DlabConfiguration.java   |   35 -
 .../epam/dlab/billing/gcp/conf/SecurityConfig.java |   66 -
 .../billing/gcp/controller/BillingController.java  |   44 -
 .../com/epam/dlab/billing/gcp/dao/BillingDAO.java  |   29 -
 .../billing/gcp/dao/impl/BigQueryBillingDAO.java   |  131 --
 .../dlab/billing/gcp/model/BillingHistory.java     |   32 -
 .../dlab/billing/gcp/model/GcpBillingData.java     |   44 -
 .../gcp/repository/BillingHistoryRepository.java   |   26 -
 .../billing/gcp/repository/BillingRepository.java  |   27 -
 .../dlab/billing/gcp/service/BillingService.java   |   29 -
 .../gcp/service/impl/BillingServiceImpl.java       |   52 -
 .../billing-gcp/src/main/resources/application.yml |   16 +-
 services/common/pom.xml                            |    4 +-
 .../datalab/billing/BillingCalculationUtils.java   |   42 +
 .../epam/datalab/billing/DatalabResourceType.java  |   54 +
 .../epam/datalab/exceptions/AdapterException.java  |   56 +
 .../exceptions/DatalabAuthenticationException.java |   26 +
 .../epam/datalab/exceptions/DatalabException.java  |   34 +
 .../exceptions/DatalabValidationException.java     |   26 +
 .../epam/datalab/exceptions/GenericException.java  |   56 +
 .../exceptions/InitializationException.java        |   56 +
 .../epam/datalab/exceptions/ParseException.java    |   57 +
 .../exceptions/ResourceAlreadyExistException.java  |   26 +
 .../exceptions/ResourceConflictException.java      |   26 +
 .../ResourceInappropriateStateException.java       |   26 +
 .../exceptions/ResourceNotFoundException.java      |   26 +
 .../exceptions/ResourceQuoteReachedException.java  |   29 +
 .../epam/dlab/billing/BillingCalculationUtils.java |   42 -
 .../com/epam/dlab/billing/DlabResourceType.java    |   54 -
 .../com/epam/dlab/exceptions/AdapterException.java |   49 -
 .../exceptions/DlabAuthenticationException.java    |   26 -
 .../com/epam/dlab/exceptions/DlabException.java    |   34 -
 .../dlab/exceptions/DlabValidationException.java   |   26 -
 .../com/epam/dlab/exceptions/GenericException.java |   49 -
 .../dlab/exceptions/InitializationException.java   |   49 -
 .../com/epam/dlab/exceptions/ParseException.java   |   50 -
 .../exceptions/ResourceAlreadyExistException.java  |   26 -
 .../dlab/exceptions/ResourceConflictException.java |   26 -
 .../ResourceInappropriateStateException.java       |   26 -
 .../dlab/exceptions/ResourceNotFoundException.java |   26 -
 .../exceptions/ResourceQuoteReachedException.java  |   29 -
 services/datalab-model/pom.xml                     |   79 ++
 .../main/java/com/epam/datalab/MongoKeyWords.java  |   34 +
 .../datalab/dto/InfrastructureMetaInfoDTO.java     |   34 +
 .../epam/datalab/dto/LibListComputationalDTO.java  |   55 +
 .../epam/datalab/dto/LibListExploratoryDTO.java    |   40 +
 .../java/com/epam/datalab/dto/LibraryGroups.java   |   40 +
 .../java/com/epam/datalab/dto/ResourceBaseDTO.java |   74 ++
 .../com/epam/datalab/dto/ResourceEnvBaseDTO.java   |   71 +
 .../com/epam/datalab/dto/ResourceSysBaseDTO.java   |   87 ++
 .../java/com/epam/datalab/dto/ResourceURL.java     |   38 +
 .../java/com/epam/datalab/dto/SchedulerJobDTO.java |   86 ++
 .../java/com/epam/datalab/dto/StatusBaseDTO.java   |  127 ++
 .../com/epam/datalab/dto/StatusEnvBaseDTO.java     |  117 ++
 .../epam/datalab/dto/UserEnvironmentResources.java |   62 +
 .../java/com/epam/datalab/dto/UserInstanceDTO.java |  192 +++
 .../com/epam/datalab/dto/UserInstanceStatus.java   |   67 +
 .../com/epam/datalab/dto/aws/AwsCloudSettings.java |  102 ++
 .../computational/AwsComputationalResource.java    |   78 ++
 .../AwsComputationalTerminateDTO.java              |   33 +
 .../dto/aws/computational/ClusterConfig.java       |   41 +
 .../aws/computational/ComputationalConfigAws.java  |   53 +
 .../aws/computational/ComputationalCreateAws.java  |  165 +++
 .../computational/SparkComputationalConfigAws.java |   48 +
 .../computational/SparkComputationalCreateAws.java |   78 ++
 .../epam/datalab/dto/aws/edge/EdgeCreateAws.java   |   53 +
 .../com/epam/datalab/dto/aws/edge/EdgeInfoAws.java |   42 +
 .../dto/aws/exploratory/ExploratoryCreateAws.java  |   48 +
 .../datalab/dto/aws/keyload/UploadFileAws.java     |   35 +
 .../epam/datalab/dto/azure/AzureCloudSettings.java |   96 ++
 .../azure/auth/AuthorizationCodeFlowResponse.java  |   63 +
 .../SparkComputationalConfigAzure.java             |   46 +
 .../SparkComputationalCreateAzure.java             |   94 ++
 .../datalab/dto/azure/edge/EdgeCreateAzure.java    |   54 +
 .../epam/datalab/dto/azure/edge/EdgeInfoAzure.java |   52 +
 .../exploratory/ExploratoryActionStartAzure.java   |   64 +
 .../exploratory/ExploratoryActionStopAzure.java    |   44 +
 .../azure/exploratory/ExploratoryCreateAzure.java  |   85 ++
 .../datalab/dto/azure/keyload/UploadFileAzure.java |   35 +
 .../com/epam/datalab/dto/backup/EnvBackupDTO.java  |   40 +
 .../epam/datalab/dto/backup/EnvBackupStatus.java   |   49 +
 .../datalab/dto/backup/EnvBackupStatusDTO.java     |   56 +
 .../com/epam/datalab/dto/base/CloudSettings.java   |   32 +
 .../com/epam/datalab/dto/base/DataEngineType.java  |   66 +
 .../dto/base/computational/ComputationalBase.java  |  119 ++
 .../computational/FullComputationalTemplate.java   |   33 +
 .../com/epam/datalab/dto/base/edge/EdgeInfo.java   |   71 +
 .../datalab/dto/base/keyload/ReuploadFile.java     |   33 +
 .../epam/datalab/dto/base/keyload/UploadFile.java  |   33 +
 .../datalab/dto/base/keyload/UploadFileResult.java |   46 +
 .../datalab/dto/base/project/ProjectResult.java    |   37 +
 .../com/epam/datalab/dto/billing/BillingData.java  |   44 +
 .../datalab/dto/billing/BillingResourceType.java   |   31 +
 .../com/epam/datalab/dto/bucket/BucketDTO.java     |   34 +
 .../epam/datalab/dto/bucket/BucketDeleteDTO.java   |   32 +
 .../epam/datalab/dto/bucket/FolderUploadDTO.java   |   33 +
 .../computational/CheckInactivityCallbackDTO.java  |   57 +
 .../dto/computational/CheckInactivityStatus.java   |   49 +
 .../computational/CheckInactivityStatusDTO.java    |   30 +
 .../ComputationalCheckInactivityDTO.java           |   57 +
 .../ComputationalClusterConfigDTO.java             |   40 +
 .../dto/computational/ComputationalStartDTO.java   |   25 +
 .../dto/computational/ComputationalStatusDTO.java  |  118 ++
 .../dto/computational/ComputationalStopDTO.java    |   25 +
 .../computational/ComputationalTerminateDTO.java   |   25 +
 .../SparkStandaloneClusterResource.java            |   62 +
 .../computational/UserComputationalResource.java   |   99 ++
 .../dto/exploratory/ExploratoryActionDTO.java      |   71 +
 .../dto/exploratory/ExploratoryBaseDTO.java        |   85 ++
 .../ExploratoryCheckInactivityAction.java          |   23 +
 .../dto/exploratory/ExploratoryCreateDTO.java      |  134 ++
 .../dto/exploratory/ExploratoryGitCreds.java       |  193 +++
 .../dto/exploratory/ExploratoryGitCredsDTO.java    |   63 +
 .../exploratory/ExploratoryGitCredsUpdateDTO.java  |   62 +
 .../dto/exploratory/ExploratoryImageDTO.java       |   72 ++
 ...xploratoryReconfigureSparkClusterActionDTO.java |   43 +
 .../dto/exploratory/ExploratoryStatusDTO.java      |  128 ++
 .../dto/exploratory/ImageCreateStatusDTO.java      |   74 ++
 .../epam/datalab/dto/exploratory/ImageStatus.java  |   39 +
 .../datalab/dto/exploratory/LibInstallDTO.java     |   85 ++
 .../dto/exploratory/LibInstallStatusDTO.java       |   57 +
 .../datalab/dto/exploratory/LibListStatusDTO.java  |   63 +
 .../epam/datalab/dto/exploratory/LibStatus.java    |   49 +
 .../datalab/dto/exploratory/LibraryInstallDTO.java |   67 +
 .../com/epam/datalab/dto/gcp/GcpCloudSettings.java |   96 ++
 .../auth/GcpOauth2AuthorizationCodeResponse.java   |   29 +
 .../gcp/computational/ComputationalCreateGcp.java  |  100 ++
 .../computational/GcpComputationalResource.java    |   77 ++
 .../GcpComputationalTerminateDTO.java              |   33 +
 .../computational/SparkComputationalCreateGcp.java |   81 ++
 .../epam/datalab/dto/gcp/edge/EdgeCreateGcp.java   |   25 +
 .../com/epam/datalab/dto/gcp/edge/EdgeInfoGcp.java |   40 +
 .../dto/gcp/exploratory/ExploratoryCreateGcp.java  |   48 +
 .../datalab/dto/gcp/keyload/UploadFileGcp.java     |   42 +
 .../datalab/dto/imagemetadata/ApplicationDto.java  |   85 ++
 .../imagemetadata/ComputationalMetadataDTO.java    |   53 +
 .../ComputationalResourceShapeDto.java             |  114 ++
 .../ExploratoryEnvironmentVersion.java             |   94 ++
 .../dto/imagemetadata/ExploratoryMetadataDTO.java  |   48 +
 .../dto/imagemetadata/ImageMetadataDTO.java        |   51 +
 .../epam/datalab/dto/imagemetadata/ImageType.java  |   46 +
 .../datalab/dto/imagemetadata/TemplateDTO.java     |   84 ++
 .../epam/datalab/dto/keyload/KeyLoadStatus.java    |   60 +
 .../com/epam/datalab/dto/keyload/UserKeyDTO.java   |   58 +
 .../epam/datalab/dto/project/ProjectActionDTO.java |   34 +
 .../epam/datalab/dto/project/ProjectCreateDTO.java |   37 +
 .../dto/reuploadkey/ReuploadKeyCallbackDTO.java    |   64 +
 .../datalab/dto/reuploadkey/ReuploadKeyDTO.java    |   56 +
 .../datalab/dto/reuploadkey/ReuploadKeyStatus.java |   49 +
 .../dto/reuploadkey/ReuploadKeyStatusDTO.java      |   48 +
 .../com/epam/datalab/dto/status/EnvResource.java   |  161 +++
 .../epam/datalab/dto/status/EnvResourceList.java   |   91 ++
 .../com/epam/datalab/dto/status/EnvStatusDTO.java  |   65 +
 .../java/com/epam/datalab/model/ResourceData.java  |   60 +
 .../java/com/epam/datalab/model/ResourceEnum.java  |   38 +
 .../java/com/epam/datalab/model/ResourceType.java  |   37 +
 .../java/com/epam/datalab/model/StringList.java    |   47 +
 .../datalab/model/aws/BillingResourceType.java     |   80 ++
 .../com/epam/datalab/model/aws/ReportLine.java     |  233 ++++
 .../epam/datalab/model/azure/AzureAuthFile.java    |   39 +
 .../datalab/model/exploratory/Exploratory.java     |   41 +
 .../com/epam/datalab/model/exploratory/Image.java  |   46 +
 .../com/epam/datalab/model/library/Library.java    |   55 +
 .../datalab/model/scheduler/SchedulerJobData.java  |   44 +
 .../epam/datalab/model/systeminfo/DiskInfo.java    |   36 +
 .../epam/datalab/model/systeminfo/MemoryInfo.java  |   39 +
 .../com/epam/datalab/model/systeminfo/OsInfo.java  |   38 +
 .../datalab/model/systeminfo/ProcessorInfo.java    |   46 +
 .../datalab/util/CloudSettingsDeserializer.java    |   88 ++
 .../java/com/epam/datalab/util/JsonGenerator.java  |   54 +
 .../datalab/dto/status/EnvResourceDTOTest.java     |   80 ++
 .../epam/datalab/dto/status/EnvStatusDTOTest.java  |   89 ++
 .../com/epam/datalab/util/JsonGeneratorTest.java   |   37 +
 services/datalab-mongo-migration/pom.xml           |   39 +
 .../com/epam/datalab/migration/DbMigration.java    |   26 +
 .../exception/DatalabDbMigrationException.java     |   27 +
 .../migration/mongo/DatalabMongoMigration.java     |   48 +
 .../mongo/changelog/DatalabChangeLog.java          |   66 +
 services/datalab-utils/pom.xml                     |   52 +
 .../main/java/com/epam/datalab/util/FileUtils.java |   61 +
 .../java/com/epam/datalab/util/SecurityUtils.java  |   38 +
 .../java/com/epam/datalab/util/ServiceUtils.java   |  151 +++
 .../java/com/epam/datalab/util/UsernameUtils.java  |   36 +
 .../datalab/util/mongo/IsoDateDeSerializer.java    |   61 +
 .../epam/datalab/util/mongo/IsoDateSerializer.java |   48 +
 .../util/mongo/IsoLocalDateDeSerializer.java       |   47 +
 .../datalab/util/mongo/IsoLocalDateSerializer.java |   38 +
 .../util/mongo/IsoLocalDateTimeDeSerializer.java   |   48 +
 .../util/mongo/IsoLocalDateTimeSerializer.java     |   38 +
 .../epam/datalab/util/mongo/LongDeSerializer.java  |   44 +
 .../util/mongo/MongoStringDeserializer.java        |   32 +
 .../datalab/util/mongo/MongoStringSerializaer.java |   38 +
 .../datalab/util/mongo/modules/IsoDateModule.java  |   64 +
 .../util/mongo/modules/JavaPrimitiveModule.java    |   30 +
 .../datalab/util/mongo/modules/MongoModule.java    |   31 +
 .../com/epam/datalab/util/SecurityUtilsTest.java   |   35 +
 .../mongo/IsoLocalDateTimeDeSerializerTest.java    |   89 ++
 .../util/mongo/IsoLocalDateTimeSerDeTest.java      |   70 +
 .../util/mongo/IsoLocalDateTimeSerializerTest.java |   57 +
 services/datalab-webapp-common/pom.xml             |   69 +
 .../src/main/java/com/epam/datalab/ModuleBase.java |   48 +
 .../com/epam/datalab/ServiceConfiguration.java     |  114 ++
 .../datalab/auth/SecurityUnauthorizedHandler.java  |   32 +
 .../main/java/com/epam/datalab/auth/UserInfo.java  |  222 ++++
 .../epam/datalab/auth/contract/SecurityAPI.java    |   30 +
 .../epam/datalab/auth/dto/UserCredentialDTO.java   |   74 ++
 .../auth/oauth2/Oauth2AuthenticationService.java   |   38 +
 .../auth/rest/AbstractAuthenticationService.java   |   47 +
 .../datalab/auth/rest/ConfigurableResource.java    |   36 +
 .../auth/rest/UserSessionDurationAuthorizer.java   |   90 ++
 .../auth/rest/UserSessionDurationCallback.java     |   27 +
 .../java/com/epam/datalab/cloud/CloudModule.java   |   34 +
 .../java/com/epam/datalab/cloud/CloudProvider.java |   28 +
 .../com/epam/datalab/constants/ServiceConsts.java  |   34 +
 .../java/com/epam/datalab/mongo/MongoService.java  |   80 ++
 .../epam/datalab/mongo/MongoServiceFactory.java    |   93 ++
 .../com/epam/datalab/rest/client/RESTService.java  |  165 +++
 .../datalab/rest/client/RESTServiceFactory.java    |   61 +
 .../epam/datalab/rest/contracts/ApiCallbacks.java  |   45 +
 .../com/epam/datalab/rest/contracts/BackupAPI.java |   27 +
 .../datalab/rest/contracts/ComputationalAPI.java   |   41 +
 .../com/epam/datalab/rest/contracts/DockerAPI.java |   27 +
 .../datalab/rest/contracts/ExploratoryAPI.java     |   34 +
 .../datalab/rest/contracts/InfrasctructureAPI.java |   29 +
 .../com/epam/datalab/rest/contracts/KeyAPI.java    |   29 +
 .../java/com/epam/datalab/rest/dto/ErrorDTO.java   |   35 +
 .../mappers/AuthenticationExceptionMapper.java     |   38 +
 .../mappers/DatalabValidationExceptionMapper.java  |   38 +
 .../rest/mappers/GenericExceptionMapper.java       |   43 +
 .../mappers/JsonProcessingExceptionMapper.java     |   28 +
 .../mappers/ResourceConflictExceptionMapper.java   |   40 +
 .../mappers/ResourceNotFoundExceptionMapper.java   |   40 +
 .../ResourceQuoteReachedExceptionMapper.java       |   37 +
 .../rest/mappers/RuntimeExceptionMapper.java       |   63 +
 .../rest/mappers/ValidationExceptionMapper.java    |   45 +
 .../com/epam/datalab/validation/AwsValidation.java |   23 +
 .../epam/datalab/validation/AzureValidation.java   |   23 +
 .../CloudConfigurationSequenceProvider.java        |   66 +
 .../com/epam/datalab/validation/GcpValidation.java |   23 +
 services/dlab-model/pom.xml                        |   80 --
 .../src/main/java/com/epam/dlab/MongoKeyWords.java |   34 -
 .../epam/dlab/dto/InfrastructureMetaInfoDTO.java   |   34 -
 .../com/epam/dlab/dto/LibListComputationalDTO.java |   55 -
 .../com/epam/dlab/dto/LibListExploratoryDTO.java   |   40 -
 .../main/java/com/epam/dlab/dto/LibraryGroups.java |   40 -
 .../java/com/epam/dlab/dto/ResourceBaseDTO.java    |   74 --
 .../java/com/epam/dlab/dto/ResourceEnvBaseDTO.java |   71 -
 .../java/com/epam/dlab/dto/ResourceSysBaseDTO.java |   87 --
 .../main/java/com/epam/dlab/dto/ResourceURL.java   |   38 -
 .../java/com/epam/dlab/dto/SchedulerJobDTO.java    |   82 --
 .../main/java/com/epam/dlab/dto/StatusBaseDTO.java |  127 --
 .../java/com/epam/dlab/dto/StatusEnvBaseDTO.java   |  117 --
 .../epam/dlab/dto/UserEnvironmentResources.java    |   62 -
 .../java/com/epam/dlab/dto/UserInstanceDTO.java    |  192 ---
 .../java/com/epam/dlab/dto/UserInstanceStatus.java |   67 -
 .../com/epam/dlab/dto/aws/AwsCloudSettings.java    |   97 --
 .../computational/AwsComputationalResource.java    |   78 --
 .../AwsComputationalTerminateDTO.java              |   33 -
 .../dlab/dto/aws/computational/ClusterConfig.java  |   41 -
 .../aws/computational/ComputationalConfigAws.java  |   53 -
 .../aws/computational/ComputationalCreateAws.java  |  165 ---
 .../computational/SparkComputationalConfigAws.java |   48 -
 .../computational/SparkComputationalCreateAws.java |   78 --
 .../com/epam/dlab/dto/aws/edge/EdgeCreateAws.java  |   53 -
 .../com/epam/dlab/dto/aws/edge/EdgeInfoAws.java    |   42 -
 .../dto/aws/exploratory/ExploratoryCreateAws.java  |   48 -
 .../epam/dlab/dto/aws/keyload/UploadFileAws.java   |   35 -
 .../epam/dlab/dto/azure/AzureCloudSettings.java    |   91 --
 .../azure/auth/AuthorizationCodeFlowResponse.java  |   63 -
 .../SparkComputationalConfigAzure.java             |   46 -
 .../SparkComputationalCreateAzure.java             |   94 --
 .../epam/dlab/dto/azure/edge/EdgeCreateAzure.java  |   54 -
 .../epam/dlab/dto/azure/edge/EdgeInfoAzure.java    |   52 -
 .../exploratory/ExploratoryActionStartAzure.java   |   64 -
 .../exploratory/ExploratoryActionStopAzure.java    |   44 -
 .../azure/exploratory/ExploratoryCreateAzure.java  |   85 --
 .../dlab/dto/azure/keyload/UploadFileAzure.java    |   35 -
 .../com/epam/dlab/dto/backup/EnvBackupDTO.java     |   40 -
 .../com/epam/dlab/dto/backup/EnvBackupStatus.java  |   49 -
 .../epam/dlab/dto/backup/EnvBackupStatusDTO.java   |   56 -
 .../java/com/epam/dlab/dto/base/CloudSettings.java |   32 -
 .../com/epam/dlab/dto/base/DataEngineType.java     |   66 -
 .../dto/base/computational/ComputationalBase.java  |  119 --
 .../computational/FullComputationalTemplate.java   |   33 -
 .../java/com/epam/dlab/dto/base/edge/EdgeInfo.java |   71 -
 .../epam/dlab/dto/base/keyload/ReuploadFile.java   |   33 -
 .../com/epam/dlab/dto/base/keyload/UploadFile.java |   33 -
 .../dlab/dto/base/keyload/UploadFileResult.java    |   46 -
 .../epam/dlab/dto/base/project/ProjectResult.java  |   37 -
 .../com/epam/dlab/dto/billing/BillingData.java     |   44 -
 .../epam/dlab/dto/billing/BillingResourceType.java |   31 -
 .../java/com/epam/dlab/dto/bucket/BucketDTO.java   |   34 -
 .../com/epam/dlab/dto/bucket/BucketDeleteDTO.java  |   32 -
 .../com/epam/dlab/dto/bucket/FolderUploadDTO.java  |   33 -
 .../computational/CheckInactivityCallbackDTO.java  |   57 -
 .../dto/computational/CheckInactivityStatus.java   |   49 -
 .../computational/CheckInactivityStatusDTO.java    |   30 -
 .../ComputationalCheckInactivityDTO.java           |   57 -
 .../ComputationalClusterConfigDTO.java             |   40 -
 .../dto/computational/ComputationalStartDTO.java   |   25 -
 .../dto/computational/ComputationalStatusDTO.java  |  118 --
 .../dto/computational/ComputationalStopDTO.java    |   25 -
 .../computational/ComputationalTerminateDTO.java   |   25 -
 .../SparkStandaloneClusterResource.java            |   62 -
 .../computational/UserComputationalResource.java   |   99 --
 .../dlab/dto/exploratory/ExploratoryActionDTO.java |   71 -
 .../dlab/dto/exploratory/ExploratoryBaseDTO.java   |   84 --
 .../ExploratoryCheckInactivityAction.java          |   23 -
 .../dlab/dto/exploratory/ExploratoryCreateDTO.java |  134 --
 .../dlab/dto/exploratory/ExploratoryGitCreds.java  |  193 ---
 .../dto/exploratory/ExploratoryGitCredsDTO.java    |   60 -
 .../exploratory/ExploratoryGitCredsUpdateDTO.java  |   58 -
 .../dlab/dto/exploratory/ExploratoryImageDTO.java  |   72 --
 ...xploratoryReconfigureSparkClusterActionDTO.java |   43 -
 .../dlab/dto/exploratory/ExploratoryStatusDTO.java |  128 --
 .../dlab/dto/exploratory/ImageCreateStatusDTO.java |   74 --
 .../com/epam/dlab/dto/exploratory/ImageStatus.java |   39 -
 .../epam/dlab/dto/exploratory/LibInstallDTO.java   |   85 --
 .../dlab/dto/exploratory/LibInstallStatusDTO.java  |   57 -
 .../dlab/dto/exploratory/LibListStatusDTO.java     |   63 -
 .../com/epam/dlab/dto/exploratory/LibStatus.java   |   49 -
 .../dlab/dto/exploratory/LibraryInstallDTO.java    |   67 -
 .../com/epam/dlab/dto/gcp/GcpCloudSettings.java    |   91 --
 .../auth/GcpOauth2AuthorizationCodeResponse.java   |   29 -
 .../gcp/computational/ComputationalCreateGcp.java  |  100 --
 .../computational/GcpComputationalResource.java    |   77 --
 .../GcpComputationalTerminateDTO.java              |   33 -
 .../computational/SparkComputationalCreateGcp.java |   81 --
 .../com/epam/dlab/dto/gcp/edge/EdgeCreateGcp.java  |   25 -
 .../com/epam/dlab/dto/gcp/edge/EdgeInfoGcp.java    |   40 -
 .../dto/gcp/exploratory/ExploratoryCreateGcp.java  |   48 -
 .../epam/dlab/dto/gcp/keyload/UploadFileGcp.java   |   42 -
 .../dlab/dto/imagemetadata/ApplicationDto.java     |   85 --
 .../imagemetadata/ComputationalMetadataDTO.java    |   53 -
 .../ComputationalResourceShapeDto.java             |  114 --
 .../ExploratoryEnvironmentVersion.java             |   94 --
 .../dto/imagemetadata/ExploratoryMetadataDTO.java  |   48 -
 .../dlab/dto/imagemetadata/ImageMetadataDTO.java   |   51 -
 .../com/epam/dlab/dto/imagemetadata/ImageType.java |   46 -
 .../epam/dlab/dto/imagemetadata/TemplateDTO.java   |   84 --
 .../com/epam/dlab/dto/keyload/KeyLoadStatus.java   |   60 -
 .../java/com/epam/dlab/dto/keyload/UserKeyDTO.java |   58 -
 .../epam/dlab/dto/project/ProjectActionDTO.java    |   34 -
 .../epam/dlab/dto/project/ProjectCreateDTO.java    |   37 -
 .../dto/reuploadkey/ReuploadKeyCallbackDTO.java    |   64 -
 .../epam/dlab/dto/reuploadkey/ReuploadKeyDTO.java  |   56 -
 .../dlab/dto/reuploadkey/ReuploadKeyStatus.java    |   49 -
 .../dlab/dto/reuploadkey/ReuploadKeyStatusDTO.java |   48 -
 .../java/com/epam/dlab/dto/status/EnvResource.java |  161 ---
 .../com/epam/dlab/dto/status/EnvResourceList.java  |   78 --
 .../com/epam/dlab/dto/status/EnvStatusDTO.java     |   58 -
 .../java/com/epam/dlab/model/ResourceData.java     |   60 -
 .../java/com/epam/dlab/model/ResourceEnum.java     |   38 -
 .../java/com/epam/dlab/model/ResourceType.java     |   37 -
 .../main/java/com/epam/dlab/model/StringList.java  |   47 -
 .../epam/dlab/model/aws/BillingResourceType.java   |   75 --
 .../java/com/epam/dlab/model/aws/ReportLine.java   |  226 ----
 .../com/epam/dlab/model/azure/AzureAuthFile.java   |   39 -
 .../epam/dlab/model/exploratory/Exploratory.java   |   41 -
 .../com/epam/dlab/model/exploratory/Image.java     |   46 -
 .../java/com/epam/dlab/model/library/Library.java  |   55 -
 .../dlab/model/scheduler/SchedulerJobData.java     |   44 -
 .../com/epam/dlab/model/systeminfo/DiskInfo.java   |   36 -
 .../com/epam/dlab/model/systeminfo/MemoryInfo.java |   39 -
 .../com/epam/dlab/model/systeminfo/OsInfo.java     |   38 -
 .../epam/dlab/model/systeminfo/ProcessorInfo.java  |   46 -
 .../epam/dlab/util/CloudSettingsDeserializer.java  |   88 --
 .../java/com/epam/dlab/util/JsonGenerator.java     |   54 -
 .../epam/dlab/dto/status/EnvResourceDTOTest.java   |   81 --
 .../com/epam/dlab/dto/status/EnvStatusDTOTest.java |   89 --
 .../java/com/epam/dlab/util/JsonGeneratorTest.java |   37 -
 services/dlab-mongo-migration/pom.xml              |   39 -
 .../java/com/epam/dlab/migration/DbMigration.java  |   26 -
 .../exception/DlabDbMigrationException.java        |   27 -
 .../dlab/migration/mongo/DlabMongoMigration.java   |   48 -
 .../migration/mongo/changelog/DlabChangeLog.java   |   66 -
 services/dlab-utils/pom.xml                        |   52 -
 .../main/java/com/epam/dlab/util/FileUtils.java    |   61 -
 .../java/com/epam/dlab/util/SecurityUtils.java     |   38 -
 .../main/java/com/epam/dlab/util/ServiceUtils.java |  141 --
 .../java/com/epam/dlab/util/UsernameUtils.java     |   36 -
 .../epam/dlab/util/mongo/IsoDateDeSerializer.java  |   61 -
 .../epam/dlab/util/mongo/IsoDateSerializer.java    |   48 -
 .../dlab/util/mongo/IsoLocalDateDeSerializer.java  |   47 -
 .../dlab/util/mongo/IsoLocalDateSerializer.java    |   38 -
 .../util/mongo/IsoLocalDateTimeDeSerializer.java   |   48 -
 .../util/mongo/IsoLocalDateTimeSerializer.java     |   38 -
 .../com/epam/dlab/util/mongo/LongDeSerializer.java |   44 -
 .../dlab/util/mongo/MongoStringDeserializer.java   |   32 -
 .../dlab/util/mongo/MongoStringSerializaer.java    |   38 -
 .../dlab/util/mongo/modules/IsoDateModule.java     |   59 -
 .../util/mongo/modules/JavaPrimitiveModule.java    |   30 -
 .../epam/dlab/util/mongo/modules/MongoModule.java  |   31 -
 .../java/com/epam/dlab/util/SecurityUtilsTest.java |   35 -
 .../mongo/IsoLocalDateTimeDeSerializerTest.java    |   84 --
 .../dlab/util/mongo/IsoLocalDateTimeSerDeTest.java |   70 -
 .../util/mongo/IsoLocalDateTimeSerializerTest.java |   54 -
 services/dlab-webapp-common/pom.xml                |   69 -
 .../src/main/java/com/epam/dlab/ModuleBase.java    |   42 -
 .../java/com/epam/dlab/ServiceConfiguration.java   |  114 --
 .../dlab/auth/SecurityUnauthorizedHandler.java     |   32 -
 .../src/main/java/com/epam/dlab/auth/UserInfo.java |  223 ----
 .../com/epam/dlab/auth/contract/SecurityAPI.java   |   30 -
 .../com/epam/dlab/auth/dto/UserCredentialDTO.java  |   74 --
 .../auth/oauth2/Oauth2AuthenticationService.java   |   38 -
 .../auth/rest/AbstractAuthenticationService.java   |   47 -
 .../epam/dlab/auth/rest/ConfigurableResource.java  |   36 -
 .../auth/rest/UserSessionDurationAuthorizer.java   |   90 --
 .../auth/rest/UserSessionDurationCallback.java     |   27 -
 .../main/java/com/epam/dlab/cloud/CloudModule.java |   34 -
 .../java/com/epam/dlab/cloud/CloudProvider.java    |   28 -
 .../com/epam/dlab/constants/ServiceConsts.java     |   34 -
 .../java/com/epam/dlab/mongo/MongoService.java     |   80 --
 .../com/epam/dlab/mongo/MongoServiceFactory.java   |   93 --
 .../com/epam/dlab/rest/client/RESTService.java     |  165 ---
 .../epam/dlab/rest/client/RESTServiceFactory.java  |   61 -
 .../com/epam/dlab/rest/contracts/ApiCallbacks.java |   45 -
 .../com/epam/dlab/rest/contracts/BackupAPI.java    |   26 -
 .../epam/dlab/rest/contracts/ComputationalAPI.java |   41 -
 .../com/epam/dlab/rest/contracts/DockerAPI.java    |   27 -
 .../epam/dlab/rest/contracts/ExploratoryAPI.java   |   34 -
 .../dlab/rest/contracts/InfrasctructureAPI.java    |   29 -
 .../java/com/epam/dlab/rest/contracts/KeyAPI.java  |   29 -
 .../main/java/com/epam/dlab/rest/dto/ErrorDTO.java |   35 -
 .../mappers/AuthenticationExceptionMapper.java     |   38 -
 .../mappers/DlabValidationExceptionMapper.java     |   38 -
 .../dlab/rest/mappers/GenericExceptionMapper.java  |   43 -
 .../mappers/JsonProcessingExceptionMapper.java     |   28 -
 .../mappers/ResourceConflictExceptionMapper.java   |   40 -
 .../mappers/ResourceNotFoundExceptionMapper.java   |   40 -
 .../ResourceQuoteReachedExceptionMapper.java       |   37 -
 .../dlab/rest/mappers/RuntimeExceptionMapper.java  |   63 -
 .../rest/mappers/ValidationExceptionMapper.java    |   45 -
 .../com/epam/dlab/validation/AwsValidation.java    |   23 -
 .../com/epam/dlab/validation/AzureValidation.java  |   23 -
 .../CloudConfigurationSequenceProvider.java        |   66 -
 .../com/epam/dlab/validation/GcpValidation.java    |   23 -
 services/provisioning-service/pom.xml              |   32 +-
 services/provisioning-service/provisioning.yml     |   14 +-
 .../DropwizardBearerTokenFilterImpl.java           |   39 +
 .../backendapi/ProvisioningServiceApplication.java |  161 +++
 ...rovisioningServiceApplicationConfiguration.java |  197 +++
 .../backendapi/conf/CloudConfiguration.java        |   83 ++
 .../epam/datalab/backendapi/core/Constants.java    |   29 +
 .../epam/datalab/backendapi/core/Directories.java  |   31 +
 .../backendapi/core/DirectoriesCreator.java        |   49 +
 .../datalab/backendapi/core/DockerWarmuper.java    |  172 +++
 .../backendapi/core/FileHandlerCallback.java       |   41 +
 .../datalab/backendapi/core/MetadataHolder.java    |   31 +
 .../backendapi/core/commands/CmdCommand.java       |   25 +
 .../backendapi/core/commands/CommandBuilder.java   |  186 +++
 .../backendapi/core/commands/CommandExecutor.java  |   38 +
 .../core/commands/CommandExecutorMock.java         |  114 ++
 .../core/commands/CommandExecutorMockAsync.java    |  406 ++++++
 .../core/commands/CommandParserMock.java           |  377 ++++++
 .../backendapi/core/commands/DockerAction.java     |   54 +
 .../backendapi/core/commands/DockerCommands.java   |   69 +
 .../backendapi/core/commands/ICommandExecutor.java |   27 +
 .../core/commands/ImagesDockerCommand.java         |   53 +
 .../core/commands/PythonBackupCommand.java         |   81 ++
 .../backendapi/core/commands/PythonCommand.java    |   50 +
 .../backendapi/core/commands/RunDockerCommand.java |  285 ++++
 .../backendapi/core/commands/UnixCommand.java      |   53 +
 .../response/folderlistener/AsyncFileHandler.java  |  135 ++
 .../response/folderlistener/FolderListener.java    |  434 +++++++
 .../folderlistener/FolderListenerExecutor.java     |   55 +
 .../core/response/folderlistener/WatchItem.java    |  258 ++++
 .../response/folderlistener/WatchItemList.java     |  277 ++++
 .../response/handlers/BackupCallbackHandler.java   |  126 ++
 .../handlers/CheckInactivityCallbackHandler.java   |  141 ++
 .../handlers/ComputationalCallbackHandler.java     |  133 ++
 .../response/handlers/ComputationalConfigure.java  |  140 ++
 .../ComputationalConfigureCallbackHandler.java     |   63 +
 .../response/handlers/EdgeCallbackHandler.java     |   78 ++
 .../handlers/ExploratoryCallbackHandler.java       |  108 ++
 .../ExploratoryGitCredsCallbackHandler.java        |   65 +
 .../handlers/ImageCreateCallbackHandler.java       |  106 ++
 .../handlers/LibInstallCallbackHandler.java        |  118 ++
 .../response/handlers/LibListCallbackHandler.java  |  110 ++
 .../response/handlers/PersistentFileHandler.java   |   51 +
 .../response/handlers/ProjectCallbackHandler.java  |   71 +
 .../response/handlers/ResourceCallbackHandler.java |  210 +++
 .../handlers/ResourcesStatusCallbackHandler.java   |   93 ++
 .../handlers/ReuploadKeyCallbackHandler.java       |  124 ++
 .../response/handlers/dao/CallbackHandlerDao.java  |   33 +
 .../handlers/dao/FileSystemCallbackHandlerDao.java |  121 ++
 .../backendapi/modules/AwsProvisioningModule.java  |   39 +
 .../modules/AzureProvisioningModule.java           |   39 +
 .../modules/CloudModuleConfigurator.java           |   42 +
 .../backendapi/modules/GcpProvisioningModule.java  |   39 +
 .../datalab/backendapi/modules/ModuleFactory.java  |   44 +
 .../backendapi/modules/ProductionModule.java       |   89 ++
 .../backendapi/modules/ProvisioningDevModule.java  |  148 +++
 .../backendapi/resources/BackupResource.java       |   76 ++
 .../backendapi/resources/BucketResource.java       |  144 +++
 .../resources/CallbackHandlerResource.java         |   46 +
 .../backendapi/resources/DockerResource.java       |   92 ++
 .../resources/GitExploratoryResource.java          |   95 ++
 .../backendapi/resources/ImageResource.java        |   88 ++
 .../resources/InfrastructureResource.java          |   65 +
 .../backendapi/resources/LibraryResource.java      |  195 +++
 .../backendapi/resources/ProjectResource.java      |   76 ++
 .../resources/ProvisioningHealthCheckResource.java |   44 +
 .../resources/aws/ComputationalResourceAws.java    |  197 +++
 .../backendapi/resources/aws/EdgeResourceAws.java  |   94 ++
 .../resources/aws/ExploratoryResourceAws.java      |   77 ++
 .../resources/aws/InfrastructureResourceAws.java   |   49 +
 .../azure/ComputationalResourceAzure.java          |   94 ++
 .../resources/azure/EdgeResourceAzure.java         |   94 ++
 .../resources/azure/ExploratoryResourceAzure.java  |   75 ++
 .../azure/InfrastructureResourceAzure.java         |   50 +
 .../backendapi/resources/base/EdgeService.java     |  108 ++
 .../resources/base/ExploratoryService.java         |   79 ++
 .../resources/base/InfrastructureService.java      |  157 +++
 .../backendapi/resources/base/KeyResource.java     |   86 ++
 .../resources/gcp/ComputationalResourceGcp.java    |  197 +++
 .../backendapi/resources/gcp/EdgeResourceGcp.java  |   96 ++
 .../resources/gcp/ExploratoryResourceGcp.java      |   77 ++
 .../resources/gcp/InfrastructureResourceGcp.java   |   49 +
 .../datalab/backendapi/service/BucketService.java  |   40 +
 .../backendapi/service/CheckInactivityService.java |   29 +
 .../datalab/backendapi/service/ProjectService.java |   35 +
 .../service/RestoreCallbackHandlerService.java     |   25 +
 .../service/impl/CheckInactivityServiceImpl.java   |  129 ++
 .../backendapi/service/impl/DockerService.java     |   42 +
 .../backendapi/service/impl/KeyService.java        |  146 +++
 .../service/impl/ProjectServiceImpl.java           |  135 ++
 .../impl/RestoreCallbackHandlerServiceImpl.java    |   58 +
 .../service/impl/SparkClusterService.java          |  156 +++
 .../service/impl/aws/BucketServiceAwsImpl.java     |  149 +++
 .../service/impl/azure/BucketServiceAzureImpl.java |  176 +++
 .../service/impl/gcp/BucketServiceGcpImpl.java     |  128 ++
 ...gServiceCloudConfigurationSequenceProvider.java |   28 +
 .../com/epam/datalab/process/ProcessConveyor.java  |   59 +
 .../process/builder/ProcessInfoBuilder.java        |  288 +++++
 .../process/exception/DatalabProcessException.java |   42 +
 .../epam/datalab/process/model/DatalabProcess.java |  167 +++
 .../com/epam/datalab/process/model/ProcessId.java  |   70 +
 .../epam/datalab/process/model/ProcessInfo.java    |  120 ++
 .../epam/datalab/process/model/ProcessStatus.java  |   32 +
 .../epam/datalab/process/model/ProcessStep.java    |   47 +
 .../DropwizardBearerTokenFilterImpl.java           |   39 -
 .../backendapi/ProvisioningServiceApplication.java |  161 ---
 ...rovisioningServiceApplicationConfiguration.java |  197 ---
 .../dlab/backendapi/conf/CloudConfiguration.java   |   83 --
 .../com/epam/dlab/backendapi/core/Constants.java   |   29 -
 .../com/epam/dlab/backendapi/core/Directories.java |   31 -
 .../dlab/backendapi/core/DirectoriesCreator.java   |   49 -
 .../epam/dlab/backendapi/core/DockerWarmuper.java  |  167 ---
 .../dlab/backendapi/core/FileHandlerCallback.java  |   41 -
 .../epam/dlab/backendapi/core/MetadataHolder.java  |   31 -
 .../dlab/backendapi/core/commands/CmdCommand.java  |   25 -
 .../backendapi/core/commands/CommandBuilder.java   |  186 ---
 .../backendapi/core/commands/CommandExecutor.java  |   38 -
 .../core/commands/CommandExecutorMock.java         |  114 --
 .../core/commands/CommandExecutorMockAsync.java    |  406 ------
 .../core/commands/CommandParserMock.java           |  373 ------
 .../backendapi/core/commands/DockerAction.java     |   54 -
 .../backendapi/core/commands/DockerCommands.java   |   69 -
 .../backendapi/core/commands/ICommandExecutor.java |   26 -
 .../core/commands/ImagesDockerCommand.java         |   53 -
 .../core/commands/PythonBackupCommand.java         |   81 --
 .../backendapi/core/commands/PythonCommand.java    |   50 -
 .../backendapi/core/commands/RunDockerCommand.java |  285 ----
 .../dlab/backendapi/core/commands/UnixCommand.java |   53 -
 .../response/folderlistener/AsyncFileHandler.java  |  135 --
 .../response/folderlistener/FolderListener.java    |  434 -------
 .../folderlistener/FolderListenerExecutor.java     |   55 -
 .../core/response/folderlistener/WatchItem.java    |  214 ---
 .../response/folderlistener/WatchItemList.java     |  277 ----
 .../response/handlers/BackupCallbackHandler.java   |  126 --
 .../handlers/CheckInactivityCallbackHandler.java   |  141 --
 .../handlers/ComputationalCallbackHandler.java     |  133 --
 .../response/handlers/ComputationalConfigure.java  |  140 --
 .../ComputationalConfigureCallbackHandler.java     |   63 -
 .../response/handlers/EdgeCallbackHandler.java     |   78 --
 .../handlers/ExploratoryCallbackHandler.java       |  108 --
 .../ExploratoryGitCredsCallbackHandler.java        |   65 -
 .../handlers/ImageCreateCallbackHandler.java       |  106 --
 .../handlers/LibInstallCallbackHandler.java        |  118 --
 .../response/handlers/LibListCallbackHandler.java  |  110 --
 .../response/handlers/PersistentFileHandler.java   |   51 -
 .../response/handlers/ProjectCallbackHandler.java  |   71 -
 .../response/handlers/ResourceCallbackHandler.java |  210 ---
 .../handlers/ResourcesStatusCallbackHandler.java   |   93 --
 .../handlers/ReuploadKeyCallbackHandler.java       |  124 --
 .../response/handlers/dao/CallbackHandlerDao.java  |   33 -
 .../handlers/dao/FileSystemCallbackHandlerDao.java |  121 --
 .../backendapi/modules/AwsProvisioningModule.java  |   39 -
 .../modules/AzureProvisioningModule.java           |   39 -
 .../modules/CloudModuleConfigurator.java           |   42 -
 .../backendapi/modules/GcpProvisioningModule.java  |   39 -
 .../dlab/backendapi/modules/ModuleFactory.java     |   44 -
 .../dlab/backendapi/modules/ProductionModule.java  |   89 --
 .../backendapi/modules/ProvisioningDevModule.java  |  148 ---
 .../dlab/backendapi/resources/BackupResource.java  |   76 --
 .../dlab/backendapi/resources/BucketResource.java  |  144 ---
 .../resources/CallbackHandlerResource.java         |   46 -
 .../dlab/backendapi/resources/DockerResource.java  |   87 --
 .../resources/GitExploratoryResource.java          |   95 --
 .../dlab/backendapi/resources/ImageResource.java   |   88 --
 .../resources/InfrastructureResource.java          |   61 -
 .../dlab/backendapi/resources/LibraryResource.java |  195 ---
 .../dlab/backendapi/resources/ProjectResource.java |   76 --
 .../resources/ProvisioningHealthCheckResource.java |   44 -
 .../resources/aws/ComputationalResourceAws.java    |  197 ---
 .../backendapi/resources/aws/EdgeResourceAws.java  |   94 --
 .../resources/aws/ExploratoryResourceAws.java      |   77 --
 .../resources/aws/InfrastructureResourceAws.java   |   49 -
 .../azure/ComputationalResourceAzure.java          |   94 --
 .../resources/azure/EdgeResourceAzure.java         |   94 --
 .../resources/azure/ExploratoryResourceAzure.java  |   75 --
 .../azure/InfrastructureResourceAzure.java         |   50 -
 .../backendapi/resources/base/EdgeService.java     |  104 --
 .../resources/base/ExploratoryService.java         |   79 --
 .../resources/base/InfrastructureService.java      |  157 ---
 .../backendapi/resources/base/KeyResource.java     |   80 --
 .../resources/gcp/ComputationalResourceGcp.java    |  197 ---
 .../backendapi/resources/gcp/EdgeResourceGcp.java  |   96 --
 .../resources/gcp/ExploratoryResourceGcp.java      |   77 --
 .../resources/gcp/InfrastructureResourceGcp.java   |   49 -
 .../dlab/backendapi/service/BucketService.java     |   40 -
 .../backendapi/service/CheckInactivityService.java |   29 -
 .../dlab/backendapi/service/ProjectService.java    |   35 -
 .../service/RestoreCallbackHandlerService.java     |   25 -
 .../service/impl/CheckInactivityServiceImpl.java   |  129 --
 .../backendapi/service/impl/DockerService.java     |   42 -
 .../dlab/backendapi/service/impl/KeyService.java   |  146 ---
 .../service/impl/ProjectServiceImpl.java           |  135 --
 .../impl/RestoreCallbackHandlerServiceImpl.java    |   58 -
 .../service/impl/SparkClusterService.java          |  156 ---
 .../service/impl/aws/BucketServiceAwsImpl.java     |  149 ---
 .../service/impl/azure/BucketServiceAzureImpl.java |  176 ---
 .../service/impl/gcp/BucketServiceGcpImpl.java     |  128 --
 ...gServiceCloudConfigurationSequenceProvider.java |   28 -
 .../com/epam/dlab/process/ProcessConveyor.java     |   59 -
 .../dlab/process/builder/ProcessInfoBuilder.java   |  288 -----
 .../process/exception/DlabProcessException.java    |   42 -
 .../com/epam/dlab/process/model/DlabProcess.java   |  167 ---
 .../com/epam/dlab/process/model/ProcessId.java     |   70 -
 .../com/epam/dlab/process/model/ProcessInfo.java   |  120 --
 .../com/epam/dlab/process/model/ProcessStatus.java |   32 -
 .../com/epam/dlab/process/model/ProcessStep.java   |   47 -
 .../main/resources/mock_response/aws/backup.json   |    2 +-
 .../aws/dataengine-service_configure.json          |    2 +-
 .../aws/dataengine-service_configure_failed.json   |    2 +-
 .../aws/dataengine-service_create.json             |    2 +-
 .../aws/dataengine-service_create_failed.json      |    2 +-
 .../aws/dataengine-service_lib_install.json        |    2 +-
 .../aws/dataengine-service_lib_list.json           |    4 +-
 .../aws/dataengine-service_terminate.json          |    2 +-
 .../mock_response/aws/dataengine_configure.json    |    2 +-
 .../mock_response/aws/dataengine_create.json       |    2 +-
 .../mock_response/aws/dataengine_lib_install.json  |    2 +-
 .../mock_response/aws/dataengine_lib_list.json     |    4 +-
 .../mock_response/aws/dataengine_start.json        |    2 +-
 .../mock_response/aws/dataengine_stop.json         |    2 +-
 .../mock_response/aws/dataengine_terminate.json    |    2 +-
 .../resources/mock_response/aws/edge_create.json   |    4 +-
 .../resources/mock_response/aws/edge_start.json    |    2 +-
 .../resources/mock_response/aws/edge_stop.json     |    2 +-
 .../mock_response/aws/edge_terminate.json          |    2 +-
 .../aws/notebook_check_inactivity.json             |    2 +-
 .../mock_response/aws/notebook_create.json         |    2 +-
 .../mock_response/aws/notebook_create_failed.json  |    2 +-
 .../mock_response/aws/notebook_create_image.json   |    2 +-
 .../mock_response/aws/notebook_git_creds.json      |    2 +-
 .../mock_response/aws/notebook_lib_install.json    |    6 +-
 .../mock_response/aws/notebook_lib_list.json       |    4 +-
 .../mock_response/aws/notebook_start.json          |    2 +-
 .../mock_response/aws/notebook_status.json         |   14 +-
 .../resources/mock_response/aws/notebook_stop.json |    2 +-
 .../mock_response/aws/notebook_terminate.json      |    2 +-
 .../mock_response/aws/project_create.json          |    8 +-
 .../mock_response/aws/project_terminate.json       |    2 +-
 .../main/resources/mock_response/azure/backup.json |    2 +-
 .../azure/dataengine-service_configure.json        |    2 +-
 .../azure/dataengine-service_configure_failed.json |    2 +-
 .../azure/dataengine-service_create.json           |    2 +-
 .../azure/dataengine-service_create_failed.json    |    2 +-
 .../azure/dataengine-service_lib_install.json      |    2 +-
 .../azure/dataengine-service_lib_list.json         |    4 +-
 .../azure/dataengine-service_terminate.json        |    2 +-
 .../mock_response/azure/dataengine_configure.json  |    2 +-
 .../mock_response/azure/dataengine_create.json     |    2 +-
 .../azure/dataengine_lib_install.json              |    2 +-
 .../mock_response/azure/dataengine_lib_list.json   |    4 +-
 .../mock_response/azure/dataengine_start.json      |    2 +-
 .../mock_response/azure/dataengine_stop.json       |    2 +-
 .../mock_response/azure/dataengine_terminate.json  |    2 +-
 .../resources/mock_response/azure/edge_create.json |    2 +-
 .../resources/mock_response/azure/edge_start.json  |    2 +-
 .../resources/mock_response/azure/edge_stop.json   |    2 +-
 .../mock_response/azure/edge_terminate.json        |    2 +-
 .../mock_response/azure/notebook_create.json       |    2 +-
 .../azure/notebook_create_failed.json              |    2 +-
 .../mock_response/azure/notebook_create_image.json |    2 +-
 .../mock_response/azure/notebook_git_creds.json    |    2 +-
 .../mock_response/azure/notebook_lib_install.json  |    6 +-
 .../mock_response/azure/notebook_lib_list.json     |    4 +-
 .../mock_response/azure/notebook_start.json        |    2 +-
 .../mock_response/azure/notebook_status.json       |   14 +-
 .../mock_response/azure/notebook_stop.json         |    2 +-
 .../mock_response/azure/notebook_terminate.json    |    2 +-
 .../mock_response/azure/project_create.json        |    8 +-
 .../mock_response/azure/project_terminate.json     |    2 +-
 .../main/resources/mock_response/gcp/backup.json   |    2 +-
 .../gcp/dataengine-service_configure.json          |    2 +-
 .../gcp/dataengine-service_create.json             |    2 +-
 .../gcp/dataengine-service_lib_install.json        |    2 +-
 .../gcp/dataengine-service_lib_list.json           |    4 +-
 .../gcp/dataengine-service_terminate.json          |    2 +-
 .../mock_response/gcp/dataengine_configure.json    |    2 +-
 .../mock_response/gcp/dataengine_create.json       |    2 +-
 .../mock_response/gcp/dataengine_lib_install.json  |    2 +-
 .../mock_response/gcp/dataengine_lib_list.json     |    4 +-
 .../mock_response/gcp/dataengine_start.json        |    2 +-
 .../mock_response/gcp/dataengine_stop.json         |    2 +-
 .../mock_response/gcp/dataengine_terminate.json    |    2 +-
 .../resources/mock_response/gcp/edge_create.json   |    6 +-
 .../resources/mock_response/gcp/edge_start.json    |    2 +-
 .../resources/mock_response/gcp/edge_stop.json     |    2 +-
 .../mock_response/gcp/edge_terminate.json          |    2 +-
 .../mock_response/gcp/notebook_create.json         |    2 +-
 .../mock_response/gcp/notebook_create_image.json   |    2 +-
 .../mock_response/gcp/notebook_git_creds.json      |    2 +-
 .../mock_response/gcp/notebook_lib_install.json    |    6 +-
 .../mock_response/gcp/notebook_lib_list.json       |    4 +-
 .../mock_response/gcp/notebook_start.json          |    2 +-
 .../mock_response/gcp/notebook_status.json         |   14 +-
 .../resources/mock_response/gcp/notebook_stop.json |    2 +-
 .../mock_response/gcp/notebook_terminate.json      |    2 +-
 .../mock_response/gcp/project_create.json          |    8 +-
 .../mock_response/gcp/project_terminate.json       |    2 +-
 .../backendapi/core/DockerWarmuperTest.java        |  133 ++
 .../core/commands/CommandExecutorMockTest.java     |  398 ++++++
 .../docker/command/ImagesDockerCommandTest.java    |   44 +
 .../core/docker/command/RunDockerCommandTest.java  |  319 +++++
 .../folderlistener/FolderListenerTest.java         |  190 +++
 .../response/folderlistener/WatchItemListTest.java |  133 ++
 .../response/folderlistener/WatchItemTest.java     |  145 +++
 .../dao/FileSystemCallbackHandlerDaoTest.java      |  213 +++
 .../RestoreCallbackHandlerServiceImplTest.java     |   65 +
 .../epam/datalab/rest/client/RESTServiceMock.java  |   41 +
 .../dlab/backendapi/core/DockerWarmuperTest.java   |  129 --
 .../core/commands/CommandExecutorMockTest.java     |  398 ------
 .../docker/command/ImagesDockerCommandTest.java    |   44 -
 .../core/docker/command/RunDockerCommandTest.java  |  319 -----
 .../folderlistener/FolderListenerTest.java         |  190 ---
 .../response/folderlistener/WatchItemListTest.java |  133 --
 .../response/folderlistener/WatchItemTest.java     |  145 ---
 .../dao/FileSystemCallbackHandlerDaoTest.java      |  208 ---
 .../RestoreCallbackHandlerServiceImplTest.java     |   63 -
 .../com/epam/dlab/rest/client/RESTServiceMock.java |   41 -
 services/readme.txt                                |   12 +-
 services/self-service/entrypoint.sh                |    2 +-
 services/self-service/pom.xml                      |   56 +-
 services/self-service/self-service.yml             |    6 +-
 .../datalab/backendapi/SelfServiceApplication.java |  217 ++++
 .../epam/datalab/backendapi/annotation/Audit.java  |   36 +
 .../backendapi/annotation/BudgetLimited.java       |   34 +
 .../epam/datalab/backendapi/annotation/Info.java   |   30 +
 .../datalab/backendapi/annotation/Project.java     |   31 +
 .../backendapi/annotation/ProjectAdmin.java        |   30 +
 .../backendapi/annotation/ResourceName.java        |   30 +
 .../epam/datalab/backendapi/annotation/User.java   |   30 +
 .../backendapi/auth/KeycloakAuthenticator.java     |   52 +
 .../auth/SelfServiceSecurityAuthorizer.java        |   34 +
 .../filters/DropwizardBearerTokenFilterImpl.java   |   39 +
 .../backendapi/conf/CloudConfiguration.java        |   59 +
 .../backendapi/conf/KeycloakConfiguration.java     |   27 +
 .../conf/SelfServiceApplicationConfiguration.java  |  264 ++++
 .../com/epam/datalab/backendapi/dao/AuditDAO.java  |   31 +
 .../epam/datalab/backendapi/dao/AuditDAOImpl.java  |  172 +++
 .../com/epam/datalab/backendapi/dao/BackupDAO.java |   35 +
 .../epam/datalab/backendapi/dao/BackupDAOImpl.java |   65 +
 .../datalab/backendapi/dao/BaseBillingDAO.java     |  252 ++++
 .../com/epam/datalab/backendapi/dao/BaseDAO.java   |  526 ++++++++
 .../epam/datalab/backendapi/dao/BillingDAO.java    |   53 +
 .../datalab/backendapi/dao/ComputationalDAO.java   |  403 ++++++
 .../com/epam/datalab/backendapi/dao/DockerDAO.java |   43 +
 .../epam/datalab/backendapi/dao/EndpointDAO.java   |   53 +
 .../datalab/backendapi/dao/EndpointDAOImpl.java    |   90 ++
 .../com/epam/datalab/backendapi/dao/EnvDAO.java    |  512 ++++++++
 .../datalab/backendapi/dao/ExploratoryDAO.java     |  479 +++++++
 .../datalab/backendapi/dao/ExploratoryLibDAO.java  |  402 ++++++
 .../epam/datalab/backendapi/dao/GitCredsDAO.java   |   99 ++
 .../backendapi/dao/ImageExploratoryDAO.java        |   46 +
 .../backendapi/dao/ImageExploratoryDAOImpl.java    |  155 +++
 .../epam/datalab/backendapi/dao/IndexCreator.java  |   45 +
 .../datalab/backendapi/dao/MongoCollections.java   |   82 ++
 .../epam/datalab/backendapi/dao/MongoSetting.java  |  107 ++
 .../epam/datalab/backendapi/dao/ProjectDAO.java    |   59 +
 .../datalab/backendapi/dao/ProjectDAOImpl.java     |  190 +++
 .../epam/datalab/backendapi/dao/RequestIdDAO.java  |   68 +
 .../datalab/backendapi/dao/SchedulerJobDAO.java    |  248 ++++
 .../epam/datalab/backendapi/dao/SecurityDAO.java   |  118 ++
 .../epam/datalab/backendapi/dao/SettingsDAO.java   |  424 ++++++
 .../epam/datalab/backendapi/dao/UserGroupDAO.java  |   33 +
 .../datalab/backendapi/dao/UserGroupDAOImpl.java   |   68 +
 .../epam/datalab/backendapi/dao/UserRoleDAO.java   |   51 +
 .../datalab/backendapi/dao/UserRoleDAOImpl.java    |  215 ++++
 .../datalab/backendapi/dao/UserSettingsDAO.java    |   77 ++
 .../datalab/backendapi/domain/AuditActionEnum.java |   24 +
 .../datalab/backendapi/domain/AuditCreateDTO.java  |   37 +
 .../epam/datalab/backendapi/domain/AuditDTO.java   |   39 +
 .../backendapi/domain/AuditPaginationDTO.java      |   43 +
 .../backendapi/domain/AuditResourceTypeEnum.java   |   24 +
 .../backendapi/domain/AutoCompleteEnum.java        |   24 +
 .../datalab/backendapi/domain/BillingReport.java   |   45 +
 .../backendapi/domain/BillingReportLine.java       |   56 +
 .../epam/datalab/backendapi/domain/BudgetDTO.java  |   36 +
 .../backendapi/domain/CreateProjectDTO.java        |   44 +
 .../datalab/backendapi/domain/EndpointDTO.java     |   50 +
 .../backendapi/domain/EndpointResourcesDTO.java    |   33 +
 .../backendapi/domain/ExploratoryLibCache.java     |  240 ++++
 .../backendapi/domain/ExploratoryLibList.java      |  250 ++++
 .../domain/MavenSearchArtifactResponse.java        |   82 ++
 .../backendapi/domain/NotebookTemplate.java        |   40 +
 .../epam/datalab/backendapi/domain/ProjectDTO.java |  104 ++
 .../backendapi/domain/ProjectEndpointDTO.java      |   31 +
 .../epam/datalab/backendapi/domain/RequestId.java  |   95 ++
 .../datalab/backendapi/domain/RequestIdDTO.java    |  146 +++
 .../domain/SchedulerConfigurationData.java         |   31 +
 .../backendapi/domain/UpdateProjectBudgetDTO.java  |   35 +
 .../backendapi/domain/UpdateProjectDTO.java        |   40 +
 .../dropwizard/bundles/DatalabKeycloakBundle.java  |   58 +
 .../dropwizard/listeners/MongoStartupListener.java |   97 ++
 .../listeners/RestoreHandlerStartupListener.java   |   50 +
 .../backendapi/healthcheck/MongoHealthCheck.java   |   46 +
 .../backendapi/interceptor/AuditInterceptor.java   |  127 ++
 .../interceptor/BudgetLimitInterceptor.java        |   64 +
 .../interceptor/ProjectAdminInterceptor.java       |   74 ++
 .../backendapi/modules/CloudProviderModule.java    |  112 ++
 .../epam/datalab/backendapi/modules/DevModule.java |  197 +++
 .../datalab/backendapi/modules/ModuleFactory.java  |   51 +
 .../backendapi/modules/ProductionModule.java       |  176 +++
 .../resources/ApplicationSettingResource.java      |   73 ++
 .../backendapi/resources/AuditResource.java        |   70 +
 .../backendapi/resources/BackupResource.java       |   90 ++
 .../backendapi/resources/BillingResource.java      |   72 ++
 .../backendapi/resources/BucketResource.java       |  163 +++
 .../backendapi/resources/EndpointResource.java     |  151 +++
 .../backendapi/resources/EnvironmentResource.java  |  110 ++
 .../backendapi/resources/ExploratoryResource.java  |  175 +++
 .../backendapi/resources/GitCredsResource.java     |   78 ++
 .../resources/ImageExploratoryResource.java        |  110 ++
 .../resources/InfrastructureInfoResource.java      |   95 ++
 .../resources/InfrastructureTemplateResource.java  |   78 ++
 .../backendapi/resources/KeycloakResource.java     |  140 ++
 .../resources/LibExploratoryResource.java          |  217 ++++
 .../backendapi/resources/ProjectResource.java      |  244 ++++
 .../backendapi/resources/SchedulerJobResource.java |  187 +++
 .../backendapi/resources/SystemInfoResource.java   |   56 +
 .../backendapi/resources/UserGroupResource.java    |   87 ++
 .../backendapi/resources/UserRoleResource.java     |   63 +
 .../backendapi/resources/UserSettingsResource.java |   84 ++
 .../resources/aws/ComputationalResourceAws.java    |  272 ++++
 .../resources/azure/AzureOauthResource.java        |   60 +
 .../azure/ComputationalResourceAzure.java          |  181 +++
 .../resources/callback/BackupCallback.java         |   59 +
 .../callback/CheckInactivityCallback.java          |   69 +
 .../resources/callback/ComputationalCallback.java  |   96 ++
 .../callback/EnvironmentStatusCallback.java        |   71 +
 .../resources/callback/ExploratoryCallback.java    |  137 ++
 .../resources/callback/GitCredsCallback.java       |   64 +
 .../resources/callback/ImageCallback.java          |   71 +
 .../resources/callback/LibraryCallback.java        |   98 ++
 .../resources/callback/ProjectCallback.java        |   73 ++
 .../resources/callback/ReuploadKeyCallback.java    |   56 +
 .../backendapi/resources/dto/BackupFormDTO.java    |   40 +
 .../backendapi/resources/dto/BackupInfoRecord.java |   45 +
 .../backendapi/resources/dto/BillingFilter.java    |   58 +
 .../backendapi/resources/dto/BucketDeleteDTO.java  |   38 +
 .../resources/dto/BucketDownloadDTO.java           |   35 +
 .../resources/dto/ComputationalCreateFormDTO.java  |   64 +
 .../resources/dto/ComputationalTemplatesDTO.java   |   35 +
 .../resources/dto/ExploratoryActionFormDTO.java    |   44 +
 .../resources/dto/ExploratoryCreateFormDTO.java    |  188 +++
 .../resources/dto/ExploratoryCreatePopUp.java      |   35 +
 .../dto/ExploratoryImageCreateFormDTO.java         |   39 +
 .../backendapi/resources/dto/FolderUploadDTO.java  |   35 +
 .../datalab/backendapi/resources/dto/GroupDTO.java |   37 +
 .../backendapi/resources/dto/HealthStatusDTO.java  |   85 ++
 .../backendapi/resources/dto/HealthStatusEnum.java |   44 +
 .../resources/dto/HealthStatusPageDTO.java         |   59 +
 .../resources/dto/HealthStatusResource.java        |  110 ++
 .../backendapi/resources/dto/ImageInfoRecord.java  |   37 +
 .../datalab/backendapi/resources/dto/KeysDTO.java  |   31 +
 .../backendapi/resources/dto/LibInfoRecord.java    |   43 +
 .../resources/dto/LibInstallFormDTO.java           |   48 +
 .../datalab/backendapi/resources/dto/LibKey.java   |   39 +
 .../resources/dto/LibraryAutoCompleteDTO.java      |   33 +
 .../backendapi/resources/dto/LibraryDTO.java       |   32 +
 .../backendapi/resources/dto/LibraryStatus.java    |   47 +
 .../resources/dto/ProjectActionFormDTO.java        |   36 +
 .../resources/dto/ProjectInfrastructureInfo.java   |   51 +
 .../backendapi/resources/dto/QuotaUsageDTO.java    |   32 +
 .../resources/dto/SearchLibsFormDTO.java           |   46 +
 .../dto/SparkStandaloneClusterCreateForm.java      |   42 +
 .../dto/SparkStandaloneConfiguration.java          |   33 +
 .../backendapi/resources/dto/SystemInfoDto.java    |   44 +
 .../backendapi/resources/dto/UpdateGroupDTO.java   |   38 +
 .../resources/dto/UpdateRoleGroupDto.java          |   36 +
 .../resources/dto/UpdateUserGroupDto.java          |   36 +
 .../datalab/backendapi/resources/dto/UserDTO.java  |   39 +
 .../backendapi/resources/dto/UserGroupDto.java     |   36 +
 .../backendapi/resources/dto/UserResourceInfo.java |   57 +
 .../backendapi/resources/dto/UserRoleDto.java      |   64 +
 .../dto/aws/AwsComputationalCreateForm.java        |   57 +
 .../resources/dto/aws/AwsEmrConfiguration.java     |   49 +
 .../dto/gcp/GcpComputationalCreateForm.java        |   53 +
 .../dto/gcp/GcpDataprocConfiguration.java          |   42 +
 .../resources/gcp/ComputationalResourceGcp.java    |  259 ++++
 .../backendapi/resources/gcp/GcpOauthResource.java |   65 +
 .../epam/datalab/backendapi/roles/RoleType.java    |   55 +
 .../epam/datalab/backendapi/roles/UserRole.java    |  142 ++
 .../epam/datalab/backendapi/roles/UserRoles.java   |  332 +++++
 .../schedulers/CheckApplicationQuoteScheduler.java |   45 +
 .../schedulers/CheckInactivityScheduledJob.java    |   46 +
 .../schedulers/CheckProjectQuoteScheduler.java     |   52 +
 .../schedulers/CheckUserQuoteScheduler.java        |   49 +
 .../schedulers/billing/BillingScheduler.java       |   52 +
 .../computational/StartComputationalJob.java       |   44 +
 .../computational/StopComputationalJob.java        |   42 +
 .../computational/TerminateComputationalJob.java   |   41 +
 .../endpoint/CheckEndpointStatusScheduler.java     |   66 +
 .../exploratory/StartExploratoryJob.java           |   45 +
 .../schedulers/exploratory/StopExploratoryJob.java |   46 +
 .../schedulers/internal/ManagedScheduler.java      |  115 ++
 .../backendapi/schedulers/internal/Scheduled.java  |   39 +
 .../backendapi/service/AccessKeyService.java       |   28 +
 .../service/ApplicationSettingService.java         |   31 +
 .../service/ApplicationSettingServiceImpl.java     |   46 +
 .../datalab/backendapi/service/AuditService.java   |   34 +
 .../datalab/backendapi/service/BackupService.java  |   37 +
 .../datalab/backendapi/service/BillingService.java |   43 +
 .../datalab/backendapi/service/BucketService.java  |   39 +
 .../backendapi/service/ComputationalService.java   |   74 ++
 .../backendapi/service/EndpointService.java        |   48 +
 .../backendapi/service/EnvironmentService.java     |   46 +
 .../backendapi/service/ExploratoryService.java     |   62 +
 .../backendapi/service/ExternalLibraryService.java |   28 +
 .../backendapi/service/GitCredentialService.java   |   29 +
 .../backendapi/service/GuacamoleService.java       |   30 +
 .../service/ImageExploratoryService.java           |   39 +
 .../backendapi/service/InactivityService.java      |   33 +
 .../service/InfrastructureInfoService.java         |   35 +
 .../service/InfrastructureTemplateService.java     |   32 +
 .../backendapi/service/KeycloakService.java        |   32 +
 .../backendapi/service/KeycloakServiceImpl.java    |  111 ++
 .../datalab/backendapi/service/LibraryService.java |   42 +
 .../datalab/backendapi/service/ProjectService.java |   61 +
 .../backendapi/service/ReuploadKeyService.java     |   28 +
 .../backendapi/service/SchedulerJobService.java    |   92 ++
 .../backendapi/service/SecurityService.java        |   30 +
 .../backendapi/service/SecurityServiceImpl.java    |   77 ++
 .../backendapi/service/SystemInfoService.java      |   27 +
 .../datalab/backendapi/service/TagService.java     |   29 +
 .../datalab/backendapi/service/TagServiceImpl.java |   41 +
 .../backendapi/service/UserGroupService.java       |   37 +
 .../backendapi/service/UserRoleService.java        |   34 +
 .../backendapi/service/UserRoleServiceImpl.java    |   63 +
 .../backendapi/service/UserSettingService.java     |   35 +
 .../backendapi/service/UserSettingServiceImpl.java |   48 +
 .../service/impl/AccessKeyServiceImpl.java         |   59 +
 .../backendapi/service/impl/AuditServiceImpl.java  |   63 +
 .../backendapi/service/impl/BackupServiceImpl.java |   69 +
 .../service/impl/BillingServiceImpl.java           |  383 ++++++
 .../backendapi/service/impl/BucketServiceImpl.java |  175 +++
 .../service/impl/ComputationalServiceImpl.java     |  396 ++++++
 .../service/impl/EndpointServiceImpl.java          |  193 +++
 .../service/impl/EnvironmentServiceImpl.java       |  233 ++++
 .../service/impl/ExploratoryServiceImpl.java       |  467 +++++++
 .../service/impl/GitCredentialServiceImpl.java     |  119 ++
 .../service/impl/GuacamoleServiceImpl.java         |   91 ++
 .../service/impl/ImageExploratoryServiceImpl.java  |  177 +++
 .../service/impl/InactivityServiceImpl.java        |  111 ++
 .../impl/InfrastructureInfoServiceImpl.java        |  193 +++
 .../impl/InfrastructureTemplateServiceImpl.java    |  246 ++++
 .../service/impl/LibraryServiceImpl.java           |  311 +++++
 .../service/impl/MavenCentralLibraryService.java   |   88 ++
 .../service/impl/ProjectServiceImpl.java           |  386 ++++++
 .../service/impl/ReuploadKeyServiceImpl.java       |   96 ++
 .../service/impl/SchedulerJobServiceImpl.java      |  514 ++++++++
 .../service/impl/SystemInfoServiceImpl.java        |  100 ++
 .../service/impl/UserGroupServiceImpl.java         |  228 ++++
 .../servlet/guacamole/GuacamoleServlet.java        |   97 ++
 .../epam/datalab/backendapi/util/BillingUtils.java |  249 ++++
 .../epam/datalab/backendapi/util/CSVFormatter.java |   67 +
 .../datalab/backendapi/util/DateRemoverUtil.java   |   40 +
 .../epam/datalab/backendapi/util/KeycloakUtil.java |   41 +
 .../datalab/backendapi/util/RequestBuilder.java    |  653 ++++++++++
 .../validation/MavenLibraryNameValidator.java      |   41 +
 .../validation/SchedulerJobDTOValidator.java       |   47 +
 .../validation/annotation/LibNameValid.java        |   42 +
 .../annotation/SchedulerJobDTOValid.java           |   42 +
 .../dlab/backendapi/SelfServiceApplication.java    |  217 ----
 .../com/epam/dlab/backendapi/annotation/Audit.java |   36 -
 .../dlab/backendapi/annotation/BudgetLimited.java  |   34 -
 .../com/epam/dlab/backendapi/annotation/Info.java  |   30 -
 .../epam/dlab/backendapi/annotation/Project.java   |   31 -
 .../dlab/backendapi/annotation/ProjectAdmin.java   |   30 -
 .../dlab/backendapi/annotation/ResourceName.java   |   30 -
 .../com/epam/dlab/backendapi/annotation/User.java  |   30 -
 .../backendapi/auth/KeycloakAuthenticator.java     |   52 -
 .../auth/SelfServiceSecurityAuthorizer.java        |   34 -
 .../filters/DropwizardBearerTokenFilterImpl.java   |   39 -
 .../dlab/backendapi/conf/CloudConfiguration.java   |   59 -
 .../backendapi/conf/KeycloakConfiguration.java     |   27 -
 .../conf/SelfServiceApplicationConfiguration.java  |  264 ----
 .../com/epam/dlab/backendapi/dao/AuditDAO.java     |   31 -
 .../com/epam/dlab/backendapi/dao/AuditDAOImpl.java |  172 ---
 .../com/epam/dlab/backendapi/dao/BackupDAO.java    |   35 -
 .../epam/dlab/backendapi/dao/BackupDAOImpl.java    |   65 -
 .../epam/dlab/backendapi/dao/BaseBillingDAO.java   |  252 ----
 .../java/com/epam/dlab/backendapi/dao/BaseDAO.java |  526 --------
 .../com/epam/dlab/backendapi/dao/BillingDAO.java   |   53 -
 .../epam/dlab/backendapi/dao/ComputationalDAO.java |  403 ------
 .../com/epam/dlab/backendapi/dao/DockerDAO.java    |   40 -
 .../com/epam/dlab/backendapi/dao/EndpointDAO.java  |   53 -
 .../epam/dlab/backendapi/dao/EndpointDAOImpl.java  |   90 --
 .../java/com/epam/dlab/backendapi/dao/EnvDAO.java  |  512 --------
 .../epam/dlab/backendapi/dao/ExploratoryDAO.java   |  479 -------
 .../dlab/backendapi/dao/ExploratoryLibDAO.java     |  402 ------
 .../com/epam/dlab/backendapi/dao/GitCredsDAO.java  |   90 --
 .../dlab/backendapi/dao/ImageExploratoryDAO.java   |   46 -
 .../backendapi/dao/ImageExploratoryDAOImpl.java    |  155 ---
 .../com/epam/dlab/backendapi/dao/IndexCreator.java |   42 -
 .../epam/dlab/backendapi/dao/MongoCollections.java |   58 -
 .../com/epam/dlab/backendapi/dao/MongoSetting.java |  107 --
 .../com/epam/dlab/backendapi/dao/ProjectDAO.java   |   59 -
 .../epam/dlab/backendapi/dao/ProjectDAOImpl.java   |  190 ---
 .../com/epam/dlab/backendapi/dao/RequestIdDAO.java |   67 -
 .../epam/dlab/backendapi/dao/SchedulerJobDAO.java  |  248 ----
 .../com/epam/dlab/backendapi/dao/SecurityDAO.java  |  118 --
 .../com/epam/dlab/backendapi/dao/SettingsDAO.java  |  391 ------
 .../com/epam/dlab/backendapi/dao/UserGroupDAO.java |   33 -
 .../epam/dlab/backendapi/dao/UserGroupDAOImpl.java |   68 -
 .../com/epam/dlab/backendapi/dao/UserRoleDAO.java  |   51 -
 .../epam/dlab/backendapi/dao/UserRoleDAOImpl.java  |  215 ----
 .../epam/dlab/backendapi/dao/UserSettingsDAO.java  |   77 --
 .../dlab/backendapi/domain/AuditActionEnum.java    |   24 -
 .../dlab/backendapi/domain/AuditCreateDTO.java     |   37 -
 .../com/epam/dlab/backendapi/domain/AuditDTO.java  |   39 -
 .../dlab/backendapi/domain/AuditPaginationDTO.java |   43 -
 .../backendapi/domain/AuditResourceTypeEnum.java   |   24 -
 .../dlab/backendapi/domain/AutoCompleteEnum.java   |   24 -
 .../epam/dlab/backendapi/domain/BillingReport.java |   45 -
 .../dlab/backendapi/domain/BillingReportLine.java  |   56 -
 .../com/epam/dlab/backendapi/domain/BudgetDTO.java |   36 -
 .../dlab/backendapi/domain/CreateProjectDTO.java   |   44 -
 .../epam/dlab/backendapi/domain/EndpointDTO.java   |   50 -
 .../backendapi/domain/EndpointResourcesDTO.java    |   33 -
 .../backendapi/domain/ExploratoryLibCache.java     |  240 ----
 .../dlab/backendapi/domain/ExploratoryLibList.java |  250 ----
 .../domain/MavenSearchArtifactResponse.java        |   82 --
 .../dlab/backendapi/domain/NotebookTemplate.java   |   40 -
 .../epam/dlab/backendapi/domain/ProjectDTO.java    |  104 --
 .../dlab/backendapi/domain/ProjectEndpointDTO.java |   31 -
 .../com/epam/dlab/backendapi/domain/RequestId.java |   84 --
 .../epam/dlab/backendapi/domain/RequestIdDTO.java  |  121 --
 .../domain/SchedulerConfigurationData.java         |   31 -
 .../backendapi/domain/UpdateProjectBudgetDTO.java  |   35 -
 .../dlab/backendapi/domain/UpdateProjectDTO.java   |   40 -
 .../dropwizard/bundles/DlabKeycloakBundle.java     |   58 -
 .../dropwizard/listeners/MongoStartupListener.java |   97 --
 .../listeners/RestoreHandlerStartupListener.java   |   50 -
 .../backendapi/healthcheck/MongoHealthCheck.java   |   46 -
 .../backendapi/interceptor/AuditInterceptor.java   |  127 --
 .../interceptor/BudgetLimitInterceptor.java        |   64 -
 .../interceptor/ProjectAdminInterceptor.java       |   74 --
 .../backendapi/modules/CloudProviderModule.java    |  112 --
 .../epam/dlab/backendapi/modules/DevModule.java    |  197 ---
 .../dlab/backendapi/modules/ModuleFactory.java     |   51 -
 .../dlab/backendapi/modules/ProductionModule.java  |  176 ---
 .../resources/ApplicationSettingResource.java      |   68 -
 .../dlab/backendapi/resources/AuditResource.java   |   70 -
 .../dlab/backendapi/resources/BackupResource.java  |   85 --
 .../dlab/backendapi/resources/BillingResource.java |   72 --
 .../dlab/backendapi/resources/BucketResource.java  |  163 ---
 .../backendapi/resources/EndpointResource.java     |  151 ---
 .../backendapi/resources/EnvironmentResource.java  |  110 --
 .../backendapi/resources/ExploratoryResource.java  |  174 ---
 .../backendapi/resources/GitCredsResource.java     |   78 --
 .../resources/ImageExploratoryResource.java        |  110 --
 .../resources/InfrastructureInfoResource.java      |   95 --
 .../resources/InfrastructureTemplateResource.java  |   74 --
 .../backendapi/resources/KeycloakResource.java     |  140 --
 .../resources/LibExploratoryResource.java          |  217 ----
 .../dlab/backendapi/resources/ProjectResource.java |  244 ----
 .../backendapi/resources/SchedulerJobResource.java |  187 ---
 .../backendapi/resources/SystemInfoResource.java   |   56 -
 .../backendapi/resources/UserGroupResource.java    |   87 --
 .../backendapi/resources/UserRoleResource.java     |   63 -
 .../backendapi/resources/UserSettingsResource.java |   79 --
 .../resources/aws/ComputationalResourceAws.java    |  272 ----
 .../resources/azure/AzureOauthResource.java        |   56 -
 .../azure/ComputationalResourceAzure.java          |  180 ---
 .../resources/callback/BackupCallback.java         |   59 -
 .../callback/CheckInactivityCallback.java          |   69 -
 .../resources/callback/ComputationalCallback.java  |   96 --
 .../callback/EnvironmentStatusCallback.java        |   71 -
 .../resources/callback/ExploratoryCallback.java    |  137 --
 .../resources/callback/GitCredsCallback.java       |   64 -
 .../resources/callback/ImageCallback.java          |   71 -
 .../resources/callback/LibraryCallback.java        |   98 --
 .../resources/callback/ProjectCallback.java        |   73 --
 .../resources/callback/ReuploadKeyCallback.java    |   56 -
 .../backendapi/resources/dto/BackupFormDTO.java    |   40 -
 .../backendapi/resources/dto/BackupInfoRecord.java |   45 -
 .../backendapi/resources/dto/BillingFilter.java    |   58 -
 .../backendapi/resources/dto/BucketDeleteDTO.java  |   38 -
 .../resources/dto/BucketDownloadDTO.java           |   35 -
 .../resources/dto/ComputationalCreateFormDTO.java  |   64 -
 .../resources/dto/ComputationalTemplatesDTO.java   |   35 -
 .../resources/dto/ExploratoryActionFormDTO.java    |   44 -
 .../resources/dto/ExploratoryCreateFormDTO.java    |  188 ---
 .../resources/dto/ExploratoryCreatePopUp.java      |   35 -
 .../dto/ExploratoryImageCreateFormDTO.java         |   39 -
 .../backendapi/resources/dto/FolderUploadDTO.java  |   35 -
 .../dlab/backendapi/resources/dto/GroupDTO.java    |   37 -
 .../backendapi/resources/dto/HealthStatusDTO.java  |   72 --
 .../backendapi/resources/dto/HealthStatusEnum.java |   42 -
 .../resources/dto/HealthStatusPageDTO.java         |   59 -
 .../resources/dto/HealthStatusResource.java        |   91 --
 .../backendapi/resources/dto/ImageInfoRecord.java  |   37 -
 .../dlab/backendapi/resources/dto/KeysDTO.java     |   31 -
 .../backendapi/resources/dto/LibInfoRecord.java    |   43 -
 .../resources/dto/LibInstallFormDTO.java           |   48 -
 .../epam/dlab/backendapi/resources/dto/LibKey.java |   39 -
 .../resources/dto/LibraryAutoCompleteDTO.java      |   33 -
 .../dlab/backendapi/resources/dto/LibraryDTO.java  |   32 -
 .../backendapi/resources/dto/LibraryStatus.java    |   47 -
 .../resources/dto/ProjectActionFormDTO.java        |   36 -
 .../resources/dto/ProjectInfrastructureInfo.java   |   51 -
 .../backendapi/resources/dto/QuotaUsageDTO.java    |   32 -
 .../resources/dto/SearchLibsFormDTO.java           |   46 -
 .../dto/SparkStandaloneClusterCreateForm.java      |   42 -
 .../dto/SparkStandaloneConfiguration.java          |   33 -
 .../backendapi/resources/dto/SystemInfoDto.java    |   44 -
 .../backendapi/resources/dto/UpdateGroupDTO.java   |   38 -
 .../resources/dto/UpdateRoleGroupDto.java          |   36 -
 .../resources/dto/UpdateUserGroupDto.java          |   36 -
 .../dlab/backendapi/resources/dto/UserDTO.java     |   39 -
 .../backendapi/resources/dto/UserGroupDto.java     |   36 -
 .../backendapi/resources/dto/UserResourceInfo.java |   57 -
 .../dlab/backendapi/resources/dto/UserRoleDto.java |   64 -
 .../dto/aws/AwsComputationalCreateForm.java        |   57 -
 .../resources/dto/aws/AwsEmrConfiguration.java     |   49 -
 .../dto/gcp/GcpComputationalCreateForm.java        |   53 -
 .../dto/gcp/GcpDataprocConfiguration.java          |   42 -
 .../resources/gcp/ComputationalResourceGcp.java    |  259 ----
 .../backendapi/resources/gcp/GcpOauthResource.java |   61 -
 .../com/epam/dlab/backendapi/roles/RoleType.java   |   55 -
 .../com/epam/dlab/backendapi/roles/UserRole.java   |  142 --
 .../com/epam/dlab/backendapi/roles/UserRoles.java  |  332 -----
 .../schedulers/CheckApplicationQuoteScheduler.java |   45 -
 .../schedulers/CheckInactivityScheduledJob.java    |   46 -
 .../schedulers/CheckProjectQuoteScheduler.java     |   52 -
 .../schedulers/CheckUserQuoteScheduler.java        |   49 -
 .../schedulers/billing/BillingScheduler.java       |   52 -
 .../computational/StartComputationalJob.java       |   44 -
 .../computational/StopComputationalJob.java        |   42 -
 .../computational/TerminateComputationalJob.java   |   41 -
 .../endpoint/CheckEndpointStatusScheduler.java     |   66 -
 .../exploratory/StartExploratoryJob.java           |   45 -
 .../schedulers/exploratory/StopExploratoryJob.java |   46 -
 .../schedulers/internal/ManagedScheduler.java      |  109 --
 .../backendapi/schedulers/internal/Scheduled.java  |   39 -
 .../dlab/backendapi/service/AccessKeyService.java  |   28 -
 .../service/ApplicationSettingService.java         |   31 -
 .../service/ApplicationSettingServiceImpl.java     |   45 -
 .../epam/dlab/backendapi/service/AuditService.java |   34 -
 .../dlab/backendapi/service/BackupService.java     |   37 -
 .../dlab/backendapi/service/BillingService.java    |   43 -
 .../dlab/backendapi/service/BucketService.java     |   39 -
 .../backendapi/service/ComputationalService.java   |   74 --
 .../dlab/backendapi/service/EndpointService.java   |   48 -
 .../backendapi/service/EnvironmentService.java     |   46 -
 .../backendapi/service/ExploratoryService.java     |   62 -
 .../backendapi/service/ExternalLibraryService.java |   28 -
 .../backendapi/service/GitCredentialService.java   |   29 -
 .../dlab/backendapi/service/GuacamoleService.java  |   30 -
 .../service/ImageExploratoryService.java           |   39 -
 .../dlab/backendapi/service/InactivityService.java |   33 -
 .../service/InfrastructureInfoService.java         |   35 -
 .../service/InfrastructureTemplateService.java     |   32 -
 .../dlab/backendapi/service/KeycloakService.java   |   32 -
 .../backendapi/service/KeycloakServiceImpl.java    |  111 --
 .../dlab/backendapi/service/LibraryService.java    |   42 -
 .../dlab/backendapi/service/ProjectService.java    |   61 -
 .../backendapi/service/ReuploadKeyService.java     |   28 -
 .../backendapi/service/SchedulerJobService.java    |   92 --
 .../dlab/backendapi/service/SecurityService.java   |   30 -
 .../backendapi/service/SecurityServiceImpl.java    |   77 --
 .../dlab/backendapi/service/SystemInfoService.java |   27 -
 .../epam/dlab/backendapi/service/TagService.java   |   29 -
 .../dlab/backendapi/service/TagServiceImpl.java    |   41 -
 .../dlab/backendapi/service/UserGroupService.java  |   37 -
 .../dlab/backendapi/service/UserRoleService.java   |   34 -
 .../backendapi/service/UserRoleServiceImpl.java    |   63 -
 .../backendapi/service/UserSettingService.java     |   35 -
 .../backendapi/service/UserSettingServiceImpl.java |   48 -
 .../service/impl/AccessKeyServiceImpl.java         |   59 -
 .../backendapi/service/impl/AuditServiceImpl.java  |   63 -
 .../backendapi/service/impl/BackupServiceImpl.java |   69 -
 .../service/impl/BillingServiceImpl.java           |  383 ------
 .../backendapi/service/impl/BucketServiceImpl.java |  175 ---
 .../service/impl/ComputationalServiceImpl.java     |  396 ------
 .../service/impl/EndpointServiceImpl.java          |  193 ---
 .../service/impl/EnvironmentServiceImpl.java       |  233 ----
 .../service/impl/ExploratoryServiceImpl.java       |  467 -------
 .../service/impl/GitCredentialServiceImpl.java     |  119 --
 .../service/impl/GuacamoleServiceImpl.java         |   91 --
 .../service/impl/ImageExploratoryServiceImpl.java  |  177 ---
 .../service/impl/InactivityServiceImpl.java        |  111 --
 .../impl/InfrastructureInfoServiceImpl.java        |  193 ---
 .../impl/InfrastructureTemplateServiceImpl.java    |  246 ----
 .../service/impl/LibraryServiceImpl.java           |  311 -----
 .../service/impl/MavenCentralLibraryService.java   |   88 --
 .../service/impl/ProjectServiceImpl.java           |  386 ------
 .../service/impl/ReuploadKeyServiceImpl.java       |   96 --
 .../service/impl/SchedulerJobServiceImpl.java      |  514 --------
 .../service/impl/SystemInfoServiceImpl.java        |  100 --
 .../service/impl/UserGroupServiceImpl.java         |  228 ----
 .../servlet/guacamole/GuacamoleServlet.java        |   97 --
 .../epam/dlab/backendapi/util/BillingUtils.java    |  250 ----
 .../epam/dlab/backendapi/util/CSVFormatter.java    |   67 -
 .../epam/dlab/backendapi/util/DateRemoverUtil.java |   40 -
 .../epam/dlab/backendapi/util/KeycloakUtil.java    |   41 -
 .../epam/dlab/backendapi/util/RequestBuilder.java  |  653 ----------
 .../validation/MavenLibraryNameValidator.java      |   41 -
 .../validation/SchedulerJobDTOValidator.java       |   47 -
 .../validation/annotation/LibNameValid.java        |   42 -
 .../annotation/SchedulerJobDTOValid.java           |   42 -
 .../src/main/resources/mongo/aws/mongo_roles.json  |   18 +-
 .../main/resources/mongo/azure/mongo_roles.json    |   12 +-
 .../src/main/resources/mongo/gcp/mongo_roles.json  |   20 +-
 .../src/main/resources/quartz.properties           |    2 +-
 .../src/main/resources/webapp/angular.json         |    4 +-
 .../backup-dilog/backup-dilog.component.ts         |    2 +-
 .../manage-environment-dilog.component.html        |    2 +-
 .../manage-environment-dilog.component.ts          |    2 +-
 .../management-grid/management-grid.component.html |    4 +-
 .../management-grid/management-grid.component.ts   |    4 +-
 .../management/management.component.html           |    2 +-
 .../ssn-monitor/ssn-monitor.component.ts           |    2 +-
 .../administration/project/project.component.ts    |    2 +-
 .../app/administration/roles/roles.component.ts    |    2 +-
 .../src/app/core/services/progress-bar.service.ts  |    2 +-
 .../accessnotebookguide.component.html             |   15 +-
 .../publickeyguide/publickeyguide.component.html   |    2 +-
 .../webapp/src/app/layout/layout.component.html    |    2 +-
 .../webapp/src/app/layout/layout.component.ts      |    2 +-
 .../webapp/src/app/login/login.component.css       |    5 +-
 .../webapp/src/app/login/login.component.html      |    2 +-
 .../webapp/src/app/login/login.component.ts        |    2 +-
 .../audit/audit-grid/audit-grid.component.ts       |    2 +-
 .../src/app/reports/audit/audit.component.ts       |   14 +-
 .../reporting-grid/reporting-grid.component.html   |   12 +-
 .../reporting-grid/reporting-grid.component.ts     |    2 +-
 .../app/reports/reporting/reporting.component.ts   |   28 +-
 .../reports/reporting/toolbar/toolbar.component.ts |    2 +-
 .../bucket-browser/bucket-browser.component.html   |   28 +-
 .../bucket-browser/bucket-browser.component.ts     |    2 +-
 .../buckets-tree/bucket-tree.component.ts          |    2 +-
 .../folder-tree/folder-tree.component.ts           |    2 +-
 .../cluster-details/cluster-details.component.html |   97 +-
 .../cluster-details/cluster-details.component.ts   |    4 +-
 ...utational-resource-create-dialog.component.html |  145 ++-
 ...mputational-resource-create-dialog.component.ts |   14 +-
 .../computational-resource-create.model.ts         |    4 +-
 .../computational-resources-list.component.html    |   14 +-
 .../ami-create-dialog.component.ts                 |    2 +-
 .../create-environment.component.html              |   32 +-
 .../detail-dialog/detail-dialog.component.html     |   40 +-
 .../install-libraries.component.html               |    2 +-
 .../manage-ungit/manage-ungit.component.ts         |    2 +-
 .../resources-grid/resources-grid.component.html   |   44 +-
 .../src/app/resources/resources.component.ts       |    2 +-
 .../resources/scheduler/scheduler.component.html   |  169 +--
 .../app/resources/scheduler/scheduler.component.ts |    4 +-
 .../access-denied/access-denied.component.ts       |    2 +-
 .../confirmation-dialog.component.html             |   15 +-
 .../confirmation-dialog.component.ts               |    2 +-
 .../src/app/shared/navbar/navbar.component.html    |    2 +-
 .../src/app/shared/navbar/navbar.component.scss    |    2 +-
 .../src/app/shared/navbar/navbar.component.ts      |   30 +-
 .../shared/time-picker/time-picker.component.ts    |    2 +-
 .../webapp/src/app/swagger/swagger.component.ts    |    2 +-
 .../src/app/webterminal/webterminal.component.ts   |    4 +-
 .../src/main/resources/webapp/src/assets/data.json |    4 +-
 .../resources/webapp/src/assets/endpoint-api.json  |    4 +-
 .../webapp/src/assets/styles/app-loading.scss      |  151 +--
 .../webapp/src/assets/svg/datalab-logo.svg         |   12 +
 .../main/resources/webapp/src/assets/svg/logo.svg  |    8 +
 .../webapp/src/dictionary/aws.dictionary.ts        |    8 +-
 .../webapp/src/dictionary/azure.dictionary.ts      |    6 +-
 .../webapp/src/dictionary/gcp.dictionary.ts        |   10 +-
 .../webapp/src/dictionary/global.dictionary.ts     |    4 +-
 .../src/main/resources/webapp/src/favicon.ico      |  Bin 4286 -> 1414 bytes
 .../src/main/resources/webapp/src/index.html       |   38 +-
 .../com/epam/{dlab => datalab}/backendapi/.gitkeep |    0
 .../backendapi/domain/ExploratoryLibListTest.java  |   67 +
 .../resources/ApplicationSettingResourceTest.java  |  105 ++
 .../backendapi/resources/AuditResourceTest.java    |   88 ++
 .../backendapi/resources/BackupResourceTest.java   |  228 ++++
 .../resources/EnvironmentResourceTest.java         |  291 +++++
 .../resources/ExploratoryResourceTest.java         |  325 +++++
 .../backendapi/resources/GitCredsResourceTest.java |  180 +++
 .../resources/ImageExploratoryResourceTest.java    |  282 ++++
 .../resources/InfrastructureInfoResourceTest.java  |  205 +++
 .../InfrastructureTemplateResourceTest.java        |  182 +++
 .../backendapi/resources/KeycloakResourceTest.java |   70 +
 .../resources/LibExploratoryResourceTest.java      |  443 +++++++
 .../backendapi/resources/ProjectResourceTest.java  |  292 +++++
 .../resources/SchedulerJobResourceTest.java        |  341 +++++
 .../resources/SystemInfoResourceTest.java          |  101 ++
 .../datalab/backendapi/resources/TestBase.java     |   92 ++
 .../resources/UserGroupResourceTest.java           |  186 +++
 .../backendapi/resources/UserRoleResourceTest.java |  105 ++
 .../resources/UserSettingsResourceTest.java        |  166 +++
 .../datalab/backendapi/roles/UserRolesTest.java    |   88 ++
 .../CheckApplicationQuoteSchedulerTest.java        |   69 +
 .../schedulers/CheckUserQuoteSchedulerTest.java    |   81 ++
 .../service/ApplicationSettingServiceImplTest.java |   74 ++
 .../service/KeycloakServiceImplTest.java           |  108 ++
 .../backendapi/service/ProjectServiceImplTest.java |  426 ++++++
 .../service/SecurityServiceImplTest.java           |  134 ++
 .../backendapi/service/TagServiceImplTest.java     |   70 +
 .../service/UserRoleServiceImplTest.java           |   91 ++
 .../service/UserSettingServiceImplTest.java        |   89 ++
 .../service/impl/AccessKeyServiceImplTest.java     |   66 +
 .../service/impl/AuditServiceImplTest.java         |  106 ++
 .../service/impl/BackupServiceImplTest.java        |  151 +++
 .../service/impl/BillingServiceImplTest.java       |  739 +++++++++++
 .../service/impl/BucketServiceImplTest.java        |  264 ++++
 .../service/impl/ComputationalServiceImplTest.java |  784 +++++++++++
 .../service/impl/EndpointServiceImplTest.java      |  310 +++++
 .../service/impl/EnvironmentServiceImplTest.java   |  369 ++++++
 .../service/impl/ExploratoryServiceImplTest.java   |  549 ++++++++
 .../service/impl/GitCredentialServiceImplTest.java |  182 +++
 .../impl/ImageExploratoryServiceImplTest.java      |  352 +++++
 .../impl/InfrastructureInfoServiceImplTest.java    |  387 ++++++
 .../InfrastructureTemplateServiceBaseTest.java     |  226 ++++
 .../service/impl/LibraryServiceImplTest.java       |  490 +++++++
 .../impl/MavenCentralLibraryServiceTest.java       |   92 ++
 .../service/impl/ReuploadKeyServiceImplTest.java   |  183 +++
 .../service/impl/SchedulerJobServiceImplTest.java  | 1125 ++++++++++++++++
 .../service/impl/SystemInfoServiceImplTest.java    |   99 ++
 .../service/impl/UserGroupServiceImplTest.java     |  182 +++
 .../datalab/backendapi/util/CSVFormatterTest.java  |   46 +
 .../backendapi/util/DateRemoverUtilTest.java       |   44 +
 .../backendapi/domain/ExploratoryLibListTest.java  |   67 -
 .../resources/ApplicationSettingResourceTest.java  |  102 --
 .../backendapi/resources/AuditResourceTest.java    |   88 --
 .../backendapi/resources/BackupResourceTest.java   |  223 ----
 .../resources/EnvironmentResourceTest.java         |  291 -----
 .../resources/ExploratoryResourceTest.java         |  325 -----
 .../backendapi/resources/GitCredsResourceTest.java |  174 ---
 .../resources/ImageExploratoryResourceTest.java    |  281 ----
 .../resources/InfrastructureInfoResourceTest.java  |  205 ---
 .../InfrastructureTemplateResourceTest.java        |  177 ---
 .../backendapi/resources/KeycloakResourceTest.java |   70 -
 .../resources/LibExploratoryResourceTest.java      |  443 -------
 .../backendapi/resources/ProjectResourceTest.java  |  292 -----
 .../resources/SchedulerJobResourceTest.java        |  341 -----
 .../resources/SystemInfoResourceTest.java          |   97 --
 .../epam/dlab/backendapi/resources/TestBase.java   |   92 --
 .../resources/UserGroupResourceTest.java           |  186 ---
 .../backendapi/resources/UserRoleResourceTest.java |  105 --
 .../resources/UserSettingsResourceTest.java        |  159 ---
 .../epam/dlab/backendapi/roles/UserRolesTest.java  |   88 --
 .../CheckApplicationQuoteSchedulerTest.java        |   66 -
 .../schedulers/CheckUserQuoteSchedulerTest.java    |   77 --
 .../service/ApplicationSettingServiceImplTest.java |   72 --
 .../service/KeycloakServiceImplTest.java           |  108 --
 .../backendapi/service/ProjectServiceImplTest.java |  426 ------
 .../service/SecurityServiceImplTest.java           |  134 --
 .../backendapi/service/TagServiceImplTest.java     |   70 -
 .../service/UserRoleServiceImplTest.java           |   91 --
 .../service/UserSettingServiceImplTest.java        |   86 --
 .../service/impl/AccessKeyServiceImplTest.java     |   66 -
 .../service/impl/AuditServiceImplTest.java         |  106 --
 .../service/impl/BackupServiceImplTest.java        |  151 ---
 .../service/impl/BillingServiceImplTest.java       |  739 -----------
 .../service/impl/BucketServiceImplTest.java        |  264 ----
 .../service/impl/ComputationalServiceImplTest.java |  784 -----------
 .../service/impl/EndpointServiceImplTest.java      |  310 -----
 .../service/impl/EnvironmentServiceImplTest.java   |  369 ------
 .../service/impl/ExploratoryServiceImplTest.java   |  549 --------
 .../service/impl/GitCredentialServiceImplTest.java |  175 ---
 .../impl/ImageExploratoryServiceImplTest.java      |  352 -----
 .../impl/InfrastructureInfoServiceImplTest.java    |  387 ------
 .../InfrastructureTemplateServiceBaseTest.java     |  226 ----
 .../service/impl/LibraryServiceImplTest.java       |  490 -------
 .../impl/MavenCentralLibraryServiceTest.java       |   90 --
 .../service/impl/ReuploadKeyServiceImplTest.java   |  183 ---
 .../service/impl/SchedulerJobServiceImplTest.java  | 1125 ----------------
 .../service/impl/SystemInfoServiceImplTest.java    |   96 --
 .../service/impl/UserGroupServiceImplTest.java     |  182 ---
 .../dlab/backendapi/util/CSVFormatterTest.java     |   46 -
 .../dlab/backendapi/util/DateRemoverUtilTest.java  |   44 -
 2243 files changed, 81973 insertions(+), 81181 deletions(-)

diff --cc infrastructure-provisioning/scripts/deploy_datalab.py
index 0000000,8ebad3e..096150c
mode 000000,100644..100644
--- a/infrastructure-provisioning/scripts/deploy_datalab.py
+++ b/infrastructure-provisioning/scripts/deploy_datalab.py
@@@ -1,0 -1,220 +1,231 @@@
+ #!/usr/bin/python
+ # *****************************************************************************
+ #
+ # 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.
+ #
+ # ******************************************************************************
+ 
+ 
 -from fabric.api import *
+ import argparse
+ import os
++from fabric.api import *
+ 
+ parser = argparse.ArgumentParser()
+ parser.add_argument('--conf_service_base_name', type=str, help='unique name for DataLab environment')
 -parser.add_argument('--conf_network_type', type=str, default='', help='Define in which network DataLab will be deployed. '
 -                                                                      'Possible options: public|private')
++parser.add_argument('--conf_network_type', type=str, default='',
++                    help='Define in which network DataLab will be deployed. '
++                         'Possible options: public|private')
+ parser.add_argument('--conf_vpc_cidr', type=str, default='', help='CIDR of VPC')
+ parser.add_argument('--conf_vpc2_cidr', type=str, default='', help='CIDR of secondary VPC')
+ parser.add_argument('--conf_allowed_ip_cidr', type=str, default='', help='Comma-separated CIDR of IPs which will have '
+                                                                          'access to SSN')
+ parser.add_argument('--conf_user_subnets_range', type=str, default='', help='Range of subnets which will be using for '
+                                                                             'users environments. For example: '
+                                                                             '10.10.0.0/24 - 10.10.10.0/24')
+ parser.add_argument('--conf_private_subnet_prefix', type=str, default='24', help='Private subnet prefix')
+ parser.add_argument('--conf_additional_tags', type=str, default='', help='Additional tags in format '
+                                                                          '"Key1:Value1;Key2:Value2"')
+ parser.add_argument('--conf_image_enabled', type=str, default='', help='Enable or Disable creating image at first time')
+ parser.add_argument('--aws_user_predefined_s3_policies', type=str, default='', help='Predefined policies for users '
+                                                                                     'instances')
+ parser.add_argument('--aws_access_key', type=str, default='', help='AWS Access Key ID')
+ parser.add_argument('--aws_secret_access_key', type=str, default='', help='AWS Secret Access Key')
+ parser.add_argument('--aws_region', type=str, default='', help='AWS region')
+ parser.add_argument('--aws_zone', type=str, default='', help='AWS zone')
+ parser.add_argument('--azure_region', type=str, default='', help='Azure region')
+ parser.add_argument('--gcp_region', type=str, default='', help='GCP region')
+ parser.add_argument('--gcp_zone', type=str, default='', help='GCP zone')
+ parser.add_argument('--conf_os_family', type=str, default='',
+                     help='Operating system type. Available options: debian, redhat')
+ parser.add_argument('--conf_cloud_provider', type=str, default='',
+                     help='Where DataLab should be deployed. Available options: aws, azure, gcp')
+ parser.add_argument('--ssn_hosted_zone_name', type=str, default='', help='Name of hosted zone')
+ parser.add_argument('--ssn_hosted_zone_id', type=str, default='', help='ID of hosted zone')
+ parser.add_argument('--ssn_subdomain', type=str, default='', help='Subdomain name')
+ parser.add_argument('--ssn_assume_role_arn', type=str, default='', help='Role ARN for creating Route53 record in '
+                                                                         'different AWS account')
+ parser.add_argument('--ssl_cert_path', type=str, default='', help='Full path to SSL certificate')
+ parser.add_argument('--ssl_key_path', type=str, default='', help='Full path to key for SSL certificate')
+ parser.add_argument('--aws_vpc_id', type=str, default='', help='AWS VPC ID')
+ parser.add_argument('--conf_duo_vpc_enable', type=str, default='false', help='Duo VPC scheme enable(true|false)')
+ parser.add_argument('--aws_vpc2_id', type=str, default='', help='Secondary AWS VPC ID')
+ parser.add_argument('--aws_peering_id', type=str, default='', help='Amazon peering connection id')
+ parser.add_argument('--azure_vpc_name', type=str, default='', help='Azure VPC Name')
+ parser.add_argument('--gcp_vpc_name', type=str, default='', help='GCP VPC Name')
+ parser.add_argument('--aws_subnet_id', type=str, default='', help='AWS Subnet ID')
+ parser.add_argument('--azure_subnet_name', type=str, default='', help='Azure Subnet Name')
+ parser.add_argument('--gcp_subnet_name', type=str, default='', help='GCP Subnet Name')
+ parser.add_argument('--aws_security_groups_ids', type=str, default='', help='One of more comma-separated Security '
+                                                                             'groups IDs for SSN')
+ parser.add_argument('--azure_security_group_name', type=str, default='', help='One of more comma-separated Security '
+                                                                               'groups names for SSN')
+ parser.add_argument('--gcp_firewall_name', type=str, default='', help='One of more comma-separated GCP Firewall rules '
+                                                                       'for SSN')
+ parser.add_argument('--key_path', type=str, default='', help='Path to admin key (WITHOUT KEY NAME)')
+ parser.add_argument('--conf_key_name', type=str, default='', help='Admin key name (WITHOUT ".pem")')
+ parser.add_argument('--workspace_path', type=str, default='', help='Admin key name (WITHOUT ".pem")')
+ parser.add_argument('--conf_tag_resource_id', type=str, default='datalab', help='The name of user tag')
+ parser.add_argument('--conf_billing_tag', type=str, default='datalab', help='Billing tag')
+ parser.add_argument('--aws_ssn_instance_size', type=str, default='t2.large', help='The SSN instance shape')
+ parser.add_argument('--azure_ssn_instance_size', type=str, default='Standard_DS2_v2', help='The SSN instance shape')
+ parser.add_argument('--gcp_ssn_instance_size', type=str, default='n1-standard-2', help='The SSN instance shape')
+ parser.add_argument('--aws_account_id', type=str, default='', help='The ID of Amazon account')
+ parser.add_argument('--aws_billing_bucket', type=str, default='', help='The name of S3 bucket where billing reports '
+                                                                        'will be placed.')
+ parser.add_argument('--aws_job_enabled', type=str, default='false', help='Billing format. Available options: '
+                                                                          'true (aws), false(epam)')
+ parser.add_argument('--aws_report_path', type=str, default='', help='The path to billing reports directory in S3 '
+                                                                     'bucket')
+ parser.add_argument('--azure_resource_group_name', type=str, default='', help='Name of Resource group in Azure')
+ parser.add_argument('--azure_auth_path', type=str, default='', help='Full path to Azure credentials JSON file')
+ parser.add_argument('--azure_datalake_enable', type=str, default='', help='Provision DataLake storage account')
+ parser.add_argument('--azure_ad_group_id', type=str, default='', help='ID of Azure AD group')
+ parser.add_argument('--azure_offer_number', type=str, default='', help='Azure offer number')
+ parser.add_argument('--azure_currency', type=str, default='', help='Azure currency code')
+ parser.add_argument('--azure_locale', type=str, default='', help='Azure locale')
+ parser.add_argument('--azure_application_id', type=str, default='', help='Azure login application ID')
+ parser.add_argument('--azure_validate_permission_scope', type=str, default='true', help='Azure permission scope '
+                                                                                         'validation(true|false).')
+ parser.add_argument('--azure_oauth2_enabled', type=str, default='false', help='Using OAuth2 for logging in DataLab')
+ parser.add_argument('--azure_region_info', type=str, default='', help='Azure region info')
+ parser.add_argument('--azure_source_vpc_name', type=str, default='', help='Azure VPC source Name')
+ parser.add_argument('--azure_source_resource_group_name', type=str, default='', help='Azure source resource group')
+ parser.add_argument('--gcp_project_id', type=str, default='', help='The project ID in Google Cloud Platform')
+ parser.add_argument('--gcp_service_account_path', type=str, default='', help='The project ID in Google Cloud Platform')
 -parser.add_argument('--datalab_id', type=str, default="'resource_tags_user_user_tag'", help='Column name in report file that contains '
 -                                                                           'datalab id tag')
 -parser.add_argument('--usage_date', type=str, default='line_item_usage_start_date', help='Column name in report file that contains '
 -                                                                             'usage date tag')
 -parser.add_argument('--product', type=str, default='product_product_name', help='Column name in report file that contains '
 -                                                                       'product name tag')
 -parser.add_argument('--usage_type', type=str, default='line_item_usage_type', help='Column name in report file that contains '
 -                                                                        'usage type tag')
 -parser.add_argument('--usage', type=str, default='line_item_usage_amount', help='Column name in report file that contains '
 -                                                                       'usage tag')
 -parser.add_argument('--cost', type=str, default='line_item_blended_cost', help='Column name in report file that contains cost tag')
 -parser.add_argument('--resource_id', type=str, default='line_item_resource_id', help='Column name in report file that contains '
 -                                                                          'datalab resource id tag')
++parser.add_argument('--datalab_id', type=str, default="'resource_tags_user_user_tag'",
++                    help='Column name in report file that contains '
++                         'datalab id tag')
++parser.add_argument('--usage_date', type=str, default='line_item_usage_start_date',
++                    help='Column name in report file that contains '
++                         'usage date tag')
++parser.add_argument('--product', type=str, default='product_product_name',
++                    help='Column name in report file that contains '
++                         'product name tag')
++parser.add_argument('--usage_type', type=str, default='line_item_usage_type',
++                    help='Column name in report file that contains '
++                         'usage type tag')
++parser.add_argument('--usage', type=str, default='line_item_usage_amount',
++                    help='Column name in report file that contains '
++                         'usage tag')
++parser.add_argument('--cost', type=str, default='line_item_blended_cost',
++                    help='Column name in report file that contains cost tag')
++parser.add_argument('--resource_id', type=str, default='line_item_resource_id',
++                    help='Column name in report file that contains '
++                         'datalab resource id tag')
+ parser.add_argument('--ldap_hostname', type=str, default='localhost', help='Ldap instance hostname')
+ parser.add_argument('--ldap_dn', type=str, default='dc=example,dc=com',
+                     help='Ldap distinguished name')
+ parser.add_argument('--ldap_ou', type=str, default='ou=People', help='Ldap organisation unit')
+ parser.add_argument('--ldap_service_username', type=str, default='cn=service-user', help='Ldap service user name')
+ parser.add_argument('--ldap_service_password', type=str, default='service-user-password',
+                     help='Ldap password for admin user')
+ parser.add_argument('--keycloak_realm_name', type=str, default='datalab', help='Keycloak Realm name')
+ parser.add_argument('--keycloak_auth_server_url', type=str, default='datalab', help='Keycloak auth server URL')
+ parser.add_argument('--keycloak_client_name', type=str, default='datalab', help='Keycloak client name')
+ parser.add_argument('--keycloak_client_secret', type=str, default='datalab', help='Keycloak client secret')
+ parser.add_argument('--keycloak_user', type=str, default='datalab', help='Keycloak user')
 -parser.add_argument('--keycloak_user_password', type=str, default='keycloak-user-password', help='Keycloak user password')
 -parser.add_argument('--tags', type=str, default='line_item_operation,line_item_line_item_description', help='Column name in report file that '
 -                                                                                  'contains tags')
++parser.add_argument('--keycloak_user_password', type=str, default='keycloak-user-password',
++                    help='Keycloak user password')
++parser.add_argument('--tags', type=str, default='line_item_operation,line_item_line_item_description',
++                    help='Column name in report file that '
++                         'contains tags')
+ parser.add_argument('--billing_dataset_name', type=str, default='', help='Name of GCP dataset (BigQuery service)'
+                                                                          ' for billing')
+ parser.add_argument('--default_endpoint_name', type=str, default='local', help='Name of localhost provisioning service,'
+                                                                                'that created by default')
+ parser.add_argument('--conf_stepcerts_enabled', type=str, default='false', help='Enable or disable step certificates')
+ parser.add_argument('--conf_stepcerts_root_ca', type=str, default='', help='Step root CA')
+ parser.add_argument('--conf_stepcerts_kid', type=str, default='', help='Step KID')
+ parser.add_argument('--conf_stepcerts_kid_password', type=str, default='', help='Step KID password')
+ parser.add_argument('--conf_stepcerts_ca_url', type=str, default='', help='Step CA URL')
 -parser.add_argument('--conf_letsencrypt_enabled', type=str, default='false', help='Enable or disable Let`s Encrypt certificates')
++parser.add_argument('--conf_letsencrypt_enabled', type=str, default='false',
++                    help='Enable or disable Let`s Encrypt certificates')
+ parser.add_argument('--conf_letsencrypt_domain_name', type=str, default='', help='Domain names to apply. '
 -                         'For multiple domains enter a comma separated list of domains as a parameter'
 -                         'ssn.domain_name will be used for ssn_node, DNS A record have to exist during deployment')
++                                                                                 'For multiple domains enter a comma separated list of domains as a parameter'
++                                                                                 'ssn.domain_name will be used for ssn_node, DNS A record have to exist during deployment')
+ parser.add_argument('--conf_letsencrypt_email', type=str, default='', help='Email that will be entered during '
 -                         'certificate obtaining and can be user for urgent renewal and security notices. '
 -                         'Use comma to register multiple emails, e.g. u1@example.com,u2@example.com.')
++                                                                           'certificate obtaining and can be user for urgent renewal and security notices. '
++                                                                           'Use comma to register multiple emails, e.g. u1@example.com,u2@example.com.')
+ parser.add_argument('--action', required=True, type=str, default='', choices=['build', 'deploy', 'create', 'terminate'],
+                     help='Available options: build, deploy, create, terminate')
+ args = parser.parse_args()
+ 
+ 
+ def generate_docker_command():
+     docker_command = ''
+     command = []
+     if args.action == 'terminate':
+         command.append('sudo docker run -i ')
+     else:
+         command.append('sudo docker run -i -v {0}{1}.pem:/root/keys/{1}.pem -v {2}/web_app:/root/web_app '.
+                        format(args.key_path, args.conf_key_name, args.workspace_path))
+     if args.conf_cloud_provider == 'azure':
+         command.append('-v {}:/root/azure_auth.json '.format(args.azure_auth_path))
+     elif args.conf_cloud_provider == 'gcp':
+         command.append('-v {}:/root/service_account.json '.format(args.gcp_service_account_path))
+     if args.ssl_cert_path != '' and args.ssl_key_path != '':
+         command.append('-v {}:/root/certs/datalab.crt -v {}:/root/certs/datalab.key '.format(args.ssl_cert_path,
 -                                                                                       args.ssl_key_path))
++                                                                                             args.ssl_key_path))
+     attrs = vars(args)
+     skipped_parameters = ['action', 'key_path', 'workspace_path', 'gcp_service_account_path', 'ssl_cert_path',
+                           'ssl_key_path']
+     for i in attrs:
+         if attrs[i] and i not in skipped_parameters:
+             command.append("-e '{}={}' ".format(i, attrs[i]))
+     command.append('-e "conf_resource=ssn" ')
+     command.append('docker.datalab-ssn ')
+     command.append('--action {} '.format(args.action))
+     return docker_command.join(command)
+ 
+ 
+ def build_docker_images(args):
+     # Building base and ssn docker images
+     with lcd(args.workspace_path):
+         local('sudo docker build --build-arg OS={0} --build-arg SRC_PATH="infrastructure-provisioning/src/" --file '
+               'infrastructure-provisioning/src/general/files/{1}/'
+               'base_Dockerfile -t docker.datalab-base .'.format(args.conf_os_family, args.conf_cloud_provider))
+         local('sudo docker build --build-arg OS={0} --file infrastructure-provisioning/src/general/files/{1}/'
+               'ssn_Dockerfile -t docker.datalab-ssn .'.format(args.conf_os_family, args.conf_cloud_provider))
+ 
+ 
+ def deploy_datalab(args):
+     # Creating SSN node
+     docker_command = generate_docker_command()
+     local(docker_command)
+ 
+ 
+ def terminate_datalab(args):
+     # Dropping datalab environment with selected infrastructure tag
+     docker_command = generate_docker_command()
+     local(docker_command)
+ 
+ 
+ if __name__ == "__main__":
+     if not args.workspace_path:
+         print("Workspace path isn't set, using current directory: {}".format(os.environ['PWD']))
+         args.workspace_path = os.environ['PWD']
+     if args.action == 'build':
+         build_docker_images(args)
+     elif args.action == 'deploy':
+         deploy_datalab(args)
+     elif args.action == 'create':
+         build_docker_images(args)
+         deploy_datalab(args)
+     elif args.action == 'terminate':
+         build_docker_images(args)
+         terminate_datalab(args)
diff --cc infrastructure-provisioning/scripts/deploy_repository/deploy_repository.py
index 0c761a5,bc5e331..c3e738f
--- a/infrastructure-provisioning/scripts/deploy_repository/deploy_repository.py
+++ b/infrastructure-provisioning/scripts/deploy_repository/deploy_repository.py
@@@ -20,17 -20,17 +20,17 @@@
  #
  # ******************************************************************************
  
--from fabric.api import *
--from fabric.contrib.files import exists
  import argparse
  import boto3
--import traceback
--import sys
  import json
--import time
--import string
  import random
++import string
++import sys
++import time
++import traceback
  from ConfigParser import SafeConfigParser
++from fabric.api import *
++from fabric.contrib.files import exists
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--service_base_name', required=True, type=str, default='',
diff --cc infrastructure-provisioning/scripts/post-deployment_configuration.py
index 051258f,6098d62..7a39190
--- a/infrastructure-provisioning/scripts/post-deployment_configuration.py
+++ b/infrastructure-provisioning/scripts/post-deployment_configuration.py
@@@ -21,11 -21,11 +21,11 @@@
  #
  # ******************************************************************************
  
--from fabric.api import *
  import argparse
  import requests
  import uuid
  from Crypto.PublicKey import RSA
++from fabric.api import *
  
  if __name__ == "__main__":
  
@@@ -43,13 -43,13 +43,19 @@@
      }
  
      print("Getting cloud and instance parameters")
--    server_external_ip = requests.get('http://metadata/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip', headers=headers).text
-     dlab_sbn = requests.get('http://metadata/computeMetadata/v1/instance/name', headers=headers).text
-     dlab_ssn_static_ip_name = dlab_sbn + '-ip'
-     dlab_zone = requests.get('http://metadata/computeMetadata/v1/instance/zone', headers=headers).text.split('/')[-1]
-     dlab_region = '-'.join(dlab_zone.split('-', 2)[:2])
-     deployment_vpcId = local("sudo gcloud compute instances describe {0} --zone {1} --format 'value(networkInterfaces.network)' | sed 's|.*/||'".format(dlab_sbn, dlab_zone), capture=True)
-     deployment_subnetId = local("sudo gcloud compute instances describe {0} --zone {1} --format 'value(networkInterfaces.subnetwork)' | sed 's|.*/||'".format(dlab_sbn, dlab_zone), capture=True)
++    server_external_ip = requests.get(
++        'http://metadata/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip',
++        headers=headers).text
+     datalab_sbn = requests.get('http://metadata/computeMetadata/v1/instance/name', headers=headers).text
+     datalab_ssn_static_ip_name = datalab_sbn + '-ip'
+     datalab_zone = requests.get('http://metadata/computeMetadata/v1/instance/zone', headers=headers).text.split('/')[-1]
+     datalab_region = '-'.join(datalab_zone.split('-', 2)[:2])
 -    deployment_vpcId = local("sudo gcloud compute instances describe {0} --zone {1} --format 'value(networkInterfaces.network)' | sed 's|.*/||'".format(datalab_sbn, datalab_zone), capture=True)
 -    deployment_subnetId = local("sudo gcloud compute instances describe {0} --zone {1} --format 'value(networkInterfaces.subnetwork)' | sed 's|.*/||'".format(datalab_sbn, datalab_zone), capture=True)
++    deployment_vpcId = local(
++        "sudo gcloud compute instances describe {0} --zone {1} --format 'value(networkInterfaces.network)' | sed 's|.*/||'".format(
++            datalab_sbn, datalab_zone), capture=True)
++    deployment_subnetId = local(
++        "sudo gcloud compute instances describe {0} --zone {1} --format 'value(networkInterfaces.subnetwork)' | sed 's|.*/||'".format(
++            datalab_sbn, datalab_zone), capture=True)
      gcp_projectId = requests.get('http://metadata/computeMetadata/v1/project/project-id', headers=headers).text
      keycloak_redirectUri = 'http://{}'.format(server_external_ip)
  
@@@ -63,10 -63,10 +69,12 @@@
      print("Generationg MongoDB password")
      mongo_pwd = uuid.uuid4().hex
      try:
-         local("sudo echo -e 'db.changeUserPassword(\"admin\", \"{}\")' | mongo dlabdb --port 27017 -u admin -p MONGO_PASSWORD".format(mongo_pwd))
-         local('sudo sed -i "s|MONGO_PASSWORD|{}|g" /opt/dlab/conf/billing.yml'.format(mongo_pwd))
 -        local("sudo echo -e 'db.changeUserPassword(\"admin\", \"{}\")' | mongo datalabdb --port 27017 -u admin -p MONGO_PASSWORD".format(mongo_pwd))
++        local(
++            "sudo echo -e 'db.changeUserPassword(\"admin\", \"{}\")' | mongo datalabdb --port 27017 -u admin -p MONGO_PASSWORD".format(
++                mongo_pwd))
+         local('sudo sed -i "s|MONGO_PASSWORD|{}|g" /opt/datalab/conf/billing.yml'.format(mongo_pwd))
  
-         local('sudo sed -i "s|MONGO_PASSWORD|{}|g" /opt/dlab/conf/ssn.yml'.format(mongo_pwd))
+         local('sudo sed -i "s|MONGO_PASSWORD|{}|g" /opt/datalab/conf/ssn.yml'.format(mongo_pwd))
      except:
          print('Mongo password was already changed')
  
@@@ -76,63 -76,63 +84,97 @@@
      if static_address_exist:
          print('Address is already static')
      else:
-         local("sudo gcloud compute addresses create {0} --addresses {1} --region {2}".format(dlab_ssn_static_ip_name,
+         local("sudo gcloud compute addresses create {0} --addresses {1} --region {2}".format(datalab_ssn_static_ip_name,
                                                                                               server_external_ip,
-                                                                                              dlab_region), capture=True)
 -                                                                                             datalab_region), capture=True)
++                                                                                             datalab_region),
++              capture=True)
  
      print("Overwriting SSN parameters")
  
      if deployment_subnetId == 'default':
-         local('sudo sed -i "s|# user_subnets_range|user_subnets_range|g" /opt/dlab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini')
- 
-     local('sudo sed -i "s|DLAB_SBN|{}|g" /opt/dlab/conf/self-service.yml'.format(dlab_sbn))
-     local('sudo sed -i "s|KEYCLOAK_REDIRECTURI|{}|g" /opt/dlab/conf/self-service.yml'.format(keycloak_redirectUri))
-     local('sudo sed -i "s|KEYCLOAK_REALM_NAME|{}|g" /opt/dlab/conf/self-service.yml'.format(args.keycloak_realm_name))
-     local('sudo sed -i "s|KEYCLOAK_AUTH_SERVER_URL|{}|g" /opt/dlab/conf/self-service.yml'.format(
 -        local('sudo sed -i "s|# user_subnets_range|user_subnets_range|g" /opt/datalab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini')
++        local(
++            'sudo sed -i "s|# user_subnets_range|user_subnets_range|g" /opt/datalab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini')
+ 
+     local('sudo sed -i "s|DATALAB_SBN|{}|g" /opt/datalab/conf/self-service.yml'.format(datalab_sbn))
+     local('sudo sed -i "s|KEYCLOAK_REDIRECTURI|{}|g" /opt/datalab/conf/self-service.yml'.format(keycloak_redirectUri))
 -    local('sudo sed -i "s|KEYCLOAK_REALM_NAME|{}|g" /opt/datalab/conf/self-service.yml'.format(args.keycloak_realm_name))
++    local(
++        'sudo sed -i "s|KEYCLOAK_REALM_NAME|{}|g" /opt/datalab/conf/self-service.yml'.format(args.keycloak_realm_name))
+     local('sudo sed -i "s|KEYCLOAK_AUTH_SERVER_URL|{}|g" /opt/datalab/conf/self-service.yml'.format(
          args.keycloak_auth_server_url))
-     local('sudo sed -i "s|KEYCLOAK_CLIENT_NAME|{}|g" /opt/dlab/conf/self-service.yml'.format(args.keycloak_client_name))
-     local('sudo sed -i "s|KEYCLOAK_CLIENT_SECRET|{}|g" /opt/dlab/conf/self-service.yml'.format(
 -    local('sudo sed -i "s|KEYCLOAK_CLIENT_NAME|{}|g" /opt/datalab/conf/self-service.yml'.format(args.keycloak_client_name))
++    local('sudo sed -i "s|KEYCLOAK_CLIENT_NAME|{}|g" /opt/datalab/conf/self-service.yml'.format(
++        args.keycloak_client_name))
+     local('sudo sed -i "s|KEYCLOAK_CLIENT_SECRET|{}|g" /opt/datalab/conf/self-service.yml'.format(
          args.keycloak_client_secret))
  
-     local('sudo sed -i "s|KEYCLOAK_REALM_NAME|{}|g" /opt/dlab/conf/provisioning.yml'.format(args.keycloak_realm_name))
-     local('sudo sed -i "s|KEYCLOAK_AUTH_SERVER_URL|{}|g" /opt/dlab/conf/provisioning.yml'.format(
 -    local('sudo sed -i "s|KEYCLOAK_REALM_NAME|{}|g" /opt/datalab/conf/provisioning.yml'.format(args.keycloak_realm_name))
++    local(
++        'sudo sed -i "s|KEYCLOAK_REALM_NAME|{}|g" /opt/datalab/conf/provisioning.yml'.format(args.keycloak_realm_name))
+     local('sudo sed -i "s|KEYCLOAK_AUTH_SERVER_URL|{}|g" /opt/datalab/conf/provisioning.yml'.format(
          args.keycloak_auth_server_url))
-     local('sudo sed -i "s|KEYCLOAK_CLIENT_NAME|{}|g" /opt/dlab/conf/provisioning.yml'.format(args.keycloak_client_name))
-     local('sudo sed -i "s|KEYCLOAK_CLIENT_SECRET|{}|g" /opt/dlab/conf/provisioning.yml'.format(
 -    local('sudo sed -i "s|KEYCLOAK_CLIENT_NAME|{}|g" /opt/datalab/conf/provisioning.yml'.format(args.keycloak_client_name))
++    local('sudo sed -i "s|KEYCLOAK_CLIENT_NAME|{}|g" /opt/datalab/conf/provisioning.yml'.format(
++        args.keycloak_client_name))
+     local('sudo sed -i "s|KEYCLOAK_CLIENT_SECRET|{}|g" /opt/datalab/conf/provisioning.yml'.format(
          args.keycloak_client_secret))
-     local('sudo sed -i "s|DLAB_SBN|{}|g" /opt/dlab/conf/provisioning.yml'.format(dlab_sbn))
-     local('sudo sed -i "s|SUBNET_ID|{}|g" /opt/dlab/conf/provisioning.yml'.format(deployment_subnetId))
-     local('sudo sed -i "s|DLAB_REGION|{}|g" /opt/dlab/conf/provisioning.yml'.format(dlab_region))
-     local('sudo sed -i "s|DLAB_ZONE|{}|g" /opt/dlab/conf/provisioning.yml'.format(dlab_zone))
-     local('sudo sed -i "s|SSN_VPC_ID|{}|g" /opt/dlab/conf/provisioning.yml'.format(deployment_vpcId))
-     local('sudo sed -i "s|GCP_PROJECT_ID|{}|g" /opt/dlab/conf/provisioning.yml'.format(gcp_projectId))
-     local('sudo sed -i "s|KEYCLOAK_USER|{}|g" /opt/dlab/conf/provisioning.yml'.format(args.keycloak_user))
-     local('sudo sed -i "s|KEYCLOAK_ADMIN_PASSWORD|{}|g" /opt/dlab/conf/provisioning.yml'.format(
+     local('sudo sed -i "s|DATALAB_SBN|{}|g" /opt/datalab/conf/provisioning.yml'.format(datalab_sbn))
+     local('sudo sed -i "s|SUBNET_ID|{}|g" /opt/datalab/conf/provisioning.yml'.format(deployment_subnetId))
+     local('sudo sed -i "s|DATALAB_REGION|{}|g" /opt/datalab/conf/provisioning.yml'.format(datalab_region))
+     local('sudo sed -i "s|DATALAB_ZONE|{}|g" /opt/datalab/conf/provisioning.yml'.format(datalab_zone))
+     local('sudo sed -i "s|SSN_VPC_ID|{}|g" /opt/datalab/conf/provisioning.yml'.format(deployment_vpcId))
+     local('sudo sed -i "s|GCP_PROJECT_ID|{}|g" /opt/datalab/conf/provisioning.yml'.format(gcp_projectId))
+     local('sudo sed -i "s|KEYCLOAK_USER|{}|g" /opt/datalab/conf/provisioning.yml'.format(args.keycloak_user))
+     local('sudo sed -i "s|KEYCLOAK_ADMIN_PASSWORD|{}|g" /opt/datalab/conf/provisioning.yml'.format(
          args.keycloak_admin_password))
  
-     local('sudo sed -i "s|DLAB_SBN|{}|g" /opt/dlab/conf/billing.yml'.format(dlab_sbn))
- 
-     local('sudo sed -i "s|DLAB_SBN|{}|g" /opt/dlab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini'.format(dlab_sbn))
-     local('sudo sed -i "s|GCP_PROJECT_ID|{}|g" /opt/dlab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini'.format(gcp_projectId))
-     local('sudo sed -i "s|DLAB_REGION|{}|g" /opt/dlab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini'.format(dlab_region))
-     local('sudo sed -i "s|DLAB_ZONE|{}|g" /opt/dlab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini'.format(dlab_zone))
-     local('sudo sed -i "s|KEYCLOAK_REALM_NAME|{}|g" /opt/dlab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini'.format(args.keycloak_realm_name))
-     local('sudo sed -i "s|KEYCLOAK_AUTH_SERVER_URL|{}|g" /opt/dlab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini'.format(args.keycloak_auth_server_url))
-     local('sudo sed -i "s|KEYCLOAK_CLIENT_NAME|{}|g" /opt/dlab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini'.format(args.keycloak_client_name))
-     local('sudo sed -i "s|KEYCLOAK_CLIENT_SECRET|{}|g" /opt/dlab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini'.format(args.keycloak_client_secret))
-     local('sudo sed -i "s|KEYCLOAK_USER|{}|g" /opt/dlab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini'.format(args.keycloak_user))
-     local('sudo sed -i "s|KEYCLOAK_ADMIN_PASSWORD|{}|g" /opt/dlab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini'.format(args.keycloak_admin_password))
+     local('sudo sed -i "s|DATALAB_SBN|{}|g" /opt/datalab/conf/billing.yml'.format(datalab_sbn))
+ 
 -    local('sudo sed -i "s|DATALAB_SBN|{}|g" /opt/datalab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini'.format(datalab_sbn))
 -    local('sudo sed -i "s|GCP_PROJECT_ID|{}|g" /opt/datalab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini'.format(gcp_projectId))
 -    local('sudo sed -i "s|DATALAB_REGION|{}|g" /opt/datalab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini'.format(datalab_region))
 -    local('sudo sed -i "s|DATALAB_ZONE|{}|g" /opt/datalab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini'.format(datalab_zone))
 -    local('sudo sed -i "s|KEYCLOAK_REALM_NAME|{}|g" /opt/datalab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini'.format(args.keycloak_realm_name))
 -    local('sudo sed -i "s|KEYCLOAK_AUTH_SERVER_URL|{}|g" /opt/datalab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini'.format(args.keycloak_auth_server_url))
 -    local('sudo sed -i "s|KEYCLOAK_CLIENT_NAME|{}|g" /opt/datalab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini'.format(args.keycloak_client_name))
 -    local('sudo sed -i "s|KEYCLOAK_CLIENT_SECRET|{}|g" /opt/datalab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini'.format(args.keycloak_client_secret))
 -    local('sudo sed -i "s|KEYCLOAK_USER|{}|g" /opt/datalab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini'.format(args.keycloak_user))
 -    local('sudo sed -i "s|KEYCLOAK_ADMIN_PASSWORD|{}|g" /opt/datalab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini'.format(args.keycloak_admin_password))
++    local(
++        'sudo sed -i "s|DATALAB_SBN|{}|g" /opt/datalab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini'.format(
++            datalab_sbn))
++    local(
++        'sudo sed -i "s|GCP_PROJECT_ID|{}|g" /opt/datalab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini'.format(
++            gcp_projectId))
++    local(
++        'sudo sed -i "s|DATALAB_REGION|{}|g" /opt/datalab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini'.format(
++            datalab_region))
++    local(
++        'sudo sed -i "s|DATALAB_ZONE|{}|g" /opt/datalab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini'.format(
++            datalab_zone))
++    local(
++        'sudo sed -i "s|KEYCLOAK_REALM_NAME|{}|g" /opt/datalab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini'.format(
++            args.keycloak_realm_name))
++    local(
++        'sudo sed -i "s|KEYCLOAK_AUTH_SERVER_URL|{}|g" /opt/datalab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini'.format(
++            args.keycloak_auth_server_url))
++    local(
++        'sudo sed -i "s|KEYCLOAK_CLIENT_NAME|{}|g" /opt/datalab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini'.format(
++            args.keycloak_client_name))
++    local(
++        'sudo sed -i "s|KEYCLOAK_CLIENT_SECRET|{}|g" /opt/datalab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini'.format(
++            args.keycloak_client_secret))
++    local(
++        'sudo sed -i "s|KEYCLOAK_USER|{}|g" /opt/datalab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini'.format(
++            args.keycloak_user))
++    local(
++        'sudo sed -i "s|KEYCLOAK_ADMIN_PASSWORD|{}|g" /opt/datalab/sources/infrastructure-provisioning/src/general/conf/overwrite.ini'.format(
++            args.keycloak_admin_password))
  
      print('SSL certificate generating')
      keystore_passwd = uuid.uuid4().hex
-     local('sudo rm /home/dlab-user/keys/ssn*')
-     local('sudo rm /etc/ssl/certs/dlab*')
-     local('sudo keytool -delete -noprompt -trustcacerts -alias ssn -storepass changeit -keystore /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/cacerts')
-     local('sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/certs/dlab.key -out /etc/ssl/certs/dlab.crt -subj "/C=US/ST=US/L=US/O=dlab/CN=localhost/subjectAltName={0}"'.format(server_external_ip))
-     local('sudo openssl pkcs12 -export -in /etc/ssl/certs/dlab.crt -inkey /etc/ssl/certs/dlab.key -name ssn -out /home/dlab-user/keys/ssn.p12 -password pass:{0}'.format(keystore_passwd))
-     local('sudo keytool -importkeystore -srckeystore /home/dlab-user/keys/ssn.p12 -srcstoretype PKCS12 -alias ssn -destkeystore /home/dlab-user/keys/ssn.keystore.jks -deststorepass {0} -srcstorepass {0}'.format(keystore_passwd))
-     local('sudo keytool -importcert -trustcacerts -alias ssn -file /etc/ssl/certs/dlab.crt -noprompt -storepass changeit -keystore /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/cacerts')
-     local('sudo sed -i "s|KEYSTORE_PASSWORD|{}|g" /opt/dlab/conf/ssn.yml'.format(keystore_passwd))
+     local('sudo rm /home/datalab-user/keys/ssn*')
+     local('sudo rm /etc/ssl/certs/datalab*')
 -    local('sudo keytool -delete -noprompt -trustcacerts -alias ssn -storepass changeit -keystore /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/cacerts')
 -    local('sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/certs/datalab.key -out /etc/ssl/certs/datalab.crt -subj "/C=US/ST=US/L=US/O=datalab/CN=localhost/subjectAltName={0}"'.format(server_external_ip))
 -    local('sudo openssl pkcs12 -export -in /etc/ssl/certs/datalab.crt -inkey /etc/ssl/certs/datalab.key -name ssn -out /home/datalab-user/keys/ssn.p12 -password pass:{0}'.format(keystore_passwd))
 -    local('sudo keytool -importkeystore -srckeystore /home/datalab-user/keys/ssn.p12 -srcstoretype PKCS12 -alias ssn -destkeystore /home/datalab-user/keys/ssn.keystore.jks -deststorepass {0} -srcstorepass {0}'.format(keystore_passwd))
 -    local('sudo keytool -importcert -trustcacerts -alias ssn -file /etc/ssl/certs/datalab.crt -noprompt -storepass changeit -keystore /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/cacerts')
++    local(
++        'sudo keytool -delete -noprompt -trustcacerts -alias ssn -storepass changeit -keystore /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/cacerts')
++    local(
++        'sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/certs/datalab.key -out /etc/ssl/certs/datalab.crt -subj "/C=US/ST=US/L=US/O=datalab/CN=localhost/subjectAltName={0}"'.format(
++            server_external_ip))
++    local(
++        'sudo openssl pkcs12 -export -in /etc/ssl/certs/datalab.crt -inkey /etc/ssl/certs/datalab.key -name ssn -out /home/datalab-user/keys/ssn.p12 -password pass:{0}'.format(
++            keystore_passwd))
++    local(
++        'sudo keytool -importkeystore -srckeystore /home/datalab-user/keys/ssn.p12 -srcstoretype PKCS12 -alias ssn -destkeystore /home/datalab-user/keys/ssn.keystore.jks -deststorepass {0} -srcstorepass {0}'.format(
++            keystore_passwd))
++    local(
++        'sudo keytool -importcert -trustcacerts -alias ssn -file /etc/ssl/certs/datalab.crt -noprompt -storepass changeit -keystore /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/cacerts')
+     local('sudo sed -i "s|KEYSTORE_PASSWORD|{}|g" /opt/datalab/conf/ssn.yml'.format(keystore_passwd))
  
      print('Nginx configuration updating')
      local('sudo sed -i "s|SERVER_IP|{}|g" /etc/nginx/conf.d/nginx_proxy.conf'.format(server_external_ip))
@@@ -140,8 -140,8 +182,8 @@@
      local('sudo supervisorctl restart all')
  
      print('Rebuilding docker images')
-     local('cd /opt/dlab/sources/infrastructure-provisioning/src/ && sudo docker-build all')
+     local('cd /opt/datalab/sources/infrastructure-provisioning/src/ && sudo docker-build all')
  
      print('[SUMMARY]')
-     print('Mongo password stored in /opt/dlab/conf/ssn.yml')
-     print('SSH key for dlab-user stored in /home/dlab-user/keys/KEY-FILE.pem')
+     print('Mongo password stored in /opt/datalab/conf/ssn.yml')
 -    print('SSH key for datalab-user stored in /home/datalab-user/keys/KEY-FILE.pem')
++    print('SSH key for datalab-user stored in /home/datalab-user/keys/KEY-FILE.pem')
diff --cc infrastructure-provisioning/src/base/scripts/install_prerequisites.py
index e0c3c85,432dd2a..5c95894
--- a/infrastructure-provisioning/src/base/scripts/install_prerequisites.py
+++ b/infrastructure-provisioning/src/base/scripts/install_prerequisites.py
@@@ -21,20 -21,20 +21,19 @@@
  #
  # ******************************************************************************
  
--from fabric.api import *
  import argparse
  import json
- from dlab.fab import *
- from dlab.common_lib import *
- from fabric.contrib.files import exists
- import sys
 -from datalab.fab import *
 +import os
- 
+ from datalab.common_lib import *
++from datalab.fab import *
++from fabric.api import *
+ from fabric.contrib.files import exists
 -import sys
 -import os
 -
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--hostname', type=str, default='')
  parser.add_argument('--keyfile', type=str, default='')
--parser.add_argument('--pip_packages', type=str, default='boto3 argparse fabric==1.14.0 awscli google-api-python-client google-auth-httplib2 google-cloud-storage pycrypto azure==2.0.0')
++parser.add_argument('--pip_packages', type=str,
++                    default='boto3 argparse fabric==1.14.0 awscli google-api-python-client google-auth-httplib2 google-cloud-storage pycrypto azure==2.0.0')
  parser.add_argument('--additional_config', type=str, default='{"empty":"string"}')
  parser.add_argument('--user', type=str, default='')
  parser.add_argument('--edge_private_ip', type=str, default='')
diff --cc infrastructure-provisioning/src/base/scripts/install_user_key.py
index f079707,ae3bbdc..74e22de
--- a/infrastructure-provisioning/src/base/scripts/install_user_key.py
+++ b/infrastructure-provisioning/src/base/scripts/install_user_key.py
@@@ -21,13 -21,13 +21,11 @@@
  #
  # ******************************************************************************
  
--from fabric.api import *
--from fabric.contrib.files import exists
- from dlab.fab import *
 -from datalab.fab import *
  import argparse
  import json
  import sys
--import os
++from datalab.fab import *
++from fabric.api import *
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--hostname', type=str, default='')
diff --cc infrastructure-provisioning/src/dataengine-service/fabfile.py
index c21555b,ee1ce6b..8f475b4
--- a/infrastructure-provisioning/src/dataengine-service/fabfile.py
+++ b/infrastructure-provisioning/src/dataengine-service/fabfile.py
@@@ -21,21 -21,21 +21,20 @@@
  #
  # ******************************************************************************
  
--import json
--import time
--from fabric.api import *
- from dlab.fab import *
- from dlab.meta_lib import *
- from dlab.actions_lib import *
 -from datalab.fab import *
 -from datalab.meta_lib import *
 -from datalab.actions_lib import *
--import sys
++import logging
  import os
++import sys
  import uuid
--import logging
++from datalab.actions_lib import *
++from datalab.fab import *
++from datalab.meta_lib import *
++from fabric.api import *
  
  
  def run():
--    local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['edge_user_name'], os.environ['request_id'])
--    local_log_filepath = "/logs/" + os.environ['conf_resource'] +  "/" + local_log_filename
++    local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['edge_user_name'],
++                                               os.environ['request_id'])
++    local_log_filepath = "/logs/" + os.environ['conf_resource'] + "/" + local_log_filename
      logging.basicConfig(format='%(levelname)-8s [%(asctime)s]  %(message)s',
                          level=logging.INFO,
                          filename=local_log_filepath)
diff --cc infrastructure-provisioning/src/dataengine/fabfile.py
index 319c6f1,6bd4947..f5775a0
--- a/infrastructure-provisioning/src/dataengine/fabfile.py
+++ b/infrastructure-provisioning/src/dataengine/fabfile.py
@@@ -21,21 -21,21 +21,19 @@@
  #
  # ******************************************************************************
  
--import json
--import time
--from fabric.api import *
- from dlab.fab import *
- from dlab.meta_lib import *
- from dlab.actions_lib import *
- import sys
- import os
- import uuid
 +import logging
++import os
++import sys
++from datalab.actions_lib import *
+ from datalab.fab import *
+ from datalab.meta_lib import *
 -from datalab.actions_lib import *
 -import sys
 -import os
 -import uuid
 -import logging
++from fabric.api import *
  
  
  def run():
--    local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['edge_user_name'], os.environ['request_id'])
--    local_log_filepath = "/logs/" + os.environ['conf_resource'] +  "/" + local_log_filename
++    local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['edge_user_name'],
++                                               os.environ['request_id'])
++    local_log_filepath = "/logs/" + os.environ['conf_resource'] + "/" + local_log_filename
      logging.basicConfig(format='%(levelname)-8s [%(asctime)s]  %(message)s',
                          level=logging.INFO,
                          filename=local_log_filepath)
diff --cc infrastructure-provisioning/src/dataengine/scripts/configure_dataengine.py
index 2089613,0432d24..50d9483
--- a/infrastructure-provisioning/src/dataengine/scripts/configure_dataengine.py
+++ b/infrastructure-provisioning/src/dataengine/scripts/configure_dataengine.py
@@@ -22,13 -22,13 +22,11 @@@
  # ******************************************************************************
  
  import argparse
--import json
- import sys
- from dlab.notebook_lib import *
- from dlab.actions_lib import *
- from dlab.fab import *
 +import os
- 
+ import sys
 -from datalab.notebook_lib import *
+ from datalab.actions_lib import *
+ from datalab.fab import *
 -import os
 -
++from datalab.notebook_lib import *
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--hostname', type=str, default='')
diff --cc infrastructure-provisioning/src/deeplearning/fabfile.py
index cd9fbb5,c92efc2..ad090d2
--- a/infrastructure-provisioning/src/deeplearning/fabfile.py
+++ b/infrastructure-provisioning/src/deeplearning/fabfile.py
@@@ -22,18 -22,18 +22,18 @@@
  # ******************************************************************************
  
  import logging
--import json
- import sys
- from dlab.fab import *
- from dlab.meta_lib import *
- from dlab.actions_lib import *
 +import os
+ import sys
 +import uuid
++from datalab.actions_lib import *
+ from datalab.fab import *
+ from datalab.meta_lib import *
 -from datalab.actions_lib import *
 -import os
 -import uuid
  
  
  # Main function for provisioning notebook server
  def run():
--    local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['edge_user_name'], os.environ['request_id'])
++    local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['edge_user_name'],
++                                               os.environ['request_id'])
      local_log_filepath = "/logs/" + os.environ['conf_resource'] + "/" + local_log_filename
      logging.basicConfig(format='%(levelname)-8s [%(asctime)s]  %(message)s',
                          level=logging.DEBUG,
diff --cc infrastructure-provisioning/src/deeplearning/scripts/configure_deep_learning_node.py
index b2e93d0,27bd5f1..cfbfb6c
--- a/infrastructure-provisioning/src/deeplearning/scripts/configure_deep_learning_node.py
+++ b/infrastructure-provisioning/src/deeplearning/scripts/configure_deep_learning_node.py
@@@ -21,15 -21,15 +21,14 @@@
  #
  # ******************************************************************************
  
- from dlab.actions_lib import *
- from dlab.common_lib import *
- from dlab.notebook_lib import *
- from dlab.fab import *
- from fabric.api import *
- from fabric.contrib.files import exists
 +import argparse
 +import os
- 
+ from datalab.actions_lib import *
+ from datalab.common_lib import *
 -from datalab.notebook_lib import *
+ from datalab.fab import *
++from datalab.notebook_lib import *
+ from fabric.api import *
+ from fabric.contrib.files import exists
 -import argparse
 -import os
 -
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--hostname', type=str, default='')
diff --cc infrastructure-provisioning/src/edge/fabfile.py
index 66a656b,7260ad6..01ff3b0
--- a/infrastructure-provisioning/src/edge/fabfile.py
+++ b/infrastructure-provisioning/src/edge/fabfile.py
@@@ -21,17 -21,17 +21,17 @@@
  #
  # ******************************************************************************
  
--import json
--from fabric.api import *
  import logging
--import sys
  import os
- from dlab.fab import *
 -from datalab.fab import *
++import sys
  import traceback
++from datalab.fab import *
++from fabric.api import *
  
  
  def status():
--    local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['edge_user_name'], os.environ['request_id'])
++    local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['edge_user_name'],
++                                               os.environ['request_id'])
      local_log_filepath = "/logs/edge/" + local_log_filename
      logging.basicConfig(format='%(levelname)-8s [%(asctime)s]  %(message)s',
                          level=logging.DEBUG,
diff --cc infrastructure-provisioning/src/edge/scripts/configure_http_proxy.py
index bad50ad,56861b8..0adb505
--- a/infrastructure-provisioning/src/edge/scripts/configure_http_proxy.py
+++ b/infrastructure-provisioning/src/edge/scripts/configure_http_proxy.py
@@@ -21,12 -21,12 +21,11 @@@
  #
  # ******************************************************************************
  
--from fabric.api import *
--from fabric.contrib.files import exists
- from dlab.edge_lib import configure_http_proxy_server
 -from datalab.edge_lib import configure_http_proxy_server
  import argparse
  import json
  import sys
++from datalab.edge_lib import configure_http_proxy_server
++from fabric.api import *
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--hostname', type=str, default='')
diff --cc infrastructure-provisioning/src/edge/scripts/configure_nginx_reverse_proxy.py
index b7123a3,4b4de0d..8b67a41
--- a/infrastructure-provisioning/src/edge/scripts/configure_nginx_reverse_proxy.py
+++ b/infrastructure-provisioning/src/edge/scripts/configure_nginx_reverse_proxy.py
@@@ -21,12 -21,12 +21,12 @@@
  #
  # ******************************************************************************
  
--import logging
--from fabric.api import *
  import argparse
--import sys
++import logging
  import os
- from dlab.edge_lib import install_nginx_ldap
++import sys
+ from datalab.edge_lib import install_nginx_ldap
++from fabric.api import *
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--hostname', type=str, default='')
diff --cc infrastructure-provisioning/src/edge/scripts/reupload_ssh_key.py
index b853af5,a19eb67..bef9ec9
--- a/infrastructure-provisioning/src/edge/scripts/reupload_ssh_key.py
+++ b/infrastructure-provisioning/src/edge/scripts/reupload_ssh_key.py
@@@ -21,15 -21,15 +21,14 @@@
  #
  # ******************************************************************************
  
++import logging
  import os
  import sys
--import logging
  import traceback
- from dlab.fab import *
- from dlab.meta_lib import *
- from dlab.actions_lib import *
++from datalab.actions_lib import *
+ from datalab.fab import *
+ from datalab.meta_lib import *
 -from datalab.actions_lib import *
  from fabric.api import *
--import multiprocessing
  
  if __name__ == "__main__":
      local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['edge_user_name'],
diff --cc infrastructure-provisioning/src/general/api/check_inactivity.py
index 31d7bb3,bddd150..e07609b
--- a/infrastructure-provisioning/src/general/api/check_inactivity.py
+++ b/infrastructure-provisioning/src/general/api/check_inactivity.py
@@@ -21,12 -21,12 +21,11 @@@
  #
  # ******************************************************************************
  
--import os
  import json
++import os
  import sys
  from fabric.api import local
  
--
  if __name__ == "__main__":
      success = True
      try:
@@@ -49,9 -49,9 +48,9 @@@
      except:
          reply['response']['result'] = {"error": "Failed to open result.json"}
  
-     reply['response']['log'] = "/var/log/dlab/{0}/{0}_{1}_{2}.log".format(os.environ['conf_resource'],
-                                                                           os.environ['project_name'],
-                                                                           os.environ['request_id'])
+     reply['response']['log'] = "/var/log/datalab/{0}/{0}_{1}_{2}.log".format(os.environ['conf_resource'],
 -                                                                          os.environ['project_name'],
 -                                                                          os.environ['request_id'])
++                                                                             os.environ['project_name'],
++                                                                             os.environ['request_id'])
  
      with open("/response/{}_{}_{}.json".format(os.environ['conf_resource'], os.environ['project_name'],
                                                 os.environ['request_id']), 'w') as response_file:
diff --cc infrastructure-provisioning/src/general/api/configure.py
index 4d6cc5f,ada70b2..691f3db
--- a/infrastructure-provisioning/src/general/api/configure.py
+++ b/infrastructure-provisioning/src/general/api/configure.py
@@@ -21,12 -21,12 +21,11 @@@
  #
  # ******************************************************************************
  
--import os
  import json
++import os
  import sys
  from fabric.api import local
  
--
  if __name__ == "__main__":
      success = True
      try:
@@@ -48,9 -48,9 +47,9 @@@
              reply['response']['result'] = json.loads(f.read())
      except:
          reply['response']['result'] = {"error": "Failed to open result.json"}
-     reply['response']['log'] = "/var/log/dlab/{0}/{0}_{1}_{2}.log".format(os.environ['conf_resource'],
-                                                                           os.environ['project_name'],
-                                                                           os.environ['request_id'])
+     reply['response']['log'] = "/var/log/datalab/{0}/{0}_{1}_{2}.log".format(os.environ['conf_resource'],
 -                                                                          os.environ['project_name'],
 -                                                                          os.environ['request_id'])
++                                                                             os.environ['project_name'],
++                                                                             os.environ['request_id'])
  
      with open("/response/{}_{}_{}.json".format(os.environ['conf_resource'], os.environ['project_name'],
                                                 os.environ['request_id']), 'w') as response_file:
diff --cc infrastructure-provisioning/src/general/api/create.py
index b2437b0,352e06b..e0910dc
--- a/infrastructure-provisioning/src/general/api/create.py
+++ b/infrastructure-provisioning/src/general/api/create.py
@@@ -21,12 -21,12 +21,11 @@@
  #
  # ******************************************************************************
  
--import os
  import json
++import os
  import sys
  from fabric.api import local
  
--
  if __name__ == "__main__":
      success = True
      try:
@@@ -55,9 -55,9 +54,9 @@@
          with open("/response/{}.json".format(os.environ['request_id']), 'w') as response_file:
              response_file.write(json.dumps(reply))
      else:
-         reply['response']['log'] = "/var/log/dlab/{0}/{0}_{1}_{2}.log".format(os.environ['conf_resource'],
-                                                                               os.environ['project_name'],
-                                                                               os.environ['request_id'])
+         reply['response']['log'] = "/var/log/datalab/{0}/{0}_{1}_{2}.log".format(os.environ['conf_resource'],
 -                                                                              os.environ['project_name'],
 -                                                                              os.environ['request_id'])
++                                                                                 os.environ['project_name'],
++                                                                                 os.environ['request_id'])
  
          with open("/response/{}_{}_{}.json".format(os.environ['conf_resource'], os.environ['project_name'],
                                                     os.environ['request_id']), 'w') as response_file:
diff --cc infrastructure-provisioning/src/general/api/create_image.py
index 425cf26,501adf4..df85de9
--- a/infrastructure-provisioning/src/general/api/create_image.py
+++ b/infrastructure-provisioning/src/general/api/create_image.py
@@@ -21,12 -21,12 +21,11 @@@
  #
  # ******************************************************************************
  
--import os
  import json
++import os
  import sys
  from fabric.api import local
  
--
  if __name__ == "__main__":
      success = True
      try:
@@@ -49,9 -49,9 +48,9 @@@
      except:
          reply['response']['result'] = {"error": "Failed to open result.json"}
  
-     reply['response']['log'] = "/var/log/dlab/{0}/{0}_{1}_{2}.log".format(os.environ['conf_resource'],
-                                                                           os.environ['project_name'],
-                                                                           os.environ['request_id'])
+     reply['response']['log'] = "/var/log/datalab/{0}/{0}_{1}_{2}.log".format(os.environ['conf_resource'],
 -                                                                          os.environ['project_name'],
 -                                                                          os.environ['request_id'])
++                                                                             os.environ['project_name'],
++                                                                             os.environ['request_id'])
  
      with open("/response/{}_{}_{}.json".format(os.environ['conf_resource'], os.environ['project_name'],
                                                 os.environ['request_id']), 'w') as response_file:
diff --cc infrastructure-provisioning/src/general/api/git_creds.py
index 4edd370,c785fa0..a5a7e1b
--- a/infrastructure-provisioning/src/general/api/git_creds.py
+++ b/infrastructure-provisioning/src/general/api/git_creds.py
@@@ -21,12 -21,12 +21,11 @@@
  #
  # ******************************************************************************
  
--import os
  import json
++import os
  import sys
  from fabric.api import local
  
--
  if __name__ == "__main__":
      success = True
      try:
@@@ -49,9 -49,9 +48,9 @@@
      except:
          reply['response']['result'] = {"error": "Failed to open result.json"}
  
-     reply['response']['log'] = "/var/log/dlab/{0}/{0}_{1}_{2}.log".format(os.environ['conf_resource'],
-                                                                           os.environ['project_name'],
-                                                                           os.environ['request_id'])
+     reply['response']['log'] = "/var/log/datalab/{0}/{0}_{1}_{2}.log".format(os.environ['conf_resource'],
 -                                                                          os.environ['project_name'],
 -                                                                          os.environ['request_id'])
++                                                                             os.environ['project_name'],
++                                                                             os.environ['request_id'])
  
      with open("/response/{}_{}_{}.json".format(os.environ['conf_resource'], os.environ['project_name'],
                                                 os.environ['request_id']), 'w') as response_file:
diff --cc infrastructure-provisioning/src/general/api/install_libs.py
index 21489a9,823dc4b..3f818a5
--- a/infrastructure-provisioning/src/general/api/install_libs.py
+++ b/infrastructure-provisioning/src/general/api/install_libs.py
@@@ -21,12 -21,12 +21,11 @@@
  #
  # ******************************************************************************
  
--import os
  import json
++import os
  import sys
  from fabric.api import local
  
--
  if __name__ == "__main__":
      success = True
      try:
@@@ -49,9 -49,9 +48,9 @@@
      except:
          reply['response']['result'] = {"error": "Failed to open result.json"}
  
-     reply['response']['log'] = "/var/log/dlab/{0}/{0}_{1}_{2}.log".format(os.environ['conf_resource'],
-                                                                           os.environ['project_name'],
-                                                                           os.environ['request_id'])
+     reply['response']['log'] = "/var/log/datalab/{0}/{0}_{1}_{2}.log".format(os.environ['conf_resource'],
 -                                                                          os.environ['project_name'],
 -                                                                          os.environ['request_id'])
++                                                                             os.environ['project_name'],
++                                                                             os.environ['request_id'])
  
      with open("/response/{}_{}_{}.json".format(os.environ['conf_resource'], os.environ['project_name'],
                                                 os.environ['request_id']), 'w') as response_file:
diff --cc infrastructure-provisioning/src/general/api/list_libs.py
index d7c97a9,9438fe0..5346b27
--- a/infrastructure-provisioning/src/general/api/list_libs.py
+++ b/infrastructure-provisioning/src/general/api/list_libs.py
@@@ -21,12 -21,12 +21,11 @@@
  #
  # ******************************************************************************
  
--import os
  import json
++import os
  import sys
  from fabric.api import local
  
--
  if __name__ == "__main__":
      success = True
      try:
@@@ -49,13 -49,13 +48,14 @@@
      except:
          reply['response']['result'] = {"error": "Failed to open result.json"}
  
-     reply['response']['log'] = "/var/log/dlab/{0}/{0}_{1}_{2}.log".format(os.environ['conf_resource'],
-                                                                           os.environ['project_name'],
-                                                                           os.environ['request_id'])
+     reply['response']['log'] = "/var/log/datalab/{0}/{0}_{1}_{2}.log".format(os.environ['conf_resource'],
 -                                                                          os.environ['project_name'],
 -                                                                          os.environ['request_id'])
++                                                                             os.environ['project_name'],
++                                                                             os.environ['request_id'])
  
-     reply['response']['result']['file'] = "/opt/dlab/tmp/result/{0}_{1}_{2}_all_pkgs.json".format(os.environ['project_name'],
 -    reply['response']['result']['file'] = "/opt/datalab/tmp/result/{0}_{1}_{2}_all_pkgs.json".format(os.environ['project_name'],
--                                                                                                  os.environ['application'],
--                                                                                                  os.environ['request_id'])
++    reply['response']['result']['file'] = "/opt/datalab/tmp/result/{0}_{1}_{2}_all_pkgs.json".format(
++        os.environ['project_name'],
++        os.environ['application'],
++        os.environ['request_id'])
  
      with open("/response/{}_{}_{}.json".format(os.environ['conf_resource'], os.environ['project_name'],
                                                 os.environ['request_id']), 'w') as response_file:
diff --cc infrastructure-provisioning/src/general/api/reconfigure_spark.py
index 09139ca,dd98f44..3e53885
--- a/infrastructure-provisioning/src/general/api/reconfigure_spark.py
+++ b/infrastructure-provisioning/src/general/api/reconfigure_spark.py
@@@ -21,12 -21,12 +21,11 @@@
  #
  # ******************************************************************************
  
--import os
  import json
++import os
  import sys
  from fabric.api import local
  
--
  if __name__ == "__main__":
      success = True
      try:
@@@ -49,9 -49,9 +48,9 @@@
      except:
          reply['response']['result'] = {"error": "Failed to open result.json"}
  
-     reply['response']['log'] = "/var/log/dlab/{0}/{0}_{1}_{2}.log".format(os.environ['conf_resource'],
-                                                                           os.environ['project_name'],
-                                                                           os.environ['request_id'])
+     reply['response']['log'] = "/var/log/datalab/{0}/{0}_{1}_{2}.log".format(os.environ['conf_resource'],
 -                                                                          os.environ['project_name'],
 -                                                                          os.environ['request_id'])
++                                                                             os.environ['project_name'],
++                                                                             os.environ['request_id'])
  
      with open("/response/{}_{}_{}.json".format(os.environ['conf_resource'], os.environ['project_name'],
                                                 os.environ['request_id']), 'w') as response_file:
diff --cc infrastructure-provisioning/src/general/api/recreate.py
index e91e579,a51535a..63742e1
--- a/infrastructure-provisioning/src/general/api/recreate.py
+++ b/infrastructure-provisioning/src/general/api/recreate.py
@@@ -21,12 -21,12 +21,11 @@@
  #
  # ******************************************************************************
  
--import os
  import json
++import os
  import sys
  from fabric.api import local
  
--
  if __name__ == "__main__":
      success = True
      try:
@@@ -55,9 -55,9 +54,9 @@@
          with open("/response/{}.json".format(os.environ['request_id']), 'w') as response_file:
              response_file.write(json.dumps(reply))
      else:
-         reply['response']['log'] = "/var/log/dlab/{0}/{0}_{1}_{2}.log".format(os.environ['conf_resource'],
-                                                                               os.environ['project_name'],
-                                                                               os.environ['request_id'])
+         reply['response']['log'] = "/var/log/datalab/{0}/{0}_{1}_{2}.log".format(os.environ['conf_resource'],
 -                                                                              os.environ['project_name'],
 -                                                                              os.environ['request_id'])
++                                                                                 os.environ['project_name'],
++                                                                                 os.environ['request_id'])
  
          with open("/response/{}_{}_{}.json".format(os.environ['conf_resource'], os.environ['project_name'],
                                                     os.environ['request_id']), 'w') as response_file:
diff --cc infrastructure-provisioning/src/general/api/reupload_key.py
index d4af110,f8b4e28..7f9b29a
--- a/infrastructure-provisioning/src/general/api/reupload_key.py
+++ b/infrastructure-provisioning/src/general/api/reupload_key.py
@@@ -21,12 -21,12 +21,11 @@@
  #
  # ******************************************************************************
  
--import os
  import json
++import os
  import sys
  from fabric.api import local
  
--
  if __name__ == "__main__":
      success = True
      try:
@@@ -49,11 -49,11 +48,9 @@@
              result = {"error": "Failed to open result.json"}
              reply['error_message'] = 'Failed to open result.json'
  
--
--
-     log = "/var/log/dlab/edge/{0}_{1}_{2}.log".format(os.environ['conf_resource'],
-                                                                           os.environ['project_name'],
-                                                                           os.environ['request_id'])
+     log = "/var/log/datalab/edge/{0}_{1}_{2}.log".format(os.environ['conf_resource'],
 -                                                                          os.environ['project_name'],
 -                                                                          os.environ['request_id'])
++                                                         os.environ['project_name'],
++                                                         os.environ['request_id'])
      try:
          with open("/response/{}_{}_{}.json".format(os.environ['conf_resource'], os.environ['project_name'],
                                                     os.environ['request_id']), 'w') as response_file:
diff --cc infrastructure-provisioning/src/general/api/start.py
index 469d5a6,0522363..94e92b1
--- a/infrastructure-provisioning/src/general/api/start.py
+++ b/infrastructure-provisioning/src/general/api/start.py
@@@ -21,12 -21,12 +21,11 @@@
  #
  # ******************************************************************************
  
--import os
  import json
++import os
  import sys
  from fabric.api import local
  
--
  if __name__ == "__main__":
      success = True
      try:
@@@ -48,9 -48,9 +47,9 @@@
              reply['response']['result'] = json.loads(f.read())
      except:
          reply['response']['result'] = {"error": "Failed to open result.json"}
-     reply['response']['log'] = "/var/log/dlab/{0}/{0}_{1}_{2}.log".format(os.environ['conf_resource'],
-                                                                           os.environ['project_name'],
-                                                                           os.environ['request_id'])
+     reply['response']['log'] = "/var/log/datalab/{0}/{0}_{1}_{2}.log".format(os.environ['conf_resource'],
 -                                                                          os.environ['project_name'],
 -                                                                          os.environ['request_id'])
++                                                                             os.environ['project_name'],
++                                                                             os.environ['request_id'])
  
      with open("/response/{}_{}_{}.json".format(os.environ['conf_resource'], os.environ['project_name'],
                                                 os.environ['request_id']), 'w') as response_file:
diff --cc infrastructure-provisioning/src/general/api/status.py
index 0b007b9,70b7961..97a767d
--- a/infrastructure-provisioning/src/general/api/status.py
+++ b/infrastructure-provisioning/src/general/api/status.py
@@@ -21,12 -21,12 +21,11 @@@
  #
  # ******************************************************************************
  
--import os
  import json
++import os
  import sys
  from fabric.api import local
  
--
  if __name__ == "__main__":
      success = True
      try:
@@@ -48,9 -48,9 +47,9 @@@
              reply['response']['result'] = json.loads(f.read())
      except:
          reply['response']['result'] = {"error": "Failed to open result.json"}
-     reply['response']['log'] = "/var/log/dlab/{0}/{0}_{1}_{2}.log".format(os.environ['conf_resource'],
-                                                                           os.environ['edge_user_name'],
-                                                                           os.environ['request_id'])
+     reply['response']['log'] = "/var/log/datalab/{0}/{0}_{1}_{2}.log".format(os.environ['conf_resource'],
 -                                                                          os.environ['edge_user_name'],
 -                                                                          os.environ['request_id'])
++                                                                             os.environ['edge_user_name'],
++                                                                             os.environ['request_id'])
  
      with open("/response/{}_{}_{}.json".format(os.environ['conf_resource'], os.environ['edge_user_name'],
                                                 os.environ['request_id']), 'w') as response_file:
diff --cc infrastructure-provisioning/src/general/api/stop.py
index 8dc2a11,26468af..7cc0123
--- a/infrastructure-provisioning/src/general/api/stop.py
+++ b/infrastructure-provisioning/src/general/api/stop.py
@@@ -21,12 -21,12 +21,11 @@@
  #
  # ******************************************************************************
  
--import os
  import json
++import os
  import sys
  from fabric.api import local
  
--
  if __name__ == "__main__":
      success = True
      try:
@@@ -49,9 -49,9 +48,9 @@@
      except:
          reply['response']['result'] = {"error": "Failed to open result.json"}
  
-     reply['response']['log'] = "/var/log/dlab/{0}/{0}_{1}_{2}.log".format(os.environ['conf_resource'],
-                                                                           os.environ['project_name'],
-                                                                           os.environ['request_id'])
+     reply['response']['log'] = "/var/log/datalab/{0}/{0}_{1}_{2}.log".format(os.environ['conf_resource'],
 -                                                                          os.environ['project_name'],
 -                                                                          os.environ['request_id'])
++                                                                             os.environ['project_name'],
++                                                                             os.environ['request_id'])
  
      with open("/response/{}_{}_{}.json".format(os.environ['conf_resource'], os.environ['project_name'],
                                                 os.environ['request_id']), 'w') as response_file:
diff --cc infrastructure-provisioning/src/general/api/terminate.py
index 933af27,dde8fc5..2ba94bb
--- a/infrastructure-provisioning/src/general/api/terminate.py
+++ b/infrastructure-provisioning/src/general/api/terminate.py
@@@ -21,12 -21,12 +21,11 @@@
  #
  # ******************************************************************************
  
--import os
  import json
++import os
  import sys
  from fabric.api import local
  
--
  if __name__ == "__main__":
      success = True
      try:
@@@ -55,9 -55,9 +54,9 @@@
          with open("/response/{}.json".format(os.environ['request_id']), 'w') as response_file:
              response_file.write(json.dumps(reply))
      else:
-         reply['response']['log'] = "/var/log/dlab/{0}/{0}_{1}_{2}.log".format(os.environ['conf_resource'],
-                                                                               os.environ['project_name'],
-                                                                               os.environ['request_id'])
+         reply['response']['log'] = "/var/log/datalab/{0}/{0}_{1}_{2}.log".format(os.environ['conf_resource'],
 -                                                                              os.environ['project_name'],
 -                                                                              os.environ['request_id'])
++                                                                                 os.environ['project_name'],
++                                                                                 os.environ['request_id'])
  
          with open("/response/{}_{}_{}.json".format(os.environ['conf_resource'], os.environ['project_name'],
                                                     os.environ['request_id']), 'w') as response_file:
diff --cc infrastructure-provisioning/src/general/api/terminate_image.py
index 0700686,aea7934..d88d3bc
--- a/infrastructure-provisioning/src/general/api/terminate_image.py
+++ b/infrastructure-provisioning/src/general/api/terminate_image.py
@@@ -21,12 -21,12 +21,11 @@@
  #
  # ******************************************************************************
  
--import os
  import json
++import os
  import sys
  from fabric.api import local
  
--
  if __name__ == "__main__":
      success = True
      try:
@@@ -49,9 -49,9 +48,9 @@@
      except:
          reply['response']['result'] = {"error": "Failed to open result.json"}
  
-     reply['response']['log'] = "/var/log/dlab/{0}/{0}_{1}_{2}.log".format(os.environ['conf_resource'],
-                                                                           os.environ['project_name'],
-                                                                           os.environ['request_id'])
+     reply['response']['log'] = "/var/log/datalab/{0}/{0}_{1}_{2}.log".format(os.environ['conf_resource'],
 -                                                                          os.environ['project_name'],
 -                                                                          os.environ['request_id'])
++                                                                             os.environ['project_name'],
++                                                                             os.environ['request_id'])
  
      with open("/response/{}_{}_{}.json".format(os.environ['conf_resource'], os.environ['project_name'],
                                                 os.environ['request_id']), 'w') as response_file:
diff --cc infrastructure-provisioning/src/general/lib/aws/actions_lib.py
index 638ba1d,c322342..ed89a4b
--- a/infrastructure-provisioning/src/general/lib/aws/actions_lib.py
+++ b/infrastructure-provisioning/src/general/lib/aws/actions_lib.py
@@@ -19,26 -19,26 +19,25 @@@
  #
  # ******************************************************************************
  
++import ast
++import backoff
  import boto3
  import botocore
--from botocore.client import Config
--import backoff
--from botocore.exceptions import ClientError
--import time
--import sys
--import os
++import datalab.fab
  import json
--from fabric.api import *
--from fabric.contrib.files import exists
  import logging
- from dlab.meta_lib import *
- from dlab.fab import *
 -from datalab.meta_lib import *
 -from datalab.fab import *
++import meta_lib
++import os
++import sys
++import time
  import traceback
  import urllib2
--import meta_lib
- import dlab.fab
 -import datalab.fab
  import uuid
--import ast
++from botocore.client import Config
++from datalab.fab import *
++from datalab.meta_lib import *
++from fabric.api import *
++from fabric.contrib.files import exists
  
  
  def backoff_log(err):
@@@ -1831,8 -1831,8 +1830,8 @@@ def configure_dataengine_spark(cluster_
          local('cp -f /tmp/{0}/notebook_spark-defaults_local.conf  {1}spark/conf/spark-defaults.conf'.format(cluster_name,
                                                                                                          cluster_dir))
      if spark_configs and os.path.exists('{0}'.format(cluster_dir)):
-         dlab_header = local('cat /tmp/{0}/notebook_spark-defaults_local.conf | grep "^#"'.format(cluster_name),
-                             capture=True)
+         datalab_header = local('cat /tmp/{0}/notebook_spark-defaults_local.conf | grep "^#"'.format(cluster_name),
 -                            capture=True)
++                               capture=True)
          spark_configurations = ast.literal_eval(spark_configs)
          new_spark_defaults = list()
          spark_defaults = local('cat {0}spark/conf/spark-defaults.conf'.format(cluster_dir), capture=True)
diff --cc infrastructure-provisioning/src/general/lib/aws/meta_lib.py
index c852ffc,36d6bcc..e0a31c8
--- a/infrastructure-provisioning/src/general/lib/aws/meta_lib.py
+++ b/infrastructure-provisioning/src/general/lib/aws/meta_lib.py
@@@ -19,18 -19,18 +19,16 @@@
  #
  # ******************************************************************************
  
++import actions_lib
++import backoff
  import boto3
--from botocore.client import Config
--import json, urllib2
--import time
++import json
  import logging
--import traceback
  import sys
--import backoff
--import random
--import string
- from dlab.fab import *
- import actions_lib
++import time
++import traceback
++from botocore.client import Config
+ from datalab.fab import *
 -import actions_lib
  
  
  def get_instance_hostname(tag_name, instance_name):
diff --cc infrastructure-provisioning/src/general/lib/azure/actions_lib.py
index 2e97003,ed914fd..d11e223
--- a/infrastructure-provisioning/src/general/lib/azure/actions_lib.py
+++ b/infrastructure-provisioning/src/general/lib/azure/actions_lib.py
@@@ -19,31 -19,31 +19,30 @@@
  #
  # ******************************************************************************
  
--from azure.common.client_factory import get_client_from_auth_file
++import ast
  import azure.common
++import backoff
++import datalab.common_lib
++import datalab.fab
++import json
++import logging
++import meta_lib
++import os
++import sys
++import time
++import traceback
++import urllib2
++from azure.common.client_factory import get_client_from_auth_file
++from azure.datalake.store import core, lib
  from azure.mgmt.authorization import AuthorizationManagementClient
  from azure.mgmt.compute import ComputeManagementClient
--from azure.mgmt.resource import ResourceManagementClient
++from azure.mgmt.datalake.store import DataLakeStoreAccountManagementClient
  from azure.mgmt.network import NetworkManagementClient
++from azure.mgmt.resource import ResourceManagementClient
  from azure.mgmt.storage import StorageManagementClient
  from azure.storage.blob import BlockBlobService
--from azure.mgmt.datalake.store import DataLakeStoreAccountManagementClient
--from azure.datalake.store import core, lib
--from azure.graphrbac import GraphRbacManagementClient
--from azure.common.credentials import ServicePrincipalCredentials
--import azure.common.exceptions as AzureExceptions
  from fabric.api import *
  from fabric.contrib.files import exists
--import backoff
--import urllib2
--import meta_lib
--import logging
--import traceback
--import sys, time
--import os, json
- import dlab.fab
- import dlab.common_lib
 -import datalab.fab
 -import datalab.common_lib
--import ast
  
  
  class AzureActions:
@@@ -493,7 -493,7 +492,8 @@@
                                     file=sys.stdout)}))
              traceback.print_exc(file=sys.stdout)
  
-     def create_instance(self, region, instance_size, service_base_name, instance_name, dlab_ssh_user_name, public_key,
 -    def create_instance(self, region, instance_size, service_base_name, instance_name, datalab_ssh_user_name, public_key,
++    def create_instance(self, region, instance_size, service_base_name, instance_name, datalab_ssh_user_name,
++                        public_key,
                          network_interface_resource_id, resource_group_name, primary_disk_size, instance_type,
                          image_full_name, tags, project_name='', create_option='fromImage', disk_id='',
                          instance_storage_account_type='Premium_LRS', image_type='default'):
@@@ -1177,8 -1177,8 +1177,8 @@@ def configure_dataengine_spark(cluster_
      else:
          local('cp -f /opt/hadoop/etc/hadoop/core-site.xml {}hadoop/etc/hadoop/core-site.xml'.format(cluster_dir))
      if spark_configs and os.path.exists('{0}'.format(cluster_dir)):
-         dlab_header = local('cat /tmp/{0}/notebook_spark-defaults_local.conf | grep "^#"'.format(cluster_name),
-                             capture=True)
+         datalab_header = local('cat /tmp/{0}/notebook_spark-defaults_local.conf | grep "^#"'.format(cluster_name),
 -                            capture=True)
++                               capture=True)
          spark_configurations = ast.literal_eval(spark_configs)
          new_spark_defaults = list()
          spark_defaults = local('cat {0}spark/conf/spark-defaults.conf'.format(cluster_dir), capture=True)
diff --cc infrastructure-provisioning/src/general/lib/gcp/actions_lib.py
index 26714f7,6e081e5..d4aa77d
--- a/infrastructure-provisioning/src/general/lib/gcp/actions_lib.py
+++ b/infrastructure-provisioning/src/general/lib/gcp/actions_lib.py
@@@ -19,27 -19,27 +19,27 @@@
  #
  # ******************************************************************************
  
--from pprint import pprint
--from googleapiclient.discovery import build
--from google.cloud import exceptions
--from google.cloud import storage
--from googleapiclient import errors
++import ast
++import backoff
++import datalab.common_lib
++import datalab.fab
  import google.auth
- from dlab.fab import *
 -from datalab.fab import *
--import meta_lib
--import os
  import json
  import logging
++import meta_lib
++import os
++import random
++import sys
++import time
  import traceback
--import sys, time
++import urllib2
  from Crypto.PublicKey import RSA
++from datalab.fab import *
  from fabric.api import *
--import urllib2
- import dlab.fab
- import dlab.common_lib
 -import datalab.fab
 -import datalab.common_lib
--import backoff
--import ast
--import random
++from google.cloud import exceptions
++from google.cloud import storage
++from googleapiclient import errors
++from googleapiclient.discovery import build
  
  
  class GCPActions:
@@@ -1530,8 -1525,8 +1530,8 @@@ def configure_dataengine_spark(cluster_
                                                                                                          cluster_dir))
      local('cp -f /opt/spark/conf/core-site.xml {}spark/conf/'.format(cluster_dir))
      if spark_configs and os.path.exists('{0}'.format(cluster_dir)):
-         dlab_header = local('cat /tmp/{0}/notebook_spark-defaults_local.conf | grep "^#"'.format(cluster_name),
-                             capture=True)
+         datalab_header = local('cat /tmp/{0}/notebook_spark-defaults_local.conf | grep "^#"'.format(cluster_name),
 -                            capture=True)
++                               capture=True)
          spark_configurations = ast.literal_eval(spark_configs)
          new_spark_defaults = list()
          spark_defaults = local('cat {0}spark/conf/spark-defaults.conf'.format(cluster_dir), capture=True)
diff --cc infrastructure-provisioning/src/general/lib/gcp/meta_lib.py
index 6b7582b,104c9b4..7ea795e
--- a/infrastructure-provisioning/src/general/lib/gcp/meta_lib.py
+++ b/infrastructure-provisioning/src/general/lib/gcp/meta_lib.py
@@@ -19,19 -19,19 +19,19 @@@
  #
  # ******************************************************************************
  
--from pprint import pprint
--from googleapiclient.discovery import build
--from google.cloud import storage
--from google.cloud import exceptions
++import backoff
  import google.auth
- from dlab.fab import *
 -from datalab.fab import *
--import actions_lib
--import os, re
--from googleapiclient import errors
  import logging
++import os
++import re
++import sys
++import time
  import traceback
--import sys, time
--import backoff
++from datalab.fab import *
++from google.cloud import exceptions
++from google.cloud import storage
++from googleapiclient import errors
++from googleapiclient.discovery import build
  
  
  class GCPMeta:
diff --cc infrastructure-provisioning/src/general/lib/os/debian/edge_lib.py
index 6b0f5d6,20e74c1..7d207c3
--- a/infrastructure-provisioning/src/general/lib/os/debian/edge_lib.py
+++ b/infrastructure-provisioning/src/general/lib/os/debian/edge_lib.py
@@@ -23,12 -23,12 +23,12 @@@
  
  import os
  import sys
 -from fabric.api import *
 -from fabric.contrib.files import exists
 -from datalab.common_lib import manage_pkg
++from datalab.common_lib import configure_nginx_LE
+ from datalab.common_lib import install_certbot
++from datalab.common_lib import manage_pkg
+ from datalab.common_lib import run_certbot
 -from datalab.common_lib import configure_nginx_LE
 +from fabric.api import *
 +from fabric.contrib.files import exists
- from dlab.common_lib import manage_pkg
- from dlab.common_lib import install_certbot
- from dlab.common_lib import run_certbot
- from dlab.common_lib import configure_nginx_LE
  
  
  def configure_http_proxy_server(config):
@@@ -84,9 -84,9 +84,9 @@@ def install_nginx_lua(edge_ip, nginx_ve
                  cn = edge_ip
                  sudo('step ca token {3} --kid {0} --ca-url "{1}" --root /etc/ssl/certs/root_ca.crt '
                       '--password-file /home/{2}/keys/provisioner_password {4} --output-file /tmp/step_token'.format(
--                      os.environ['conf_stepcerts_kid'], os.environ['conf_stepcerts_ca_url'], user, cn, sans))
++                    os.environ['conf_stepcerts_kid'], os.environ['conf_stepcerts_ca_url'], user, cn, sans))
                  token = sudo('cat /tmp/step_token')
-                 sudo('step ca certificate "{0}" /etc/ssl/certs/dlab.crt /etc/ssl/certs/dlab.key '
+                 sudo('step ca certificate "{0}" /etc/ssl/certs/datalab.crt /etc/ssl/certs/datalab.key '
                       '--token "{1}" --kty=RSA --size 2048 --provisioner {2} '.format(cn, token,
                                                                                       os.environ['conf_stepcerts_kid']))
                  sudo('touch /var/log/renew_certificates.log')
@@@ -176,10 -176,10 +176,11 @@@ def configure_nftables(config)
              elif os.environ['conf_cloud_provider'] == 'gcp':
                  interface = 'ens4'
              sudo('sed -i \'s/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g\' /etc/sysctl.conf')
-             sudo('sed -i \'s/EDGE_IP/{}/g\' /opt/dlab/templates/nftables.conf'.format(config['edge_ip']))
-             sudo('sed -i "s|INTERFACE|{}|g" /opt/dlab/templates/nftables.conf'.format(interface))
-             sudo('sed -i "s|SUBNET_CIDR|{}|g" /opt/dlab/templates/nftables.conf'.format(config['exploratory_subnet']))
-             sudo('cp /opt/dlab/templates/nftables.conf /etc/')
+             sudo('sed -i \'s/EDGE_IP/{}/g\' /opt/datalab/templates/nftables.conf'.format(config['edge_ip']))
+             sudo('sed -i "s|INTERFACE|{}|g" /opt/datalab/templates/nftables.conf'.format(interface))
 -            sudo('sed -i "s|SUBNET_CIDR|{}|g" /opt/datalab/templates/nftables.conf'.format(config['exploratory_subnet']))
++            sudo(
++                'sed -i "s|SUBNET_CIDR|{}|g" /opt/datalab/templates/nftables.conf'.format(config['exploratory_subnet']))
+             sudo('cp /opt/datalab/templates/nftables.conf /etc/')
              sudo('systemctl restart nftables')
              sudo('touch /tmp/nftables_ensured')
      except Exception as err:
diff --cc infrastructure-provisioning/src/general/lib/os/debian/notebook_lib.py
index ea1bfd5,8370585..edda35e
--- a/infrastructure-provisioning/src/general/lib/os/debian/notebook_lib.py
+++ b/infrastructure-provisioning/src/general/lib/os/debian/notebook_lib.py
@@@ -21,19 -21,19 +21,15 @@@
  #
  # ******************************************************************************
  
--from fabric.api import *
--from fabric.contrib.files import exists
--import argparse
--import json
--import random
--import string
--import sys
- from dlab.notebook_lib import *
- from dlab.fab import *
- from dlab.common_lib import *
 -from datalab.notebook_lib import *
 -from datalab.fab import *
 -from datalab.common_lib import *
  import backoff
  import os
  import re
++import sys
++from datalab.common_lib import *
++from datalab.fab import *
++from datalab.notebook_lib import *
++from fabric.api import *
++from fabric.contrib.files import exists
  
  
  def enable_proxy(proxy_host, proxy_port):
@@@ -125,8 -125,8 +121,9 @@@ def install_rstudio(os_user, local_spar
              sudo('chown {0}:{0} /mnt/var'.format(os_user))
              http_proxy = run('echo $http_proxy')
              https_proxy = run('echo $https_proxy')
-             sudo("sed -i '/Type=forking/a \Environment=USER=dlab-user' /etc/systemd/system/rstudio-server.service")
-             sudo("sed -i '/ExecStart/s|=/usr/lib/rstudio-server/bin/rserver|=/bin/bash -c \"export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/cudnn/lib64:/usr/local/cuda/lib64; /usr/lib/rstudio-server/bin/rserver --auth-none 1|g' /etc/systemd/system/rstudio-server.service")
+             sudo("sed -i '/Type=forking/a \Environment=USER=datalab-user' /etc/systemd/system/rstudio-server.service")
 -            sudo("sed -i '/ExecStart/s|=/usr/lib/rstudio-server/bin/rserver|=/bin/bash -c \"export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/cudnn/lib64:/usr/local/cuda/lib64; /usr/lib/rstudio-server/bin/rserver --auth-none 1|g' /etc/systemd/system/rstudio-server.service")
++            sudo(
++                "sed -i '/ExecStart/s|=/usr/lib/rstudio-server/bin/rserver|=/bin/bash -c \"export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/cudnn/lib64:/usr/local/cuda/lib64; /usr/lib/rstudio-server/bin/rserver --auth-none 1|g' /etc/systemd/system/rstudio-server.service")
              sudo("sed -i '/ExecStart/s|$|\"|g' /etc/systemd/system/rstudio-server.service")
              sudo(
                  'sed -i \'/\[Service\]/a Environment=\"HTTP_PROXY={}\"\'  /etc/systemd/system/rstudio-server.service'.format(
diff --cc infrastructure-provisioning/src/general/lib/os/debian/ssn_lib.py
index 0c38603,594ec74..ee53977
--- a/infrastructure-provisioning/src/general/lib/os/debian/ssn_lib.py
+++ b/infrastructure-provisioning/src/general/lib/os/debian/ssn_lib.py
@@@ -21,21 -21,21 +21,20 @@@
  #
  # ******************************************************************************
  
--from fabric.api import *
  import crypt
--import yaml
- from dlab.fab import *
- from dlab.meta_lib import *
 -from datalab.fab import *
 -from datalab.meta_lib import *
--import os
  import json
--import traceback
++import os
  import sys
- from dlab.common_lib import manage_pkg
++import traceback
+ from datalab.common_lib import manage_pkg
++from datalab.fab import *
++from datalab.meta_lib import *
++from fabric.api import *
  
  
- def ensure_docker_daemon(dlab_path, os_user, region):
+ def ensure_docker_daemon(datalab_path, os_user, region):
      try:
-         if not exists(dlab_path + 'tmp/docker_daemon_ensured'):
+         if not exists(datalab_path + 'tmp/docker_daemon_ensured'):
              docker_version = os.environ['ssn_docker_version']
              sudo('curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -')
              sudo('add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) \
@@@ -88,7 -88,7 +87,10 @@@ def configure_jenkins(datalab_path, os_
              sudo('mkdir -p /var/lib/jenkins/jobs/')
              sudo('chown -R ' + os_user + ':' + os_user + ' /var/lib/jenkins/')
              put('/root/templates/jenkins_jobs/*', '/var/lib/jenkins/jobs/')
--            sudo("find /var/lib/jenkins/jobs/ -type f | xargs sed -i \'s/OS_USR/{}/g; s/SBN/{}/g; s/CTUN/{}/g; s/SGI/{}/g; s/VPC/{}/g; s/SNI/{}/g; s/AKEY/{}/g\'".format(os_user, config['service_base_name'], tag_resource_id, config['security_group_id'], config['vpc_id'], config['subnet_id'], config['admin_key']))
++            sudo(
++                "find /var/lib/jenkins/jobs/ -type f | xargs sed -i \'s/OS_USR/{}/g; s/SBN/{}/g; s/CTUN/{}/g; s/SGI/{}/g; s/VPC/{}/g; s/SNI/{}/g; s/AKEY/{}/g\'".format(
++                    os_user, config['service_base_name'], tag_resource_id, config['security_group_id'],
++                    config['vpc_id'], config['subnet_id'], config['admin_key']))
              sudo('chown -R jenkins:jenkins /var/lib/jenkins')
              sudo('/etc/init.d/jenkins stop; sleep 5')
              sudo('systemctl enable jenkins')
@@@ -129,9 -129,9 +131,10 @@@ def configure_nginx(config, datalab_pat
                  with open(template_file) as tpl:
                      for line in tpl:
                          out.write(line)
--            put("/tmp/%s-tmpproxy_location_jenkins_template.conf" % random_file_part, '/tmp/proxy_location_jenkins.conf')
-             sudo('mv /tmp/proxy_location_jenkins.conf ' + os.environ['ssn_dlab_path'] + 'tmp/')
-             sudo('\cp ' + os.environ['ssn_dlab_path'] + 'tmp/proxy_location_jenkins.conf /etc/nginx/locations/')
++            put("/tmp/%s-tmpproxy_location_jenkins_template.conf" % random_file_part,
++                '/tmp/proxy_location_jenkins.conf')
+             sudo('mv /tmp/proxy_location_jenkins.conf ' + os.environ['ssn_datalab_path'] + 'tmp/')
+             sudo('\cp ' + os.environ['ssn_datalab_path'] + 'tmp/proxy_location_jenkins.conf /etc/nginx/locations/')
              sudo("echo 'engineer:" + crypt.crypt(nginx_password, id_generator()) + "' > /etc/nginx/htpasswd")
              with open('jenkins_creds.txt', 'w+') as f:
                  f.write("Jenkins credentials: engineer  / " + nginx_password)
@@@ -173,10 -173,10 +176,11 @@@ def ensure_mongo()
          print('Failed to install MongoDB: ', str(err))
          sys.exit(1)
  
- def start_ss(keyfile, host_string, dlab_conf_dir, web_path,
++
+ def start_ss(keyfile, host_string, datalab_conf_dir, web_path,
               os_user, mongo_passwd, keystore_passwd, cloud_provider,
               service_base_name, tag_resource_id, billing_tag, account_id, billing_bucket,
-              aws_job_enabled, dlab_path, billing_enabled, cloud_params,
+              aws_job_enabled, datalab_path, billing_enabled, cloud_params,
               authentication_file, offer_number, currency,
               locale, region_info, ldap_login, tenant_id,
               application_id, hostname, data_lake_name, subscription_id,
@@@ -192,16 -192,16 +196,16 @@@
              local('sed -i "s|CLOUD_PROVIDER|{}|g" /root/templates/ssn.yml'.format(cloud_provider))
              local('sed -i "s|\${JRE_HOME}|' + java_path + '|g" /root/templates/ssn.yml')
              sudo('sed -i "s|KEYNAME|{}|g" {}/webapp/provisioning-service/conf/provisioning.yml'.
-                  format(os.environ['conf_key_name'], dlab_path))
+                  format(os.environ['conf_key_name'], datalab_path))
              put('/root/templates/ssn.yml', '/tmp/ssn.yml')
-             sudo('mv /tmp/ssn.yml ' + os.environ['ssn_dlab_path'] + 'conf/')
+             sudo('mv /tmp/ssn.yml ' + os.environ['ssn_datalab_path'] + 'conf/')
              put('/root/templates/proxy_location_webapp_template.conf', '/tmp/proxy_location_webapp_template.conf')
-             sudo('mv /tmp/proxy_location_webapp_template.conf ' + os.environ['ssn_dlab_path'] + 'tmp/')
+             sudo('mv /tmp/proxy_location_webapp_template.conf ' + os.environ['ssn_datalab_path'] + 'tmp/')
              if cloud_provider == 'aws':
-                 conf_parameter_name = '--spring.config.location={0}billing_app.yml --conf '.format(dlab_conf_dir)
+                 conf_parameter_name = '--spring.config.location={0}billing_app.yml --conf '.format(datalab_conf_dir)
                  with open('/root/templates/supervisor_svc.conf', 'r') as f:
                      text = f.read()
-                 text = text.replace('WEB_CONF', dlab_conf_dir).replace('OS_USR', os_user)\
 -                text = text.replace('WEB_CONF', datalab_conf_dir).replace('OS_USR', os_user)\
++                text = text.replace('WEB_CONF', datalab_conf_dir).replace('OS_USR', os_user) \
                      .replace('CONF_PARAMETER_NAME', conf_parameter_name)
                  with open('/root/templates/supervisor_svc.conf', 'w') as f:
                      f.write(text)
@@@ -209,7 -209,7 +213,7 @@@
                  conf_parameter_name = '--spring.config.location='
                  with open('/root/templates/supervisor_svc.conf', 'r') as f:
                      text = f.read()
-                 text = text.replace('WEB_CONF', dlab_conf_dir).replace('OS_USR', os_user)\
 -                text = text.replace('WEB_CONF', datalab_conf_dir).replace('OS_USR', os_user)\
++                text = text.replace('WEB_CONF', datalab_conf_dir).replace('OS_USR', os_user) \
                      .replace('CONF_PARAMETER_NAME', conf_parameter_name)
                  with open('/root/templates/supervisor_svc.conf', 'w') as f:
                      f.write(text)
@@@ -241,7 -241,7 +245,8 @@@
                      sudo('sed -i "s|<LOGIN_USE_LDAP>|{0}|g" /tmp/yml_tmp/self-service.yml'.format(ldap_login))
                      sudo('sed -i "s|<LOGIN_TENANT_ID>|{0}|g" /tmp/yml_tmp/self-service.yml'.format(tenant_id))
                      sudo('sed -i "s|<LOGIN_APPLICATION_ID>|{0}|g" /tmp/yml_tmp/self-service.yml'.format(application_id))
-                     sudo('sed -i "s|<DLAB_SUBSCRIPTION_ID>|{0}|g" /tmp/yml_tmp/self-service.yml'.format(subscription_id))
 -                    sudo('sed -i "s|<DATALAB_SUBSCRIPTION_ID>|{0}|g" /tmp/yml_tmp/self-service.yml'.format(subscription_id))
++                    sudo('sed -i "s|<DATALAB_SUBSCRIPTION_ID>|{0}|g" /tmp/yml_tmp/self-service.yml'.format(
++                        subscription_id))
                      sudo('sed -i "s|<MANAGEMENT_API_AUTH_FILE>|{0}|g" /tmp/yml_tmp/self-service.yml'.format(
                          authentication_file))
                      sudo('sed -i "s|<VALIDATE_PERMISSION_SCOPE>|{0}|g" /tmp/yml_tmp/self-service.yml'.format(
@@@ -287,7 -287,7 +292,7 @@@
                           '--cost {} ' \
                           '--resource_id {} ' \
                           '--tags {} ' \
--                         '--billing_dataset_name "{}" '\
++                         '--billing_dataset_name "{}" ' \
                           '--mongo_host localhost ' \
                           '--mongo_port 27017 ' \
                           '--service_base_name {} ' \
@@@ -329,11 -329,11 +334,12 @@@
                  sudo('python /tmp/configure_billing.py {}'.format(params))
              try:
                  if os.environ['conf_stepcerts_enabled'] == 'true':
-                     sudo('openssl pkcs12 -export -in /etc/ssl/certs/dlab.crt -inkey /etc/ssl/certs/dlab.key -name ssn '
 -                    sudo('openssl pkcs12 -export -in /etc/ssl/certs/datalab.crt -inkey /etc/ssl/certs/datalab.key -name ssn '
--                         '-out ssn.p12 -password pass:{0}'.format(keystore_passwd))
++                    sudo(
++                        'openssl pkcs12 -export -in /etc/ssl/certs/datalab.crt -inkey /etc/ssl/certs/datalab.key -name ssn '
++                        '-out ssn.p12 -password pass:{0}'.format(keystore_passwd))
                      sudo('keytool -importkeystore -srckeystore ssn.p12 -srcstoretype PKCS12 -alias ssn -destkeystore '
                           '/home/{0}/keys/ssn.keystore.jks -deststorepass "{1}" -srcstorepass "{1}"'.format(
--                          os_user, keystore_passwd))
++                        os_user, keystore_passwd))
                      sudo('keytool -keystore /home/{0}/keys/ssn.keystore.jks -alias step-ca -import -file '
                           '/etc/ssl/certs/root_ca.crt  -deststorepass "{1}" -srcstorepass "{1}" -noprompt'.format(
                            os_user, keystore_passwd))
@@@ -344,10 -344,10 +350,10 @@@
                  else:
                      sudo('keytool -genkeypair -alias ssn -keyalg RSA -validity 730 -storepass {1} -keypass {1} \
                           -keystore /home/{0}/keys/ssn.keystore.jks -keysize 2048 -dname "CN=localhost"'.format(
--                         os_user, keystore_passwd))
-                     sudo('keytool -exportcert -alias ssn -storepass {1} -file /etc/ssl/certs/dlab.crt \
++                        os_user, keystore_passwd))
+                     sudo('keytool -exportcert -alias ssn -storepass {1} -file /etc/ssl/certs/datalab.crt \
                           -keystore /home/{0}/keys/ssn.keystore.jks'.format(os_user, keystore_passwd))
-                     sudo('keytool -importcert -trustcacerts -alias ssn -file /etc/ssl/certs/dlab.crt -noprompt \
+                     sudo('keytool -importcert -trustcacerts -alias ssn -file /etc/ssl/certs/datalab.crt -noprompt \
                           -storepass changeit -keystore {1}/lib/security/cacerts'.format(os_user, java_path))
              except:
                  append_result("Unable to generate cert and copy to java keystore")
@@@ -368,8 -368,8 +374,9 @@@ def install_build_dep()
              maven_version = '3.5.4'
              manage_pkg('-y install', 'remote', 'openjdk-8-jdk git wget unzip')
              with cd('/opt/'):
--                sudo('wget http://mirrors.sonic.net/apache/maven/maven-{0}/{1}/binaries/apache-maven-{1}-bin.zip'.format(
--                    maven_version.split('.')[0], maven_version))
++                sudo(
++                    'wget http://mirrors.sonic.net/apache/maven/maven-{0}/{1}/binaries/apache-maven-{1}-bin.zip'.format(
++                        maven_version.split('.')[0], maven_version))
                  sudo('unzip apache-maven-{}-bin.zip'.format(maven_version))
                  sudo('mv apache-maven-{} maven'.format(maven_version))
              sudo('bash -c "curl --silent --location https://deb.nodesource.com/setup_12.x | bash -"')
diff --cc infrastructure-provisioning/src/general/lib/os/fab.py
index 6758c1f,f8d1dfb..0d99831
--- a/infrastructure-provisioning/src/general/lib/os/fab.py
+++ b/infrastructure-provisioning/src/general/lib/os/fab.py
@@@ -19,20 -19,20 +19,22 @@@
  #
  # ******************************************************************************
  
--from fabric.api import *
--from fabric.contrib.files import exists
++import csv
++import datetime
++import json
  import logging
  import os
  import random
--import sys
--import string
--import json, uuid, time, datetime, csv
- from dlab.meta_lib import *
- from dlab.actions_lib import *
- import dlab.actions_lib
 -from datalab.meta_lib import *
 -from datalab.actions_lib import *
 -import datalab.actions_lib
  import re
++import string
++import sys
++import time
  import traceback
- from dlab.common_lib import *
++from datalab.actions_lib import *
+ from datalab.common_lib import *
++from datalab.meta_lib import *
++from fabric.api import *
++from fabric.contrib.files import exists
  
  
  def ensure_pip(requisites):
@@@ -295,24 -295,24 +297,26 @@@ def ensure_jupyterlab_files(os_user, ju
              sudo('echo \'c.NotebookApp.cookie_secret = b"{0}"\' >> {1}'.format(id_generator(), jupyter_conf_file))
              sudo('''echo "c.NotebookApp.token = u''" >> {}'''.format(jupyter_conf_file))
              sudo('echo \'c.KernelSpecManager.ensure_native_kernel = False\' >> {}'.format(jupyter_conf_file))
-             sudo('chown dlab-user:dlab-user /opt')
-             sudo('echo -e "Host git.epam.com\n   HostName git.epam.com\n   ProxyCommand nc -X connect -x {}:3128 %h %p\n" > /home/{}/.ssh/config'.format(edge_ip, os_user))
+             sudo('chown datalab-user:datalab-user /opt')
 -            sudo('echo -e "Host git.epam.com\n   HostName git.epam.com\n   ProxyCommand nc -X connect -x {}:3128 %h %p\n" > /home/{}/.ssh/config'.format(edge_ip, os_user))
++            sudo(
++                'echo -e "Host git.epam.com\n   HostName git.epam.com\n   ProxyCommand nc -X connect -x {}:3128 %h %p\n" > /home/{}/.ssh/config'.format(
++                    edge_ip, os_user))
              sudo('echo -e "Host github.com\n   HostName github.com\n   ProxyCommand nc -X connect -x {}:3128 %h %p" >> /home/{}/.ssh/config'.format(edge_ip, os_user))
  #            sudo('touch {}'.format(spark_script))
  #            sudo('echo "#!/bin/bash" >> {}'.format(spark_script))
  #            sudo(
  #                'echo "PYJ=\`find /opt/spark/ -name \'*py4j*.zip\' | tr \'\\n\' \':\' | sed \'s|:$||g\'\`; sed -i \'s|PY4J|\'$PYJ\'|g\' /tmp/pyspark_local_template.json" >> {}'.format(
  #                spark_script))
--#            sudo(
- #                'echo "sed -i \'14s/:",/:\\/home\\/dlab-user\\/caffe\\/python:\\/home\\/dlab-user\\/pytorch\\/build:",/\' /tmp/pyspark_local_template.json" >> {}'.format(
 -#                'echo "sed -i \'14s/:",/:\\/home\\/datalab-user\\/caffe\\/python:\\/home\\/datalab-user\\/pytorch\\/build:",/\' /tmp/pyspark_local_template.json" >> {}'.format(
--#                    spark_script))
++        #            sudo(
++        #                'echo "sed -i \'14s/:",/:\\/home\\/datalab-user\\/caffe\\/python:\\/home\\/datalab-user\\/pytorch\\/build:",/\' /tmp/pyspark_local_template.json" >> {}'.format(
++        #                    spark_script))
  #            sudo('echo \'sed -i "s|SP_VER|{}|g" /tmp/pyspark_local_template.json\' >> {}'.format(os.environ['notebook_spark_version'], spark_script))
  #            sudo(
  #                'echo "PYJ=\`find /opt/spark/ -name \'*py4j*.zip\' | tr \'\\n\' \':\' | sed \'s|:$||g\'\`; sed -i \'s|PY4J|\'$PYJ\'|g\' /tmp/py3spark_local_template.json" >> {}'.format(
  #                spark_script))
--#            sudo(
- #                'echo "sed -i \'14s/:",/:\\/home\\/dlab-user\\/caffe\\/python:\\/home\\/dlab-user\\/pytorch\\/build:",/\' /tmp/py3spark_local_template.json" >> {}'.format(
 -#                'echo "sed -i \'14s/:",/:\\/home\\/datalab-user\\/caffe\\/python:\\/home\\/datalab-user\\/pytorch\\/build:",/\' /tmp/py3spark_local_template.json" >> {}'.format(
--#                    spark_script))
++        #            sudo(
++        #                'echo "sed -i \'14s/:",/:\\/home\\/datalab-user\\/caffe\\/python:\\/home\\/datalab-user\\/pytorch\\/build:",/\' /tmp/py3spark_local_template.json" >> {}'.format(
++        #                    spark_script))
  #            sudo('echo \'sed -i "s|SP_VER|{}|g" /tmp/py3spark_local_template.json\' >> {}'.format(os.environ['notebook_spark_version'], spark_script))
  #            sudo('echo "cp /tmp/pyspark_local_template.json /home/{}/.local/share/jupyter/kernels/pyspark_local/kernel.json" >> {}'.format(os_user, spark_script))
  #            sudo(
@@@ -946,29 -946,29 +950,41 @@@ def configure_superset(os_user, keycloa
      try:
          if not exists('/home/{}/incubator-superset'.format(os_user)):
              with cd('/home/{}'.format(os_user)):
--                sudo('wget https://github.com/apache/incubator-superset/archive/{}.tar.gz'.format(os.environ['notebook_superset_version']))
++                sudo('wget https://github.com/apache/incubator-superset/archive/{}.tar.gz'.format(
++                    os.environ['notebook_superset_version']))
                  sudo('tar -xzf {}.tar.gz'.format(os.environ['notebook_superset_version']))
                  sudo('ln -sf incubator-superset-{} incubator-superset'.format(os.environ['notebook_superset_version']))
          if not exists('/tmp/superset-notebook_installed'):
-             sudo('mkdir -p /opt/dlab/templates')
-             put('/root/templates', '/opt/dlab', use_sudo=True)
-             sudo('sed -i \'s/OS_USER/{}/g\' /opt/dlab/templates/.env'.format(os_user))
+             sudo('mkdir -p /opt/datalab/templates')
+             put('/root/templates', '/opt/datalab', use_sudo=True)
+             sudo('sed -i \'s/OS_USER/{}/g\' /opt/datalab/templates/.env'.format(os_user))
              proxy_string = '{}:3128'.format(edge_instance_private_ip)
-             sudo('sed -i \'s|KEYCLOAK_AUTH_SERVER_URL|{}|g\' /opt/dlab/templates/id_provider.json'.format(keycloak_auth_server_url))
-             sudo('sed -i \'s/KEYCLOAK_REALM_NAME/{}/g\' /opt/dlab/templates/id_provider.json'.format(keycloak_realm_name))
-             sudo('sed -i \'s/CLIENT_ID/{}/g\' /opt/dlab/templates/id_provider.json'.format(keycloak_client_id))
-             sudo('sed -i \'s/CLIENT_SECRET/{}/g\' /opt/dlab/templates/id_provider.json'.format(keycloak_client_secret))
-             sudo('sed -i \'s/PROXY_STRING/{}/g\' /opt/dlab/templates/docker-compose.yml'.format(proxy_string))
-             sudo('sed -i \'s|KEYCLOAK_AUTH_SERVER_URL|{}|g\' /opt/dlab/templates/superset_config.py'.format(keycloak_auth_server_url))
-             sudo('sed -i \'s/KEYCLOAK_REALM_NAME/{}/g\' /opt/dlab/templates/superset_config.py'.format(keycloak_realm_name))
-             sudo('sed -i \'s/EDGE_IP/{}/g\' /opt/dlab/templates/superset_config.py'.format(edge_instance_public_ip))
-             sudo('sed -i \'s/SUPERSET_NAME/{}/g\' /opt/dlab/templates/superset_config.py'.format(superset_name))
-             sudo('cp -f /opt/dlab/templates/.env /home/{}/incubator-superset/contrib/docker/'.format(os_user))
-             sudo('cp -f /opt/dlab/templates/docker-compose.yml /home/{}/incubator-superset/contrib/docker/'.format(os_user))
-             sudo('cp -f /opt/dlab/templates/id_provider.json /home/{}/incubator-superset/contrib/docker/'.format(os_user))
-             sudo('cp -f /opt/dlab/templates/requirements-extra.txt /home/{}/incubator-superset/contrib/docker/'.format(os_user))
-             sudo('cp -f /opt/dlab/templates/superset_config.py /home/{}/incubator-superset/contrib/docker/'.format(os_user))
-             sudo('cp -f /opt/dlab/templates/docker-init.sh /home/{}/incubator-superset/contrib/docker/'.format(os_user))
 -            sudo('sed -i \'s|KEYCLOAK_AUTH_SERVER_URL|{}|g\' /opt/datalab/templates/id_provider.json'.format(keycloak_auth_server_url))
 -            sudo('sed -i \'s/KEYCLOAK_REALM_NAME/{}/g\' /opt/datalab/templates/id_provider.json'.format(keycloak_realm_name))
++            sudo('sed -i \'s|KEYCLOAK_AUTH_SERVER_URL|{}|g\' /opt/datalab/templates/id_provider.json'.format(
++                keycloak_auth_server_url))
++            sudo('sed -i \'s/KEYCLOAK_REALM_NAME/{}/g\' /opt/datalab/templates/id_provider.json'.format(
++                keycloak_realm_name))
+             sudo('sed -i \'s/CLIENT_ID/{}/g\' /opt/datalab/templates/id_provider.json'.format(keycloak_client_id))
 -            sudo('sed -i \'s/CLIENT_SECRET/{}/g\' /opt/datalab/templates/id_provider.json'.format(keycloak_client_secret))
++            sudo('sed -i \'s/CLIENT_SECRET/{}/g\' /opt/datalab/templates/id_provider.json'.format(
++                keycloak_client_secret))
+             sudo('sed -i \'s/PROXY_STRING/{}/g\' /opt/datalab/templates/docker-compose.yml'.format(proxy_string))
 -            sudo('sed -i \'s|KEYCLOAK_AUTH_SERVER_URL|{}|g\' /opt/datalab/templates/superset_config.py'.format(keycloak_auth_server_url))
 -            sudo('sed -i \'s/KEYCLOAK_REALM_NAME/{}/g\' /opt/datalab/templates/superset_config.py'.format(keycloak_realm_name))
++            sudo('sed -i \'s|KEYCLOAK_AUTH_SERVER_URL|{}|g\' /opt/datalab/templates/superset_config.py'.format(
++                keycloak_auth_server_url))
++            sudo('sed -i \'s/KEYCLOAK_REALM_NAME/{}/g\' /opt/datalab/templates/superset_config.py'.format(
++                keycloak_realm_name))
+             sudo('sed -i \'s/EDGE_IP/{}/g\' /opt/datalab/templates/superset_config.py'.format(edge_instance_public_ip))
+             sudo('sed -i \'s/SUPERSET_NAME/{}/g\' /opt/datalab/templates/superset_config.py'.format(superset_name))
+             sudo('cp -f /opt/datalab/templates/.env /home/{}/incubator-superset/contrib/docker/'.format(os_user))
 -            sudo('cp -f /opt/datalab/templates/docker-compose.yml /home/{}/incubator-superset/contrib/docker/'.format(os_user))
 -            sudo('cp -f /opt/datalab/templates/id_provider.json /home/{}/incubator-superset/contrib/docker/'.format(os_user))
 -            sudo('cp -f /opt/datalab/templates/requirements-extra.txt /home/{}/incubator-superset/contrib/docker/'.format(os_user))
 -            sudo('cp -f /opt/datalab/templates/superset_config.py /home/{}/incubator-superset/contrib/docker/'.format(os_user))
 -            sudo('cp -f /opt/datalab/templates/docker-init.sh /home/{}/incubator-superset/contrib/docker/'.format(os_user))
++            sudo('cp -f /opt/datalab/templates/docker-compose.yml /home/{}/incubator-superset/contrib/docker/'.format(
++                os_user))
++            sudo('cp -f /opt/datalab/templates/id_provider.json /home/{}/incubator-superset/contrib/docker/'.format(
++                os_user))
++            sudo(
++                'cp -f /opt/datalab/templates/requirements-extra.txt /home/{}/incubator-superset/contrib/docker/'.format(
++                    os_user))
++            sudo('cp -f /opt/datalab/templates/superset_config.py /home/{}/incubator-superset/contrib/docker/'.format(
++                os_user))
++            sudo('cp -f /opt/datalab/templates/docker-init.sh /home/{}/incubator-superset/contrib/docker/'.format(
++                os_user))
              sudo('touch /tmp/superset-notebook_installed')
      except Exception as err:
          print("Failed configure superset: " + str(err))
diff --cc infrastructure-provisioning/src/general/lib/os/redhat/edge_lib.py
index 3ee832e,d58232d..27f346c
--- a/infrastructure-provisioning/src/general/lib/os/redhat/edge_lib.py
+++ b/infrastructure-provisioning/src/general/lib/os/redhat/edge_lib.py
@@@ -23,9 -23,9 +23,9 @@@
  
  import os
  import sys
++from datalab.common_lib import manage_pkg
  from fabric.api import *
  from fabric.contrib.files import exists
- from dlab.common_lib import manage_pkg
 -from datalab.common_lib import manage_pkg
  
  
  def configure_http_proxy_server(config):
@@@ -83,9 -83,9 +83,9 @@@ def install_nginx_lua(edge_ip, nginx_ve
                  cn = edge_ip
                  sudo('step ca token {3} --kid {0} --ca-url "{1}" --root /etc/ssl/certs/root_ca.crt '
                       '--password-file /home/{2}/keys/provisioner_password {4} --output-file /tmp/step_token'.format(
--                      os.environ['conf_stepcerts_kid'], os.environ['conf_stepcerts_ca_url'], user, cn, sans))
++                    os.environ['conf_stepcerts_kid'], os.environ['conf_stepcerts_ca_url'], user, cn, sans))
                  token = sudo('cat /tmp/step_token')
-                 sudo('step ca certificate "{0}" /etc/ssl/certs/dlab.crt /etc/ssl/certs/dlab.key '
+                 sudo('step ca certificate "{0}" /etc/ssl/certs/datalab.crt /etc/ssl/certs/datalab.key '
                       '--token "{1}" --kty=RSA --size 2048 --provisioner {2} '.format(cn, token,
                                                                                       os.environ['conf_stepcerts_kid']))
                  sudo('touch /var/log/renew_certificates.log')
@@@ -112,9 -112,9 +112,10 @@@
                  sudo('systemctl enable step-cert-manager.service')
              else:
                  if os.environ['conf_letsencrypt_enabled'] == 'true':
-                     print('Lets Encrypt certificates are not supported for redhat in dlab. Using self signed certificates')
-                 sudo('openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/certs/dlab.key \
-                      -out /etc/ssl/certs/dlab.crt -subj "/C=US/ST=US/L=US/O=dlab/CN={}"'.format(hostname))
 -                    print('Lets Encrypt certificates are not supported for redhat in DataLab. Using self signed certificates')
++                    print(
++                        'Lets Encrypt certificates are not supported for redhat in DataLab. Using self signed certificates')
+                 sudo('openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/certs/datalab.key \
+                      -out /etc/ssl/certs/datalab.crt -subj "/C=US/ST=US/L=US/O=datalab/CN={}"'.format(hostname))
              sudo('mkdir -p /tmp/lua')
              sudo('mkdir -p /tmp/src')
              with cd('/tmp/src/'):
@@@ -166,19 -166,19 +167,23 @@@
  
              sudo('useradd -r nginx')
              sudo('rm -f /etc/nginx/nginx.conf')
-             sudo('mkdir -p /opt/dlab/templates')
-             put('/root/templates', '/opt/dlab', use_sudo=True)
-             sudo('sed -i \'s/EDGE_IP/{}/g\' /opt/dlab/templates/conf.d/proxy.conf'.format(edge_ip))
-             sudo('sed -i \'s|KEYCLOAK_AUTH_URL|{}|g\' /opt/dlab/templates/conf.d/proxy.conf'.format(keycloak_auth_server_url))
-             sudo('sed -i \'s/KEYCLOAK_REALM_NAME/{}/g\' /opt/dlab/templates/conf.d/proxy.conf'.format(keycloak_realm_name))
-             sudo('sed -i \'s/KEYCLOAK_CLIENT_ID/{}/g\' /opt/dlab/templates/conf.d/proxy.conf'.format(keycloak_client_id))
-             sudo('sed -i \'s/KEYCLOAK_CLIENT_SECRET/{}/g\' /opt/dlab/templates/conf.d/proxy.conf'.format(keycloak_client_secret))
- 
-             sudo('cp /opt/dlab/templates/nginx.conf /etc/nginx/')
+             sudo('mkdir -p /opt/datalab/templates')
+             put('/root/templates', '/opt/datalab', use_sudo=True)
+             sudo('sed -i \'s/EDGE_IP/{}/g\' /opt/datalab/templates/conf.d/proxy.conf'.format(edge_ip))
 -            sudo('sed -i \'s|KEYCLOAK_AUTH_URL|{}|g\' /opt/datalab/templates/conf.d/proxy.conf'.format(keycloak_auth_server_url))
 -            sudo('sed -i \'s/KEYCLOAK_REALM_NAME/{}/g\' /opt/datalab/templates/conf.d/proxy.conf'.format(keycloak_realm_name))
 -            sudo('sed -i \'s/KEYCLOAK_CLIENT_ID/{}/g\' /opt/datalab/templates/conf.d/proxy.conf'.format(keycloak_client_id))
 -            sudo('sed -i \'s/KEYCLOAK_CLIENT_SECRET/{}/g\' /opt/datalab/templates/conf.d/proxy.conf'.format(keycloak_client_secret))
++            sudo('sed -i \'s|KEYCLOAK_AUTH_URL|{}|g\' /opt/datalab/templates/conf.d/proxy.conf'.format(
++                keycloak_auth_server_url))
++            sudo('sed -i \'s/KEYCLOAK_REALM_NAME/{}/g\' /opt/datalab/templates/conf.d/proxy.conf'.format(
++                keycloak_realm_name))
++            sudo('sed -i \'s/KEYCLOAK_CLIENT_ID/{}/g\' /opt/datalab/templates/conf.d/proxy.conf'.format(
++                keycloak_client_id))
++            sudo('sed -i \'s/KEYCLOAK_CLIENT_SECRET/{}/g\' /opt/datalab/templates/conf.d/proxy.conf'.format(
++                keycloak_client_secret))
+ 
+             sudo('cp /opt/datalab/templates/nginx.conf /etc/nginx/')
              sudo('mkdir /etc/nginx/conf.d')
-             sudo('cp /opt/dlab/templates/conf.d/proxy.conf /etc/nginx/conf.d/')
+             sudo('cp /opt/datalab/templates/conf.d/proxy.conf /etc/nginx/conf.d/')
              sudo('mkdir /etc/nginx/locations')
-             sudo('cp /opt/dlab/templates/nginx_redhat /etc/init.d/nginx')
+             sudo('cp /opt/datalab/templates/nginx_redhat /etc/init.d/nginx')
              sudo('chmod +x /etc/init.d/nginx')
              sudo('chkconfig --add nginx')
              sudo('chkconfig --level 345 nginx on')
diff --cc infrastructure-provisioning/src/general/lib/os/redhat/notebook_lib.py
index 1cee42e,5f6b7e7..284c941
--- a/infrastructure-provisioning/src/general/lib/os/redhat/notebook_lib.py
+++ b/infrastructure-provisioning/src/general/lib/os/redhat/notebook_lib.py
@@@ -21,17 -21,17 +21,14 @@@
  #
  # ******************************************************************************
  
--from fabric.api import *
--from fabric.contrib.files import exists
--import argparse
  import json
--import random
--import string
++import os
  import sys
- from dlab.notebook_lib import *
- from dlab.fab import *
 -from datalab.notebook_lib import *
 -from datalab.fab import *
--import os, time
- from dlab.common_lib import manage_pkg
+ from datalab.common_lib import manage_pkg
++from datalab.fab import *
++from datalab.notebook_lib import *
++from fabric.api import *
++from fabric.contrib.files import exists
  
  
  def enable_proxy(proxy_host, proxy_port):
@@@ -112,8 -112,8 +109,9 @@@ def install_rstudio(os_user, local_spar
              manage_pkg('-y install --nogpgcheck', 'remote', 'https://download2.rstudio.org/server/centos6/x86_64/rstudio-server-rhel-{}-x86_64.rpm'.format(rstudio_version))
              sudo('mkdir -p /mnt/var')
              sudo('chown {0}:{0} /mnt/var'.format(os_user))
-             sudo("sed -i '/Type=forking/a \Environment=USER=dlab-user' /etc/systemd/system/rstudio-server.service")
-             sudo("sed -i '/ExecStart/s|=/usr/lib/rstudio-server/bin/rserver|=/bin/bash -c \"export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/cudnn/lib64:/usr/local/cuda/lib64; /usr/lib/rstudio-server/bin/rserver --auth-none 1|g' /etc/systemd/system/rstudio-server.service")
+             sudo("sed -i '/Type=forking/a \Environment=USER=datalab-user' /etc/systemd/system/rstudio-server.service")
 -            sudo("sed -i '/ExecStart/s|=/usr/lib/rstudio-server/bin/rserver|=/bin/bash -c \"export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/cudnn/lib64:/usr/local/cuda/lib64; /usr/lib/rstudio-server/bin/rserver --auth-none 1|g' /etc/systemd/system/rstudio-server.service")
++            sudo(
++                "sed -i '/ExecStart/s|=/usr/lib/rstudio-server/bin/rserver|=/bin/bash -c \"export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/cudnn/lib64:/usr/local/cuda/lib64; /usr/lib/rstudio-server/bin/rserver --auth-none 1|g' /etc/systemd/system/rstudio-server.service")
              sudo("sed -i '/ExecStart/s|$|\"|g' /etc/systemd/system/rstudio-server.service")
              sudo("systemctl daemon-reload")
              sudo('touch /home/{}/.Renviron'.format(os_user))
diff --cc infrastructure-provisioning/src/general/lib/os/redhat/ssn_lib.py
index a0022da,775576e..8a2c357
--- a/infrastructure-provisioning/src/general/lib/os/redhat/ssn_lib.py
+++ b/infrastructure-provisioning/src/general/lib/os/redhat/ssn_lib.py
@@@ -21,21 -21,21 +21,20 @@@
  #
  # ******************************************************************************
  
--from fabric.api import *
  import crypt
--import yaml
- from dlab.fab import *
- from dlab.meta_lib import *
 -from datalab.fab import *
 -from datalab.meta_lib import *
--import os
  import json
++import os
  import sys
  import traceback
- from dlab.common_lib import manage_pkg
+ from datalab.common_lib import manage_pkg
++from datalab.fab import *
++from datalab.meta_lib import *
++from fabric.api import *
  
  
- def ensure_docker_daemon(dlab_path, os_user, region):
+ def ensure_docker_daemon(datalab_path, os_user, region):
      try:
-         if not exists('{}tmp/docker_daemon_ensured'.format(dlab_path)):
+         if not exists('{}tmp/docker_daemon_ensured'.format(datalab_path)):
              docker_version = os.environ['ssn_docker_version']
              if region == 'cn-north-1':
                  mirror = 'mirror.lzu.edu.cn'
@@@ -98,11 -98,11 +97,15 @@@ def configure_jenkins(datalab_path, os_
              sudo('mkdir -p /var/lib/jenkins/jobs/')
              sudo('chown -R {0}:{0} /var/lib/jenkins/'.format(os_user))
              put('/root/templates/jenkins_jobs/*', '/var/lib/jenkins/jobs/')
--            #sudo("find /var/lib/jenkins/jobs/ -type f | xargs sed -i \'s/OS_USR/{}/g\'".format(os_user))
--            sudo("find /var/lib/jenkins/jobs/ -type f | xargs sed -i \'s/OS_USR/{}/g; s/SBN/{}/g; s/CTUN/{}/g; s/SGI/{}/g; s/VPC/{}/g; s/SNI/{}/g; s/AKEY/{}/g\'".format(os_user, config['service_base_name'], tag_resource_id, config['security_group_id'], config['vpc_id'], config['subnet_id'], config['admin_key']))
++            # sudo("find /var/lib/jenkins/jobs/ -type f | xargs sed -i \'s/OS_USR/{}/g\'".format(os_user))
++            sudo(
++                "find /var/lib/jenkins/jobs/ -type f | xargs sed -i \'s/OS_USR/{}/g; s/SBN/{}/g; s/CTUN/{}/g; s/SGI/{}/g; s/VPC/{}/g; s/SNI/{}/g; s/AKEY/{}/g\'".format(
++                    os_user, config['service_base_name'], tag_resource_id, config['security_group_id'],
++                    config['vpc_id'], config['subnet_id'], config['admin_key']))
              sudo('chown -R jenkins:jenkins /var/lib/jenkins')
              sudo('/etc/init.d/jenkins stop; sleep 5')
--            sudo('sed -i \'/JENKINS_PORT/ s/^/#/\' /etc/sysconfig/jenkins; echo \'JENKINS_PORT="8070"\' >> /etc/sysconfig/jenkins')
++            sudo(
++                'sed -i \'/JENKINS_PORT/ s/^/#/\' /etc/sysconfig/jenkins; echo \'JENKINS_PORT="8070"\' >> /etc/sysconfig/jenkins')
              sudo('sed -i \'/JENKINS_ARGS/ s|=""|="--prefix=/jenkins"|\' /etc/sysconfig/jenkins')
              sudo('semanage port -a -t http_port_t -p tcp 8070')
              sudo('setsebool -P httpd_can_network_connect 1')
@@@ -160,12 -160,12 +163,12 @@@ def configure_nginx(config, datalab_pat
  
  def ensure_supervisor():
      try:
-         if not exists('{}tmp/superv_ensured'.format(os.environ['ssn_dlab_path'])):
+         if not exists('{}tmp/superv_ensured'.format(os.environ['ssn_datalab_path'])):
              manage_pkg('-y install', 'remote', 'supervisor')
--            #sudo('pip install supervisor')
++            # sudo('pip install supervisor')
              sudo('chkconfig supervisord on')
              sudo('systemctl start supervisord')
-             sudo('touch {}tmp/superv_ensured'.format(os.environ['ssn_dlab_path']))
+             sudo('touch {}tmp/superv_ensured'.format(os.environ['ssn_datalab_path']))
      except Exception as err:
          traceback.print_exc()
          print('Failed to install supervisor: ', str(err))
@@@ -213,16 -213,16 +216,16 @@@ def start_ss(keyfile, host_string, data
              local('sed -i "s|CLOUD_PROVIDER|{}|g" /root/templates/ssn.yml'.format(cloud_provider))
              local('sed -i "s|\${JRE_HOME}|' + java_path + '|g" /root/templates/ssn.yml')
              sudo('sed -i "s|KEYNAME|{}|g" {}/webapp/provisioning-service/conf/provisioning.yml'.
-                   format(os.environ['conf_key_name'], dlab_path))
 -                  format(os.environ['conf_key_name'], datalab_path))
++                 format(os.environ['conf_key_name'], datalab_path))
              put('/root/templates/ssn.yml', '/tmp/ssn.yml')
-             sudo('mv /tmp/ssn.yml ' + os.environ['ssn_dlab_path'] + 'conf/')
+             sudo('mv /tmp/ssn.yml ' + os.environ['ssn_datalab_path'] + 'conf/')
              put('/root/templates/proxy_location_webapp_template.conf', '/tmp/proxy_location_webapp_template.conf')
-             sudo('mv /tmp/proxy_location_webapp_template.conf ' + os.environ['ssn_dlab_path'] + 'tmp/')
+             sudo('mv /tmp/proxy_location_webapp_template.conf ' + os.environ['ssn_datalab_path'] + 'tmp/')
              if cloud_provider == 'gcp':
                  conf_parameter_name = '--spring.config.location='
                  with open('/root/templates/supervisor_svc.conf', 'r') as f:
                      text = f.read()
-                 text = text.replace('WEB_CONF', dlab_conf_dir).replace('OS_USR', os_user)\
 -                text = text.replace('WEB_CONF', datalab_conf_dir).replace('OS_USR', os_user)\
++                text = text.replace('WEB_CONF', datalab_conf_dir).replace('OS_USR', os_user) \
                      .replace('CONF_PARAMETER_NAME', conf_parameter_name)
                  with open('/root/templates/supervisor_svc.conf', 'w') as f:
                      f.write(text)
@@@ -230,7 -230,7 +233,7 @@@
                  conf_parameter_name = '--conf '
                  with open('/root/templates/supervisor_svc.conf', 'r') as f:
                      text = f.read()
-                 text = text.replace('WEB_CONF', dlab_conf_dir).replace('OS_USR', os_user)\
 -                text = text.replace('WEB_CONF', datalab_conf_dir).replace('OS_USR', os_user)\
++                text = text.replace('WEB_CONF', datalab_conf_dir).replace('OS_USR', os_user) \
                      .replace('CONF_PARAMETER_NAME', conf_parameter_name)
                  with open('/root/templates/supervisor_svc.conf', 'w') as f:
                      f.write(text)
@@@ -262,8 -262,8 +265,10 @@@
                      sudo('sed -i "s|<LOGIN_USE_LDAP>|{0}|g" /tmp/yml_tmp/self-service.yml'.format(ldap_login))
                      sudo('sed -i "s|<LOGIN_TENANT_ID>|{0}|g" /tmp/yml_tmp/self-service.yml'.format(tenant_id))
                      sudo('sed -i "s|<LOGIN_APPLICATION_ID>|{0}|g" /tmp/yml_tmp/self-service.yml'.format(application_id))
-                     sudo('sed -i "s|<DLAB_SUBSCRIPTION_ID>|{0}|g" /tmp/yml_tmp/self-service.yml'.format(subscription_id))
 -                    sudo('sed -i "s|<DATALAB_SUBSCRIPTION_ID>|{0}|g" /tmp/yml_tmp/self-service.yml'.format(subscription_id))
--                    sudo('sed -i "s|<MANAGEMENT_API_AUTH_FILE>|{0}|g" /tmp/yml_tmp/self-service.yml'.format(authentication_file))
++                    sudo('sed -i "s|<DATALAB_SUBSCRIPTION_ID>|{0}|g" /tmp/yml_tmp/self-service.yml'.format(
++                        subscription_id))
++                    sudo('sed -i "s|<MANAGEMENT_API_AUTH_FILE>|{0}|g" /tmp/yml_tmp/self-service.yml'.format(
++                        authentication_file))
                      sudo('sed -i "s|<VALIDATE_PERMISSION_SCOPE>|{0}|g" /tmp/yml_tmp/self-service.yml'.format(validate_permission_scope))
                      sudo('sed -i "s|<LOGIN_APPLICATION_REDIRECT_URL>|{0}|g" /tmp/yml_tmp/self-service.yml'.format(hostname))
                      sudo('sed -i "s|<LOGIN_PAGE>|{0}|g" /tmp/yml_tmp/self-service.yml'.format(hostname))
@@@ -343,8 -343,8 +348,9 @@@
  
              try:
                  if os.environ['conf_stepcerts_enabled'] == 'true':
-                     sudo('openssl pkcs12 -export -in /etc/ssl/certs/dlab.crt -inkey /etc/ssl/certs/dlab.key -name ssn '
 -                    sudo('openssl pkcs12 -export -in /etc/ssl/certs/datalab.crt -inkey /etc/ssl/certs/datalab.key -name ssn '
--                         '-out ssn.p12 -password pass:{0}'.format(keystore_passwd))
++                    sudo(
++                        'openssl pkcs12 -export -in /etc/ssl/certs/datalab.crt -inkey /etc/ssl/certs/datalab.key -name ssn '
++                        '-out ssn.p12 -password pass:{0}'.format(keystore_passwd))
                      sudo('keytool -importkeystore -srckeystore ssn.p12 -srcstoretype PKCS12 -alias ssn -destkeystore '
                           '/home/{0}/keys/ssn.keystore.jks -deststorepass "{1}" -srcstorepass "{1}"'.format(
                          os_user, keystore_passwd))
@@@ -357,7 -357,7 +363,8 @@@
                           '-storepass changeit -keystore {0}/lib/security/cacerts'.format(java_path))
                  else:
                      if os.environ['conf_letsencrypt_enabled'] == 'true':
-                         print('Lets Encrypt certificates are not supported for redhat in dlab. Using self signed certificates')
 -                        print('Lets Encrypt certificates are not supported for redhat in datalab. Using self signed certificates')
++                        print(
++                            'Lets Encrypt certificates are not supported for redhat in datalab. Using self signed certificates')
                      sudo('keytool -genkeypair -alias ssn -keyalg RSA -validity 730 -storepass {1} -keypass {1} \
                           -keystore /home/{0}/keys/ssn.keystore.jks -keysize 2048 -dname "CN=localhost"'.format(
                          os_user, keystore_passwd))
@@@ -383,8 -383,8 +390,9 @@@ def install_build_dep()
              maven_version = '3.5.4'
              manage_pkg('-y install', 'remote', 'java-1.8.0-openjdk java-1.8.0-openjdk-devel git wget unzip')
              with cd('/opt/'):
--                sudo('wget http://mirrors.sonic.net/apache/maven/maven-{0}/{1}/binaries/apache-maven-{1}-bin.zip'.format(
--                    maven_version.split('.')[0], maven_version))
++                sudo(
++                    'wget http://mirrors.sonic.net/apache/maven/maven-{0}/{1}/binaries/apache-maven-{1}-bin.zip'.format(
++                        maven_version.split('.')[0], maven_version))
                  sudo('unzip apache-maven-{}-bin.zip'.format(maven_version))
                  sudo('mv apache-maven-{} maven'.format(maven_version))
              sudo('bash -c "curl --silent --location https://rpm.nodesource.com/setup_12.x | bash -"')
diff --cc infrastructure-provisioning/src/general/scripts/aws/common_collect_data.py
index e63a63f,fe62e8c..d20f06b
--- a/infrastructure-provisioning/src/general/scripts/aws/common_collect_data.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/common_collect_data.py
@@@ -22,22 -22,22 +22,19 @@@
  # ******************************************************************************
  
  import argparse
++import ast
  import json
--import datetime
--from fabric.api import *
- from dlab.actions_lib import *
- from dlab.meta_lib import *
- from dlab.fab import *
- import traceback
 +import sys
- import ast
- 
++import traceback
+ from datalab.actions_lib import *
 -from datalab.meta_lib import *
+ from datalab.fab import *
 -import traceback
 -import sys
 -import ast
 -
++from datalab.meta_lib import *
++from fabric.api import *
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--list_resources', type=str, default='')
  args = parser.parse_args()
  
--
  if __name__ == "__main__":
      data = ast.literal_eval(args.list_resources.replace('\'', '"'))
      statuses = {}
diff --cc infrastructure-provisioning/src/general/scripts/aws/common_create_bucket.py
index 207af06,6a09b96..22434f0
--- a/infrastructure-provisioning/src/general/scripts/aws/common_create_bucket.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/common_create_bucket.py
@@@ -22,11 -22,11 +22,9 @@@
  # ******************************************************************************
  
  import argparse
--import json
- from dlab.actions_lib import *
- from dlab.meta_lib import *
 +import sys
- 
+ from datalab.actions_lib import *
+ from datalab.meta_lib import *
 -import sys
 -
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--bucket_name', type=str, default='')
@@@ -35,7 -35,7 +33,6 @@@ parser.add_argument('--region', type=st
  parser.add_argument('--bucket_name_tag', type=str, default='')
  args = parser.parse_args()
  
--
  if __name__ == "__main__":
      if args.bucket_name != '':
          try:
diff --cc infrastructure-provisioning/src/general/scripts/aws/common_create_instance.py
index ecf46be,a97f228..d5971fd
--- a/infrastructure-provisioning/src/general/scripts/aws/common_create_instance.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/common_create_instance.py
@@@ -23,10 -23,10 +23,9 @@@
  
  import argparse
  import json
- from dlab.actions_lib import *
- from dlab.meta_lib import *
 +import sys
- 
+ from datalab.actions_lib import *
+ from datalab.meta_lib import *
 -import sys
 -
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--node_name', type=str, default='')
diff --cc infrastructure-provisioning/src/general/scripts/aws/common_create_notebook_image.py
index 1d5cb04,39481bc..7cfa0cf
--- a/infrastructure-provisioning/src/general/scripts/aws/common_create_notebook_image.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/common_create_notebook_image.py
@@@ -21,14 -21,14 +21,10 @@@
  #
  # ******************************************************************************
  
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
- import sys
 -import datalab.fab
 -import datalab.actions_lib
+ import datalab.meta_lib
 -import sys
  import json
--import uuid
  import os
--
++import sys
  
  if __name__ == "__main__":
      try:
@@@ -64,10 -64,10 +60,10 @@@
              except KeyError:
                  os.environ['conf_additional_tags'] = 'project_tag:{0};endpoint_tag:{1}'.format(
                      os.environ['project_name'], os.environ['endpoint_name'])
-             image_id = dlab.actions_lib.create_image_from_instance(tag_name=image_conf['instance_tag'],
-                                                                    instance_name=image_conf['instance_name'],
-                                                                    image_name=image_conf['full_image_name'],
-                                                                    tags=json.dumps(image_conf['tags']))
+             image_id = datalab.actions_lib.create_image_from_instance(tag_name=image_conf['instance_tag'],
 -                                                                   instance_name=image_conf['instance_name'],
 -                                                                   image_name=image_conf['full_image_name'],
 -                                                                   tags=json.dumps(image_conf['tags']))
++                                                                      instance_name=image_conf['instance_name'],
++                                                                      image_name=image_conf['full_image_name'],
++                                                                      tags=json.dumps(image_conf['tags']))
              print("Image was successfully created. It's name is {}".format(image_conf['full_image_name']))
  
              with open("/root/result.json", 'w') as result:
diff --cc infrastructure-provisioning/src/general/scripts/aws/common_create_policy.py
index 8b7f038,1bef0c6..b804e8a
--- a/infrastructure-provisioning/src/general/scripts/aws/common_create_policy.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/common_create_policy.py
@@@ -22,10 -22,10 +22,11 @@@
  # ******************************************************************************
  
  import argparse
- from dlab.actions_lib import *
- from dlab.meta_lib import *
++import boto3
++import botocore
 +import sys
- import boto3, botocore
+ from datalab.actions_lib import *
+ from datalab.meta_lib import *
 -import sys
 -import boto3, botocore
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--bucket_name', type=str, default='')
diff --cc infrastructure-provisioning/src/general/scripts/aws/common_create_role_policy.py
index 1f914c1,4763bd3..c3eae52
--- a/infrastructure-provisioning/src/general/scripts/aws/common_create_role_policy.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/common_create_role_policy.py
@@@ -22,9 -22,9 +22,9 @@@
  # ******************************************************************************
  
  import argparse
- from dlab.actions_lib import *
- from dlab.meta_lib import *
 +import sys
+ from datalab.actions_lib import *
+ from datalab.meta_lib import *
 -import sys
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--role_name', type=str, default='')
diff --cc infrastructure-provisioning/src/general/scripts/aws/common_create_security_group.py
index 4ee0575,3fd252f..f06bf41
--- a/infrastructure-provisioning/src/general/scripts/aws/common_create_security_group.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/common_create_security_group.py
@@@ -21,13 -21,13 +21,11 @@@
  #
  # ******************************************************************************
  
--import json
  import argparse
- from dlab.actions_lib import *
- from dlab.meta_lib import *
++import json
 +import sys
- from botocore.exceptions import ClientError
- 
+ from datalab.actions_lib import *
+ from datalab.meta_lib import *
 -import sys
 -from botocore.exceptions import ClientError
 -
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--name', type=str, default='')
diff --cc infrastructure-provisioning/src/general/scripts/aws/common_create_subnet.py
index 83dd48a,d5b560b..6bc4598
--- a/infrastructure-provisioning/src/general/scripts/aws/common_create_subnet.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/common_create_subnet.py
@@@ -22,14 -22,14 +22,13 @@@
  # ******************************************************************************
  
  import argparse
- import json
- from botocore import exceptions
- from dlab.actions_lib import *
- from dlab.meta_lib import *
- import sys
 +import boto3
 +import ipaddress
- 
+ import json
++import sys
+ from botocore import exceptions
+ from datalab.actions_lib import *
+ from datalab.meta_lib import *
 -import sys
 -import boto3
 -import ipaddress
 -
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--vpc_id', type=str, default='')
diff --cc infrastructure-provisioning/src/general/scripts/aws/common_download_git_certfile.py
index 8051e6d,ae9f28d..2e5efeb
--- a/infrastructure-provisioning/src/general/scripts/aws/common_download_git_certfile.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/common_download_git_certfile.py
@@@ -22,10 -22,10 +22,9 @@@
  # ******************************************************************************
  
  import argparse
- from dlab.actions_lib import *
- from fabric.api import *
 +import os
- 
+ from datalab.actions_lib import *
+ from fabric.api import *
 -import os
 -
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--keyfile', type=str, default='')
@@@ -33,7 -33,7 +32,6 @@@ parser.add_argument('--notebook_ip', ty
  parser.add_argument('--os_user', type=str, default='')
  args = parser.parse_args()
  
--
  if __name__ == "__main__":
      create_aws_config_files()
      env.hosts = "{}".format(args.notebook_ip)
diff --cc infrastructure-provisioning/src/general/scripts/aws/common_notebook_configure_dataengine-service.py
index 1d0df4f,decc617..ec2e42d
--- a/infrastructure-provisioning/src/general/scripts/aws/common_notebook_configure_dataengine-service.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/common_notebook_configure_dataengine-service.py
@@@ -21,24 -21,24 +21,23 @@@
  #
  # ******************************************************************************
  
--import logging
 -import json
 -import sys
 -import datalab.fab
+ import datalab.actions_lib
++import datalab.fab
+ import datalab.meta_lib
 -import traceback
 +import json
++import logging
+ import os
 -import uuid
 +import sys
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
 +import traceback
- import os
- import uuid
  from fabric.api import *
  
  
  def clear_resources():
-     emr_id = dlab.meta_lib.get_emr_id_by_name(notebook_config['cluster_name'])
-     dlab.actions_lib.terminate_emr(emr_id)
-     dlab.actions_lib. remove_kernels(notebook_config['cluster_name'], notebook_config['tag_name'],
-                                      os.environ['notebook_instance_name'], os.environ['conf_os_user'],
-                                      notebook_config['key_path'], os.environ['emr_version'])
+     emr_id = datalab.meta_lib.get_emr_id_by_name(notebook_config['cluster_name'])
+     datalab.actions_lib.terminate_emr(emr_id)
 -    datalab.actions_lib. remove_kernels(notebook_config['cluster_name'], notebook_config['tag_name'],
 -                                     os.environ['notebook_instance_name'], os.environ['conf_os_user'],
 -                                     notebook_config['key_path'], os.environ['emr_version'])
++    datalab.actions_lib.remove_kernels(notebook_config['cluster_name'], notebook_config['tag_name'],
++                                       os.environ['notebook_instance_name'], os.environ['conf_os_user'],
++                                       notebook_config['key_path'], os.environ['emr_version'])
  
  
  if __name__ == "__main__":
@@@ -50,28 -50,28 +49,29 @@@
                          filename=local_log_filepath)
      try:
          # generating variables dictionary
-         dlab.actions_lib.create_aws_config_files()
+         datalab.actions_lib.create_aws_config_files()
          print('Generating infrastructure names and tags')
          notebook_config = dict()
-         notebook_config['service_base_name'] = os.environ['conf_service_base_name'] = dlab.fab.replace_multi_symbols(
-                 os.environ['conf_service_base_name'][:20], '-', True)
+         notebook_config['service_base_name'] = os.environ['conf_service_base_name'] = datalab.fab.replace_multi_symbols(
 -                os.environ['conf_service_base_name'][:20], '-', True)
++            os.environ['conf_service_base_name'][:20], '-', True)
          notebook_config['notebook_name'] = os.environ['notebook_instance_name']
          notebook_config['tag_name'] = notebook_config['service_base_name'] + '-tag'
          notebook_config['project_name'] = os.environ['project_name']
          notebook_config['endpoint_name'] = os.environ['endpoint_name']
          notebook_config['bucket_name'] = '{0}-{1}-{2}-bucket'.format(notebook_config['service_base_name'],
--                                                                      notebook_config['project_name'],
--                                                                      notebook_config['endpoint_name']
++                                                                     notebook_config['project_name'],
++                                                                     notebook_config['endpoint_name']
                                                                       ).lower().replace('_', '-')
-         notebook_config['cluster_name'] = dlab.meta_lib.get_not_configured_emr(notebook_config['tag_name'],
-                                                                                notebook_config['notebook_name'], True)
-         notebook_config['notebook_ip'] = dlab.meta_lib.get_instance_ip_address(
+         notebook_config['cluster_name'] = datalab.meta_lib.get_not_configured_emr(notebook_config['tag_name'],
 -                                                                               notebook_config['notebook_name'], True)
++                                                                                  notebook_config['notebook_name'],
++                                                                                  True)
+         notebook_config['notebook_ip'] = datalab.meta_lib.get_instance_ip_address(
              notebook_config['tag_name'], notebook_config['notebook_name']).get('Private')
          notebook_config['key_path'] = os.environ['conf_key_dir'] + '/' + os.environ['conf_key_name'] + '.pem'
-         notebook_config['cluster_id'] = dlab.meta_lib.get_emr_id_by_name(notebook_config['cluster_name'])
+         notebook_config['cluster_id'] = datalab.meta_lib.get_emr_id_by_name(notebook_config['cluster_name'])
          edge_instance_name = '{}-{}-{}-edge'.format(notebook_config['service_base_name'],
                                                      os.environ['project_name'], os.environ['endpoint_name'])
-         edge_instance_hostname = dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'], edge_instance_name)
+         edge_instance_hostname = datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'], edge_instance_name)
          if os.environ['application'] == 'deeplearning':
              application = 'jupyter'
          else:
@@@ -94,9 -94,9 +94,9 @@@
                      os.environ['application'], os.environ['conf_pypi_mirror'])
          try:
              local("~/scripts/{}_{}.py {}".format(application, 'install_dataengine-service_kernels', params))
-             dlab.actions_lib.remove_emr_tag(notebook_config['cluster_id'], ['State'])
-             dlab.actions_lib.tag_emr_volume(notebook_config['cluster_id'], notebook_config['cluster_name'],
-                                             os.environ['conf_tag_resource_id'])
+             datalab.actions_lib.remove_emr_tag(notebook_config['cluster_id'], ['State'])
+             datalab.actions_lib.tag_emr_volume(notebook_config['cluster_id'], notebook_config['cluster_name'],
 -                                            os.environ['conf_tag_resource_id'])
++                                               os.environ['conf_tag_resource_id'])
          except:
              traceback.print_exc()
              raise Exception
@@@ -116,9 -116,9 +116,9 @@@
                      os.environ['conf_os_user'])
          try:
              local("~/scripts/{0}.py {1}".format('common_configure_spark', params))
-             dlab.actions_lib.remove_emr_tag(notebook_config['cluster_id'], ['State'])
-             dlab.actions_lib.tag_emr_volume(notebook_config['cluster_id'], notebook_config['cluster_name'],
-                                             os.environ['conf_tag_resource_id'])
+             datalab.actions_lib.remove_emr_tag(notebook_config['cluster_id'], ['State'])
+             datalab.actions_lib.tag_emr_volume(notebook_config['cluster_id'], notebook_config['cluster_name'],
 -                                            os.environ['conf_tag_resource_id'])
++                                               os.environ['conf_tag_resource_id'])
          except:
              traceback.print_exc()
              raise Exception
diff --cc infrastructure-provisioning/src/general/scripts/aws/common_notebook_configure_dataengine.py
index c80328b,7ea51e3..c1f53b9
--- a/infrastructure-provisioning/src/general/scripts/aws/common_notebook_configure_dataengine.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/common_notebook_configure_dataengine.py
@@@ -21,15 -21,15 +21,14 @@@
  #
  # ******************************************************************************
  
--import logging
 -import json
 -import sys
 -import datalab.fab
+ import datalab.actions_lib
++import datalab.fab
+ import datalab.meta_lib
 -import traceback
 +import json
++import logging
+ import os
 -import uuid
 +import sys
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
 +import traceback
- import os
- import uuid
  from fabric.api import *
  
  
diff --cc infrastructure-provisioning/src/general/scripts/aws/common_prepare_notebook.py
index 5a1a6f0,e817ff1..9724d56
--- a/infrastructure-provisioning/src/general/scripts/aws/common_prepare_notebook.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/common_prepare_notebook.py
@@@ -21,15 -21,15 +21,13 @@@
  #
  # ******************************************************************************
  
--import logging
++import argparse
++import datalab.meta_lib
  import json
--import sys
++import logging
  import os
--import argparse
++import sys
  import traceback
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
 -import datalab.fab
 -import datalab.actions_lib
 -import datalab.meta_lib
  from fabric.api import *
  
  parser = argparse.ArgumentParser()
@@@ -54,17 -54,17 +52,18 @@@ if __name__ == "__main__"
          notebook_config['edge_name'] = '{}-{}-{}-edge'.format(notebook_config['service_base_name'],
                                                                notebook_config['project_name'],
                                                                notebook_config['endpoint_name'])
-         edge_status = dlab.meta_lib.get_instance_status(notebook_config['service_base_name'] + '-tag',
-                                                         notebook_config['edge_name'])
+         edge_status = datalab.meta_lib.get_instance_status(notebook_config['service_base_name'] + '-tag',
 -                                                        notebook_config['edge_name'])
++                                                           notebook_config['edge_name'])
          if edge_status != 'running':
              logging.info('ERROR: Edge node is unavailable! Aborting...')
              print('ERROR: Edge node is unavailable! Aborting...')
-             notebook_config['ssn_hostname'] = dlab.meta_lib.get_instance_hostname(
+             notebook_config['ssn_hostname'] = datalab.meta_lib.get_instance_hostname(
                  '{}-tag'.format(notebook_config['service_base_name']),
                  '{}-ssn'.format(notebook_config['service_base_name']))
-             dlab.fab.put_resource_status('edge', 'Unavailable', os.environ['ssn_dlab_path'], os.environ['conf_os_user'],
 -            datalab.fab.put_resource_status('edge', 'Unavailable', os.environ['ssn_datalab_path'], os.environ['conf_os_user'],
--                                         notebook_config['ssn_hostname'])
-             dlab.fab.append_result("Edge node is unavailable")
++            datalab.fab.put_resource_status('edge', 'Unavailable', os.environ['ssn_datalab_path'],
++                                            os.environ['conf_os_user'],
++                                            notebook_config['ssn_hostname'])
+             datalab.fab.append_result("Edge node is unavailable")
              sys.exit(1)
          print('Generating infrastructure names and tags')
          try:
@@@ -138,13 -138,13 +137,13 @@@
          params = "--node_name {} --ami_id {} --instance_type {} --key_name {} --security_group_ids {} --subnet_id {} " \
                   "--iam_profile {} --infra_tag_name {} --infra_tag_value {} --instance_class {} " \
                   "--instance_disk_size {} --primary_disk_size {}" .format(
--                  notebook_config['instance_name'], notebook_config['ami_id'], notebook_config['instance_type'],
--                  notebook_config['key_name'],
-                   dlab.meta_lib.get_security_group_by_name(notebook_config['security_group_name']),
-                   dlab.meta_lib.get_subnet_by_cidr(notebook_config['subnet_cidr'], os.environ['aws_notebook_vpc_id']),
 -                  datalab.meta_lib.get_security_group_by_name(notebook_config['security_group_name']),
 -                  datalab.meta_lib.get_subnet_by_cidr(notebook_config['subnet_cidr'], os.environ['aws_notebook_vpc_id']),
--                  notebook_config['role_profile_name'],
--                  notebook_config['tag_name'], notebook_config['instance_name'], instance_class,
--                  os.environ['notebook_disk_size'], notebook_config['primary_disk_size'])
++            notebook_config['instance_name'], notebook_config['ami_id'], notebook_config['instance_type'],
++            notebook_config['key_name'],
++            datalab.meta_lib.get_security_group_by_name(notebook_config['security_group_name']),
++            datalab.meta_lib.get_subnet_by_cidr(notebook_config['subnet_cidr'], os.environ['aws_notebook_vpc_id']),
++            notebook_config['role_profile_name'],
++            notebook_config['tag_name'], notebook_config['instance_name'], instance_class,
++            os.environ['notebook_disk_size'], notebook_config['primary_disk_size'])
          try:
              local("~/scripts/{}.py {}".format('common_create_instance', params))
  
@@@ -152,6 -152,6 +151,5 @@@
              traceback.print_exc()
              raise Exception
      except Exception as err:
-         dlab.fab.append_result("Failed to create instance.", str(err))
+         datalab.fab.append_result("Failed to create instance.", str(err))
          sys.exit(1)
--
diff --cc infrastructure-provisioning/src/general/scripts/aws/common_put_to_bucket.py
index 8f433fe,8a94e4d..9ccb627
--- a/infrastructure-provisioning/src/general/scripts/aws/common_put_to_bucket.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/common_put_to_bucket.py
@@@ -22,8 -22,8 +22,8 @@@
  # ******************************************************************************
  
  import argparse
- from dlab.actions_lib import *
 -from datalab.actions_lib import *
  import sys
++from datalab.actions_lib import *
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--bucket_name', type=str, default='')
diff --cc infrastructure-provisioning/src/general/scripts/aws/common_remove_remote_kernels.py
index 826bff4,a1f91f0..00b7900
--- a/infrastructure-provisioning/src/general/scripts/aws/common_remove_remote_kernels.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/common_remove_remote_kernels.py
@@@ -21,12 -21,12 +21,11 @@@
  #
  # ******************************************************************************
  
--import os
--import sys
  import argparse
 -from fabric.api import *
 -from datalab.fab import find_cluster_kernels
++import sys
+ from datalab.actions_lib import *
++from datalab.fab import find_cluster_kernels
 +from fabric.api import *
- from dlab.fab import find_cluster_kernels
- from dlab.actions_lib import *
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--hostname', type=str, default='')
diff --cc infrastructure-provisioning/src/general/scripts/aws/common_reupload_key.py
index 3fd8adf,16f0039..24a4d6d
--- a/infrastructure-provisioning/src/general/scripts/aws/common_reupload_key.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/common_reupload_key.py
@@@ -23,11 -23,11 +23,10 @@@
  
  
  import argparse
 -from fabric.api import *
+ from datalab.actions_lib import *
 -from datalab.meta_lib import *
+ from datalab.fab import *
 -import json
++from datalab.meta_lib import *
 +from fabric.api import *
- from dlab.actions_lib import *
- from dlab.meta_lib import *
- from dlab.fab import *
- import json
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--conf_resource', type=str, default='')
diff --cc infrastructure-provisioning/src/general/scripts/aws/common_start_notebook.py
index d153082,a194955..aa97171
--- a/infrastructure-provisioning/src/general/scripts/aws/common_start_notebook.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/common_start_notebook.py
@@@ -21,19 -21,19 +21,14 @@@
  #
  # ******************************************************************************
  
--import logging
++import datalab.meta_lib
  import json
++import logging
++import os
  import sys
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
 -import datalab.fab
 -import datalab.actions_lib
 -import datalab.meta_lib
  import traceback
--import os
--import uuid
--import argparse
  from fabric.api import *
  
--
  if __name__ == "__main__":
      local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['project_name'],
                                                 os.environ['request_id'])
@@@ -95,9 -95,9 +90,9 @@@
          sys.exit(1)
  
      try:
-         ip_address = dlab.meta_lib.get_instance_ip_address(notebook_config['tag_name'],
-                                                            notebook_config['notebook_name']).get('Private')
-         dns_name = dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'], notebook_config['notebook_name'])
+         ip_address = datalab.meta_lib.get_instance_ip_address(notebook_config['tag_name'],
 -                                                           notebook_config['notebook_name']).get('Private')
++                                                              notebook_config['notebook_name']).get('Private')
+         dns_name = datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'], notebook_config['notebook_name'])
          print('[SUMMARY]')
          logging.info('[SUMMARY]')
          print("Instance name: {}".format(notebook_config['notebook_name']))
@@@ -112,7 -112,7 +107,5 @@@
              print(json.dumps(res))
              result.write(json.dumps(res))
      except Exception as err:
-         dlab.fab.append_result("Error with writing results", str(err))
+         datalab.fab.append_result("Error with writing results", str(err))
          sys.exit(1)
--
--
diff --cc infrastructure-provisioning/src/general/scripts/aws/common_stop_notebook.py
index 679d4eb,cb6b213..f890f40
--- a/infrastructure-provisioning/src/general/scripts/aws/common_stop_notebook.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/common_stop_notebook.py
@@@ -21,19 -21,19 +21,15 @@@
  #
  # ******************************************************************************
  
--import logging
 -import json
 -import sys
 -import datalab.fab
++import boto3
+ import datalab.actions_lib
++import datalab.fab
+ import datalab.meta_lib
 -from fabric.api import *
 -import traceback
 +import json
- import sys
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
- from fabric.api import *
- import traceback
++import logging
  import os
--import uuid
--import boto3
--import argparse
  import sys
++from fabric.api import *
  
  
  def stop_notebook(nb_tag_value, bucket_name, tag_name, ssh_user, key_path):
@@@ -51,12 -51,12 +47,12 @@@
                  for tag in cluster.get('Tags'):
                      if tag.get('Key') == 'ComputationalName':
                          computational_name = tag.get('Value')
-                 dlab.actions_lib.s3_cleanup(bucket_name, emr_name, os.environ['project_name'])
+                 datalab.actions_lib.s3_cleanup(bucket_name, emr_name, os.environ['project_name'])
                  print("The bucket {} has been cleaned successfully".format(bucket_name))
-                 dlab.actions_lib.terminate_emr(cluster_id)
+                 datalab.actions_lib.terminate_emr(cluster_id)
                  print("The EMR cluster {} has been terminated successfully".format(emr_name))
-                 dlab.actions_lib.remove_kernels(emr_name, tag_name, nb_tag_value, ssh_user, key_path, emr_version,
-                                                 computational_name)
+                 datalab.actions_lib.remove_kernels(emr_name, tag_name, nb_tag_value, ssh_user, key_path, emr_version,
 -                                                computational_name)
++                                                   computational_name)
                  print("{} kernels have been removed from notebook successfully".format(emr_name))
          else:
              print("There are no EMR clusters to terminate.")
@@@ -130,6 -130,6 +126,5 @@@ if __name__ == "__main__"
              print(json.dumps(res))
              result.write(json.dumps(res))
      except Exception as err:
-         dlab.fab.append_result("Error with writing results", str(err))
+         datalab.fab.append_result("Error with writing results", str(err))
          sys.exit(1)
--
diff --cc infrastructure-provisioning/src/general/scripts/aws/common_terminate_notebook.py
index c199089,4a7be6e..ca0af77
--- a/infrastructure-provisioning/src/general/scripts/aws/common_terminate_notebook.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/common_terminate_notebook.py
@@@ -21,16 -21,16 +21,15 @@@
  #
  # ******************************************************************************
  
--import logging
 -import json
 -import sys
 -import datalab.fab
++import boto3
+ import datalab.actions_lib
++import datalab.fab
+ import datalab.meta_lib
 -import traceback
 +import json
++import logging
+ import os
 -import boto3
 -import uuid
 +import sys
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
 +import traceback
- import os
- import boto3
- import uuid
  
  
  def terminate_nb(nb_tag_value, bucket_name, tag_name):
diff --cc infrastructure-provisioning/src/general/scripts/aws/common_terminate_notebook_image.py
index 3da4f63,3a1a1b6..cefc22e
--- a/infrastructure-provisioning/src/general/scripts/aws/common_terminate_notebook_image.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/common_terminate_notebook_image.py
@@@ -21,13 -21,13 +21,10 @@@
  #
  # ******************************************************************************
  
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
- import sys
 -import datalab.fab
 -import datalab.actions_lib
+ import datalab.meta_lib
 -import sys
  import json
  import os
--
++import sys
  
  if __name__ == "__main__":
      try:
diff --cc infrastructure-provisioning/src/general/scripts/aws/dataengine-service_configure.py
index 147247a,1088e41..eed5b4a
--- a/infrastructure-provisioning/src/general/scripts/aws/dataengine-service_configure.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/dataengine-service_configure.py
@@@ -21,20 -21,20 +21,18 @@@
  #
  # ******************************************************************************
  
 -import json
 -import time
 -from fabric.api import *
 -import datalab.fab
++import argparse
+ import datalab.actions_lib
++import datalab.fab
+ import datalab.meta_lib
 -import traceback
 -import sys
 -import os
 +import json
- import time
- from fabric.api import *
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
- import traceback
- import sys
- import os
  import logging
--import argparse
  import multiprocessing
- from dlab.common_lib import manage_pkg
- 
++import os
++import sys
++import traceback
+ from datalab.common_lib import manage_pkg
 -
++from fabric.api import *
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--uuid', type=str, default='')
@@@ -81,8 -81,8 +79,8 @@@ def configure_dataengine_service(instan
          logging.info('[CONFIGURE DATAENGINE SERVICE]')
          print('[CONFIGURE DATAENGINE SERVICE]')
          try:
-             dlab.fab.configure_data_engine_service_pip(emr_conf['instance_ip'], emr_conf['os_user'],
-                                                        emr_conf['key_path'], True)
+             datalab.fab.configure_data_engine_service_pip(emr_conf['instance_ip'], emr_conf['os_user'],
 -                                                       emr_conf['key_path'], True)
++                                                          emr_conf['key_path'], True)
              env['connection_attempts'] = 100
              env.key_filename = emr_conf['key_path']
              env.host_string = emr_conf['os_user'] + '@' + emr_conf['instance_ip']
@@@ -217,16 -217,16 +215,16 @@@ if __name__ == "__main__"
                                                                                     emr_conf['project_name'],
                                                                                     emr_conf['endpoint_name'])
          emr_conf['vpc_id'] = os.environ['aws_vpc_id']
-         emr_conf['cluster_id'] = dlab.meta_lib.get_emr_id_by_name(emr_conf['cluster_name'])
-         emr_conf['cluster_instances'] = dlab.meta_lib.get_emr_instances_list(emr_conf['cluster_id'])
-         emr_conf['cluster_master_instances'] = dlab.meta_lib.get_emr_instances_list(emr_conf['cluster_id'], 'MASTER')
-         emr_conf['cluster_core_instances'] = dlab.meta_lib.get_emr_instances_list(emr_conf['cluster_id'], 'CORE')
+         emr_conf['cluster_id'] = datalab.meta_lib.get_emr_id_by_name(emr_conf['cluster_name'])
+         emr_conf['cluster_instances'] = datalab.meta_lib.get_emr_instances_list(emr_conf['cluster_id'])
+         emr_conf['cluster_master_instances'] = datalab.meta_lib.get_emr_instances_list(emr_conf['cluster_id'], 'MASTER')
+         emr_conf['cluster_core_instances'] = datalab.meta_lib.get_emr_instances_list(emr_conf['cluster_id'], 'CORE')
          emr_conf['edge_instance_name'] = '{0}-{1}-{2}-edge'.format(emr_conf['service_base_name'],
                                                                     emr_conf['project_name'], emr_conf['endpoint_name'])
-         emr_conf['edge_instance_hostname'] = dlab.meta_lib.get_instance_private_ip_address(
+         emr_conf['edge_instance_hostname'] = datalab.meta_lib.get_instance_private_ip_address(
              emr_conf['tag_name'], emr_conf['edge_instance_name'])
-         emr_conf['edge_instance_hostname'] = dlab.meta_lib.get_instance_hostname(emr_conf['tag_name'],
-                                                                                  emr_conf['edge_instance_name'])
+         emr_conf['edge_instance_hostname'] = datalab.meta_lib.get_instance_hostname(emr_conf['tag_name'],
 -                                                                                 emr_conf['edge_instance_name'])
++                                                                                    emr_conf['edge_instance_name'])
          emr_conf['user_keyname'] = emr_conf['project_name']
          emr_conf['os_user'] = os.environ['conf_os_user']
          emr_conf['initial_user'] = 'ec2-user'
@@@ -280,8 -280,8 +278,8 @@@
                     "computational_url": [
                         {"description": "EMR Master",
                          "url": emr_master_acces_url},
--                       #{"description": "EMR Master (via tunnl)",
--                        #"url": emr_master_url}
++                       # {"description": "EMR Master (via tunnl)",
++                       # "url": emr_master_url}
                     ]}
              print(json.dumps(res))
              result.write(json.dumps(res))
diff --cc infrastructure-provisioning/src/general/scripts/aws/dataengine-service_create.py
index 0cdba1f,df9d989..86c430c
--- a/infrastructure-provisioning/src/general/scripts/aws/dataengine-service_create.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/dataengine-service_create.py
@@@ -21,19 -21,19 +21,18 @@@
  #
  # ******************************************************************************
  
--import boto3
--from botocore.client import Config
  import argparse
++import ast
++import boto3
++import logging
  import re
--import time
  import sys
--from fabric.api import *
- from dlab.meta_lib import *
- from dlab.actions_lib import *
 -from datalab.meta_lib import *
 -from datalab.actions_lib import *
--import json
++import time
  import traceback
--import logging
--import ast
++from botocore.client import Config
++from datalab.actions_lib import *
++from datalab.meta_lib import *
++from fabric.api import *
  
  parser = argparse.ArgumentParser()
  # parser.add_argument('--id', type=str, default='')
@@@ -41,8 -41,8 +40,10 @@@ parser.add_argument('--dry_run', action
  parser.add_argument('--name', type=str, default='', help='Name to be applied to Cluster ( MANDATORY !!! )')
  parser.add_argument('--applications', type=str, default='',
                      help='Set of applications to be installed on EMR (Default are: "Hadoop Hive Hue Spark Livy")')
--parser.add_argument('--master_instance_type', type=str, default='', help='EC2 instance size for Master-Node (Default: m3.xlarge)')
--parser.add_argument('--slave_instance_type', type=str, default='', help='EC2 instance size for Worker-Nodes (Default: m3.xlarge)')
++parser.add_argument('--master_instance_type', type=str, default='',
++                    help='EC2 instance size for Master-Node (Default: m3.xlarge)')
++parser.add_argument('--slave_instance_type', type=str, default='',
++                    help='EC2 instance size for Worker-Nodes (Default: m3.xlarge)')
  parser.add_argument('--instance_count', type=int, default='',
                      help='Number of nodes the cluster will consist of (Default: 3)')
  parser.add_argument('--release_label', type=str, default='', help='EMR release version (Default: "emr-4.8.0")')
diff --cc infrastructure-provisioning/src/general/scripts/aws/dataengine-service_install_libs.py
index a8a1e47,a69b140..04a9107
--- a/infrastructure-provisioning/src/general/scripts/aws/dataengine-service_install_libs.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/dataengine-service_install_libs.py
@@@ -21,20 -21,20 +21,20 @@@
  #
  # ******************************************************************************
  
++import logging
++import multiprocessing
  import os
  import sys
--import logging
  import traceback
- from dlab.fab import *
- from dlab.meta_lib import *
- from dlab.actions_lib import *
++from datalab.actions_lib import *
+ from datalab.fab import *
+ from datalab.meta_lib import *
 -from datalab.actions_lib import *
  from fabric.api import *
--import multiprocessing
  
  
  def install_libs(instance, data_engine):
      data_engine['instance_ip'] = instance.get('PrivateIpAddress')
--    params = '--os_user {} --instance_ip {} --keyfile "{}" --libs "{}"'\
++    params = '--os_user {} --instance_ip {} --keyfile "{}" --libs "{}"' \
          .format(data_engine['os_user'], data_engine['instance_ip'],
                  data_engine['keyfile'], data_engine['libs'])
      try:
diff --cc infrastructure-provisioning/src/general/scripts/aws/dataengine-service_list_libs.py
index 9360375,a9c5364..0a80431
--- a/infrastructure-provisioning/src/general/scripts/aws/dataengine-service_list_libs.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/dataengine-service_list_libs.py
@@@ -21,13 -21,13 +21,13 @@@
  #
  # ******************************************************************************
  
++import logging
  import os
  import sys
--import logging
  import traceback
- from dlab.fab import *
- from dlab.meta_lib import *
- from dlab.actions_lib import *
++from datalab.actions_lib import *
+ from datalab.fab import *
+ from datalab.meta_lib import *
 -from datalab.actions_lib import *
  from fabric.api import *
  
  if __name__ == "__main__":
diff --cc infrastructure-provisioning/src/general/scripts/aws/dataengine-service_prepare.py
index 3a08ba4,ecb3ed1..faf97c8
--- a/infrastructure-provisioning/src/general/scripts/aws/dataengine-service_prepare.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/dataengine-service_prepare.py
@@@ -21,24 -21,24 +21,20 @@@
  #
  # ******************************************************************************
  
++import argparse
++import datalab.meta_lib
  import json
++import logging
++import os
++import sys
  import time
--from fabric.api import *
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
 -import datalab.fab
 -import datalab.actions_lib
 -import datalab.meta_lib
  import traceback
--import argparse
--import sys
--import os
--import logging
--
++from fabric.api import *
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--uuid', type=str, default='')
  args = parser.parse_args()
  
--
  if __name__ == "__main__":
      local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['project_name'],
                                                 os.environ['request_id'])
@@@ -65,13 -65,13 +61,13 @@@
          if edge_status != 'running':
              logging.info('ERROR: Edge node is unavailable! Aborting...')
              print('ERROR: Edge node is unavailable! Aborting...')
-             ssn_hostname = dlab.meta_lib.get_instance_hostname(
+             ssn_hostname = datalab.meta_lib.get_instance_hostname(
                  emr_conf['service_base_name'] + '-tag',
                  emr_conf['service_base_name'] + '-ssn')
-             dlab.fab.put_resource_status('edge', 'Unavailable',
-                                          os.environ['ssn_dlab_path'],
-                                          os.environ['conf_os_user'], ssn_hostname)
-             dlab.fab.append_result("Edge node is unavailable")
+             datalab.fab.put_resource_status('edge', 'Unavailable',
 -                                         os.environ['ssn_datalab_path'],
 -                                         os.environ['conf_os_user'], ssn_hostname)
++                                            os.environ['ssn_datalab_path'],
++                                            os.environ['conf_os_user'], ssn_hostname)
+             datalab.fab.append_result("Edge node is unavailable")
              sys.exit(1)
          print('Generating infrastructure names and tags')
          if 'computational_name' in os.environ:
diff --cc infrastructure-provisioning/src/general/scripts/aws/dataengine-service_terminate.py
index e9551e3,d6b86f5..0820e39
--- a/infrastructure-provisioning/src/general/scripts/aws/dataengine-service_terminate.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/dataengine-service_terminate.py
@@@ -21,16 -21,16 +21,15 @@@
  #
  # ******************************************************************************
  
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
 -import datalab.fab
 +import boto3
+ import datalab.actions_lib
++import datalab.fab
+ import datalab.meta_lib
 -import boto3
++import json
  import logging
--import argparse
--import sys
  import os
++import sys
  import traceback
--import json
  
  
  def terminate_emr_cluster(emr_name, bucket_name, tag_name, nb_tag_value, ssh_user, key_path):
@@@ -48,13 -48,13 +47,13 @@@
                  for tag in cluster.get('Tags'):
                      if tag.get('Key') == 'ComputationalName':
                          computational_name = tag.get('Value')
-                 dlab.actions_lib.s3_cleanup(bucket_name, emr_name, os.environ['project_name'])
+                 datalab.actions_lib.s3_cleanup(bucket_name, emr_name, os.environ['project_name'])
                  print("The bucket {} has been cleaned successfully".format(bucket_name))
-                 dlab.actions_lib.terminate_emr(cluster_id)
+                 datalab.actions_lib.terminate_emr(cluster_id)
                  print("The EMR cluster {} has been terminated successfully".format(emr_name))
                  print("Removing EMR kernels from notebook")
-                 dlab.actions_lib.remove_kernels(emr_name, tag_name, nb_tag_value, ssh_user, key_path,
-                                                 emr_version, computational_name)
+                 datalab.actions_lib.remove_kernels(emr_name, tag_name, nb_tag_value, ssh_user, key_path,
 -                                                emr_version, computational_name)
++                                                   emr_version, computational_name)
          else:
              print("There are no EMR clusters to terminate.")
      except:
diff --cc infrastructure-provisioning/src/general/scripts/aws/dataengine_configure.py
index e0a4f0c,0aecbc2..d34c94e
--- a/infrastructure-provisioning/src/general/scripts/aws/dataengine_configure.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/dataengine_configure.py
@@@ -21,19 -21,19 +21,16 @@@
  #
  # ******************************************************************************
  
 -import json
 -import time
 -from fabric.api import *
 -import datalab.fab
+ import datalab.actions_lib
++import datalab.fab
+ import datalab.meta_lib
 -import traceback
 -import sys
 -import os
 -import uuid
 +import json
- import time
- from fabric.api import *
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
- import traceback
- import sys
- import os
- import uuid
  import logging
--from Crypto.PublicKey import RSA
  import multiprocessing
++import os
++import sys
++import traceback
++from fabric.api import *
  
  
  def configure_slave(slave_number, data_engine):
@@@ -193,18 -193,18 +190,18 @@@ if __name__ == "__main__"
          data_engine['notebook_dataengine_role_profile_name'] = '{}-{}-{}-nb-de-profile' \
              .format(data_engine['service_base_name'], data_engine['project_name'], data_engine['endpoint_name'])
          data_engine['instance_count'] = int(os.environ['dataengine_instance_count'])
-         master_node_hostname = dlab.meta_lib.get_instance_hostname(data_engine['tag_name'],
-                                                                    data_engine['master_node_name'])
-         data_engine['dlab_ssh_user'] = os.environ['conf_os_user']
+         master_node_hostname = datalab.meta_lib.get_instance_hostname(data_engine['tag_name'],
 -                                                                   data_engine['master_node_name'])
++                                                                      data_engine['master_node_name'])
+         data_engine['datalab_ssh_user'] = os.environ['conf_os_user']
          data_engine['user_keyname'] = data_engine['project_name']
          keyfile_name = "{}{}.pem".format(os.environ['conf_key_dir'], os.environ['conf_key_name'])
          edge_instance_name = '{0}-{1}-{2}-edge'.format(data_engine['service_base_name'],
                                                         data_engine['project_name'], data_engine['endpoint_name'])
-         edge_instance_hostname = dlab.meta_lib.get_instance_hostname(data_engine['tag_name'], edge_instance_name)
-         edge_instance_private_ip = dlab.meta_lib.get_instance_ip_address(data_engine['tag_name'],
-                                                                          edge_instance_name).get('Private')
-         data_engine['edge_instance_hostname'] = dlab.meta_lib.get_instance_hostname(data_engine['tag_name'],
-                                                                                     edge_instance_name)
+         edge_instance_hostname = datalab.meta_lib.get_instance_hostname(data_engine['tag_name'], edge_instance_name)
+         edge_instance_private_ip = datalab.meta_lib.get_instance_ip_address(data_engine['tag_name'],
 -                                                                         edge_instance_name).get('Private')
++                                                                            edge_instance_name).get('Private')
+         data_engine['edge_instance_hostname'] = datalab.meta_lib.get_instance_hostname(data_engine['tag_name'],
 -                                                                                    edge_instance_name)
++                                                                                       edge_instance_name)
          if os.environ['conf_os_family'] == 'debian':
              data_engine['initial_user'] = 'ubuntu'
              data_engine['sudo_group'] = 'sudo'
@@@ -275,8 -275,8 +272,8 @@@
      try:
          logging.info('[INSTALLING PREREQUISITES ON MASTER NODE]')
          print('[INSTALLING PREREQUISITES ON MASTER NODE]')
--        params = "--hostname {} --keyfile {} --user {} --region {} --edge_private_ip {}".\
-             format(master_node_hostname, keyfile_name, data_engine['dlab_ssh_user'], data_engine['region'],
++        params = "--hostname {} --keyfile {} --user {} --region {} --edge_private_ip {}". \
+             format(master_node_hostname, keyfile_name, data_engine['datalab_ssh_user'], data_engine['region'],
                     edge_instance_private_ip)
          try:
              local("~/scripts/{}.py {}".format('install_prerequisites', params))
@@@ -342,8 -342,8 +339,8 @@@
      try:
          print('[SETUP EDGE REVERSE PROXY TEMPLATE]')
          logging.info('[SETUP EDGE REVERSE PROXY TEMPLATE]')
-         notebook_instance_ip = dlab.meta_lib.get_instance_private_ip_address('Name',
-                                                                              os.environ['notebook_instance_name'])
+         notebook_instance_ip = datalab.meta_lib.get_instance_private_ip_address('Name',
 -                                                                             os.environ['notebook_instance_name'])
++                                                                                os.environ['notebook_instance_name'])
          additional_info = {
              "computational_name": data_engine['computational_name'],
              "master_node_hostname": master_node_hostname,
@@@ -376,8 -376,8 +373,8 @@@
          sys.exit(1)
  
      try:
-         ip_address = dlab.meta_lib.get_instance_ip_address(data_engine['tag_name'],
-                                                            data_engine['master_node_name']).get('Private')
+         ip_address = datalab.meta_lib.get_instance_ip_address(data_engine['tag_name'],
 -                                                           data_engine['master_node_name']).get('Private')
++                                                              data_engine['master_node_name']).get('Private')
          spark_master_url = "http://" + ip_address + ":8080"
          spark_master_access_url = "https://{}/{}_{}/".format(data_engine['edge_instance_hostname'],
                                                               data_engine['exploratory_name'],
@@@ -392,8 -392,8 +389,8 @@@
          print("Instance count: {}".format(str(data_engine['instance_count'])))
          with open("/root/result.json", 'w') as result:
              res = {"hostname": data_engine['cluster_name'],
-                    "instance_id": dlab.meta_lib.get_instance_by_name(data_engine['tag_name'],
-                                                                      data_engine['master_node_name']),
+                    "instance_id": datalab.meta_lib.get_instance_by_name(data_engine['tag_name'],
 -                                                                     data_engine['master_node_name']),
++                                                                        data_engine['master_node_name']),
                     "key_name": data_engine['key_name'],
                     "Action": "Create new Data Engine",
                     "computational_url": [
diff --cc infrastructure-provisioning/src/general/scripts/aws/dataengine_prepare.py
index ad19f7a,b9d5cb8..27e2eef
--- a/infrastructure-provisioning/src/general/scripts/aws/dataengine_prepare.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/dataengine_prepare.py
@@@ -21,20 -21,20 +21,13 @@@
  #
  # ******************************************************************************
  
 -import json
 -import time
 -from fabric.api import *
 -import datalab.fab
 -import datalab.actions_lib
+ import datalab.meta_lib
 -import traceback
 -import sys
 -import os
 -import uuid
 +import json
- import time
- from fabric.api import *
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
- import traceback
- import sys
- import os
- import uuid
  import logging
--from Crypto.PublicKey import RSA
--import multiprocessing
--
++import os
++import sys
++import traceback
++from fabric.api import *
  
  if __name__ == "__main__":
      local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['project_name'],
@@@ -55,11 -55,11 +48,12 @@@
          if edge_status != 'running':
              logging.info('ERROR: Edge node is unavailable! Aborting...')
              print('ERROR: Edge node is unavailable! Aborting...')
-             ssn_hostname = dlab.meta_lib.get_instance_hostname(data_engine['service_base_name'] + '-tag',
-                                                                data_engine['service_base_name'] + '-ssn')
-             dlab.fab.put_resource_status('edge', 'Unavailable', os.environ['ssn_dlab_path'], os.environ['conf_os_user'],
-                                          ssn_hostname)
-             dlab.fab.append_result("Edge node is unavailable")
+             ssn_hostname = datalab.meta_lib.get_instance_hostname(data_engine['service_base_name'] + '-tag',
 -                                                               data_engine['service_base_name'] + '-ssn')
 -            datalab.fab.put_resource_status('edge', 'Unavailable', os.environ['ssn_datalab_path'], os.environ['conf_os_user'],
 -                                         ssn_hostname)
++                                                                  data_engine['service_base_name'] + '-ssn')
++            datalab.fab.put_resource_status('edge', 'Unavailable', os.environ['ssn_datalab_path'],
++                                            os.environ['conf_os_user'],
++                                            ssn_hostname)
+             datalab.fab.append_result("Edge node is unavailable")
              sys.exit(1)
          print('Generating infrastructure names and tags')
          if 'exploratory_name' in os.environ:
@@@ -161,12 -161,12 +155,12 @@@
                      data_engine['master_node_name'], data_engine['primary_disk_size'], data_engine['instance_class'])
          try:
              local("~/scripts/{}.py {}".format('common_create_instance', params))
-             data_engine['master_id'] = dlab.meta_lib.get_instance_by_name(data_engine['tag_name'],
-                                                                           data_engine['master_node_name'])
-             dlab.actions_lib.create_tag(data_engine['master_id'], data_engine['cluster_nodes_tag'], False)
-             dlab.actions_lib.create_tag(data_engine['master_id'], data_engine['cluster_nodes_resource_tag'], False)
-             dlab.actions_lib.create_tag(data_engine['master_id'], data_engine['cluster_nodes_billing_tag'], False)
-             dlab.actions_lib.create_tag(data_engine['master_id'], data_engine['cluster_nodes_tag_type'], False)
+             data_engine['master_id'] = datalab.meta_lib.get_instance_by_name(data_engine['tag_name'],
 -                                                                          data_engine['master_node_name'])
++                                                                             data_engine['master_node_name'])
+             datalab.actions_lib.create_tag(data_engine['master_id'], data_engine['cluster_nodes_tag'], False)
+             datalab.actions_lib.create_tag(data_engine['master_id'], data_engine['cluster_nodes_resource_tag'], False)
+             datalab.actions_lib.create_tag(data_engine['master_id'], data_engine['cluster_nodes_billing_tag'], False)
+             datalab.actions_lib.create_tag(data_engine['master_id'], data_engine['cluster_nodes_tag_type'], False)
          except:
              traceback.print_exc()
              raise Exception
@@@ -185,17 -185,17 +179,20 @@@
                       "--primary_disk_size {} --instance_class {}" \
                  .format(slave_name, data_engine['ami_id'], data_engine['slave_size'],
                          data_engine['key_name'],
-                         dlab.meta_lib.get_security_group_by_name(data_engine['dataengine_slave_security_group_name']),
-                         dlab.meta_lib.get_subnet_by_cidr(data_engine['subnet_cidr'], os.environ['aws_notebook_vpc_id']),
 -                        datalab.meta_lib.get_security_group_by_name(data_engine['dataengine_slave_security_group_name']),
 -                        datalab.meta_lib.get_subnet_by_cidr(data_engine['subnet_cidr'], os.environ['aws_notebook_vpc_id']),
++                        datalab.meta_lib.get_security_group_by_name(
++                            data_engine['dataengine_slave_security_group_name']),
++                        datalab.meta_lib.get_subnet_by_cidr(data_engine['subnet_cidr'],
++                                                            os.environ['aws_notebook_vpc_id']),
                          data_engine['notebook_dataengine_role_profile_name'], data_engine['tag_name'],
                          slave_name, data_engine['primary_disk_size'], data_engine['instance_class'])
              try:
                  local("~/scripts/{}.py {}".format('common_create_instance', params))
-                 data_engine['slave_id'] = dlab.meta_lib.get_instance_by_name(data_engine['tag_name'], slave_name)
-                 dlab.actions_lib.create_tag(data_engine['slave_id'], data_engine['cluster_nodes_tag'], False)
-                 dlab.actions_lib.create_tag(data_engine['slave_id'], data_engine['cluster_nodes_resource_tag'], False)
-                 dlab.actions_lib.create_tag(data_engine['slave_id'], data_engine['cluster_nodes_billing_tag'], False)
-                 dlab.actions_lib.create_tag(data_engine['slave_id'], data_engine['cluster_nodes_tag_type'], False)
+                 data_engine['slave_id'] = datalab.meta_lib.get_instance_by_name(data_engine['tag_name'], slave_name)
+                 datalab.actions_lib.create_tag(data_engine['slave_id'], data_engine['cluster_nodes_tag'], False)
 -                datalab.actions_lib.create_tag(data_engine['slave_id'], data_engine['cluster_nodes_resource_tag'], False)
++                datalab.actions_lib.create_tag(data_engine['slave_id'], data_engine['cluster_nodes_resource_tag'],
++                                               False)
+                 datalab.actions_lib.create_tag(data_engine['slave_id'], data_engine['cluster_nodes_billing_tag'], False)
+                 datalab.actions_lib.create_tag(data_engine['slave_id'], data_engine['cluster_nodes_tag_type'], False)
              except:
                  traceback.print_exc()
                  raise Exception
diff --cc infrastructure-provisioning/src/general/scripts/aws/dataengine_start.py
index 0450ff7,e3150b8..60b0e3e
--- a/infrastructure-provisioning/src/general/scripts/aws/dataengine_start.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/dataengine_start.py
@@@ -21,12 -21,12 +21,12 @@@
  #
  # ******************************************************************************
  
--import logging
 -import json
 -import os
 -import datalab.fab
+ import datalab.actions_lib
++import datalab.fab
+ import datalab.meta_lib
 +import json
++import logging
 +import os
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
  import sys
  import traceback
  from fabric.api import *
diff --cc infrastructure-provisioning/src/general/scripts/aws/dataengine_stop.py
index d31d395,f0f60f4..1d540d9
--- a/infrastructure-provisioning/src/general/scripts/aws/dataengine_stop.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/dataengine_stop.py
@@@ -21,11 -21,11 +21,11 @@@
  #
  # ******************************************************************************
  
--import logging
++import datalab.actions_lib
++import datalab.fab
  import json
++import logging
  import os
- import dlab.fab
- import dlab.actions_lib
 -import datalab.fab
 -import datalab.actions_lib
  import sys
  
  
diff --cc infrastructure-provisioning/src/general/scripts/aws/dataengine_terminate.py
index 7d8c10d,dc3a4d2..84e9b3d
--- a/infrastructure-provisioning/src/general/scripts/aws/dataengine_terminate.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/dataengine_terminate.py
@@@ -21,13 -21,13 +21,13 @@@
  #
  # ******************************************************************************
  
--import logging
++import datalab.actions_lib
++import datalab.fab
  import json
++import logging
++import os
  import sys
- import dlab.fab
- import dlab.actions_lib
 -import datalab.fab
 -import datalab.actions_lib
  import traceback
--import os
  
  
  def terminate_data_engine(tag_name, notebook_name,
@@@ -41,8 -41,8 +41,8 @@@
  
      print("Removing Data Engine kernels from notebook")
      try:
-         dlab.actions_lib.remove_dataengine_kernels(tag_name, notebook_name,
-                                                    os_user, key_path, remote_kernel_name)
+         datalab.actions_lib.remove_dataengine_kernels(tag_name, notebook_name,
 -                                                   os_user, key_path, remote_kernel_name)
++                                                      os_user, key_path, remote_kernel_name)
      except:
          sys.exit(1)
  
diff --cc infrastructure-provisioning/src/general/scripts/aws/deeplearning_configure.py
index a2ca856,cfd6863..e3fca38
--- a/infrastructure-provisioning/src/general/scripts/aws/deeplearning_configure.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/deeplearning_configure.py
@@@ -21,15 -21,15 +21,13 @@@
  #
  # ******************************************************************************
  
--import logging
++import argparse
++import datalab.meta_lib
  import json
++import logging
++import os
  import sys
  import traceback
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
 -import datalab.fab
 -import datalab.actions_lib
 -import datalab.meta_lib
--import os
--import argparse
  from fabric.api import *
  
  parser = argparse.ArgumentParser()
@@@ -86,20 -86,20 +84,21 @@@ if __name__ == "__main__"
              notebook_config['tag_name'], notebook_config['instance_name']).get('Private')
  
          # generating variables regarding EDGE proxy on Notebook instance
-         instance_hostname = dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'],
-                                                                 notebook_config['instance_name'])
+         instance_hostname = datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'],
 -                                                                notebook_config['instance_name'])
++                                                                   notebook_config['instance_name'])
          edge_instance_name = '{}-{}-{}-edge'.format(notebook_config['service_base_name'],
                                                      notebook_config['project_name'], notebook_config['endpoint_name'])
-         edge_instance_hostname = dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'], edge_instance_name)
-         edge_instance_private_ip = dlab.meta_lib.get_instance_ip_address(notebook_config['tag_name'],
-                                                                          edge_instance_name).get('Private')
-         notebook_config['edge_instance_hostname'] = dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'],
-                                                                                         edge_instance_name)
+         edge_instance_hostname = datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'], edge_instance_name)
+         edge_instance_private_ip = datalab.meta_lib.get_instance_ip_address(notebook_config['tag_name'],
 -                                                                         edge_instance_name).get('Private')
++                                                                            edge_instance_name).get('Private')
+         notebook_config['edge_instance_hostname'] = datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'],
 -                                                                                        edge_instance_name)
++                                                                                           edge_instance_name)
          keyfile_name = "{}{}.pem".format(os.environ['conf_key_dir'], os.environ['conf_key_name'])
-         edge_ip = dlab.meta_lib.get_instance_ip_address(notebook_config['tag_name'], edge_instance_name).get('Private')
 -        edge_ip = datalab.meta_lib.get_instance_ip_address(notebook_config['tag_name'], edge_instance_name).get('Private')
++        edge_ip = datalab.meta_lib.get_instance_ip_address(notebook_config['tag_name'], edge_instance_name).get(
++            'Private')
      except Exception as err:
-         dlab.fab.append_result("Failed to generate variables dictionary.", str(err))
-         dlab.actions_lib.remove_ec2(notebook_config['tag_name'], notebook_config['instance_name'])
+         datalab.fab.append_result("Failed to generate variables dictionary.", str(err))
+         datalab.actions_lib.remove_ec2(notebook_config['tag_name'], notebook_config['instance_name'])
          sys.exit(1)
  
      try:
@@@ -186,11 -186,11 +185,11 @@@
                   "--scala_version {4} --spark_version {5} " \
                   "--hadoop_version {6} --region {7} " \
                   "--r_mirror {8} --ip_address {9} --exploratory_name {10} --edge_ip {11}" \
-                  .format(instance_hostname, keyfile_name, notebook_config['dlab_ssh_user'],
 -                 .format(instance_hostname, keyfile_name, notebook_config['datalab_ssh_user'],
--                         os.environ['notebook_jupyter_version'], os.environ['notebook_scala_version'],
--                         os.environ['notebook_spark_version'], os.environ['notebook_hadoop_version'],
--                         os.environ['aws_region'], os.environ['notebook_r_mirror'],
--                         notebook_config['ip_address'], notebook_config['exploratory_name'], edge_ip)
++            .format(instance_hostname, keyfile_name, notebook_config['datalab_ssh_user'],
++                    os.environ['notebook_jupyter_version'], os.environ['notebook_scala_version'],
++                    os.environ['notebook_spark_version'], os.environ['notebook_hadoop_version'],
++                    os.environ['aws_region'], os.environ['notebook_r_mirror'],
++                    notebook_config['ip_address'], notebook_config['exploratory_name'], edge_ip)
          try:
              local("~/scripts/{}.py {}".format('configure_deep_learning_node', params))
          except:
@@@ -299,9 -299,9 +298,9 @@@
              sys.exit(1)
      try:
          # generating output information
-         ip_address = dlab.meta_lib.get_instance_ip_address(notebook_config['tag_name'],
-                                                            notebook_config['instance_name']).get('Private')
-         dns_name = dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'], notebook_config['instance_name'])
+         ip_address = datalab.meta_lib.get_instance_ip_address(notebook_config['tag_name'],
 -                                                           notebook_config['instance_name']).get('Private')
++                                                              notebook_config['instance_name']).get('Private')
+         dns_name = datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'], notebook_config['instance_name'])
          tensor_board_url = 'http://' + ip_address + ':6006'
          jupyter_url = 'http://' + ip_address + ':8888/{}/'.format(notebook_config['exploratory_name'])
          jupyter_notebook_access_url = "https://{}/{}/".format(notebook_config['edge_instance_hostname'],
@@@ -316,8 -316,8 +315,8 @@@
          print("Instance name: {}".format(notebook_config['instance_name']))
          print("Private DNS: {}".format(dns_name))
          print("Private IP: {}".format(ip_address))
-         print("Instance ID: {}".format(dlab.meta_lib.get_instance_by_name(notebook_config['tag_name'],
-                                                                           notebook_config['instance_name'])))
+         print("Instance ID: {}".format(datalab.meta_lib.get_instance_by_name(notebook_config['tag_name'],
 -                                                                          notebook_config['instance_name'])))
++                                                                             notebook_config['instance_name'])))
          print("Instance type: {}".format(notebook_config['instance_type']))
          print("Key name: {}".format(notebook_config['key_name']))
          print("User key name: {}".format(notebook_config['user_keyname']))
@@@ -327,15 -327,15 +326,15 @@@
  
          print("Ungit URL: {}".format(ungit_ip_url))
          print('SSH access (from Edge node, via IP address): ssh -i {0}.pem {1}@{2}'.
-               format(notebook_config['key_name'],notebook_config['dlab_ssh_user'], ip_address))
 -              format(notebook_config['key_name'],notebook_config['datalab_ssh_user'], ip_address))
++              format(notebook_config['key_name'], notebook_config['datalab_ssh_user'], ip_address))
          print('SSH access (from Edge node, via FQDN): ssh -i {0}.pem {1}@{2}'.
-               format(notebook_config['key_name'], notebook_config['dlab_ssh_user'], dns_name))
+               format(notebook_config['key_name'], notebook_config['datalab_ssh_user'], dns_name))
  
          with open("/root/result.json", 'w') as result:
              res = {"hostname": dns_name,
                     "ip": ip_address,
-                    "instance_id": dlab.meta_lib.get_instance_by_name(notebook_config['tag_name'],
-                                                                      notebook_config['instance_name']),
+                    "instance_id": datalab.meta_lib.get_instance_by_name(notebook_config['tag_name'],
 -                                                                     notebook_config['instance_name']),
++                                                                        notebook_config['instance_name']),
                     "master_keyname": os.environ['conf_key_name'],
                     "notebook_name": notebook_config['instance_name'],
                     "notebook_image_name": notebook_config['notebook_image_name'],
diff --cc infrastructure-provisioning/src/general/scripts/aws/edge_associate_elastic_ip.py
index 131ac46,2eaba02..5363073
--- a/infrastructure-provisioning/src/general/scripts/aws/edge_associate_elastic_ip.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/edge_associate_elastic_ip.py
@@@ -21,12 -21,12 +21,12 @@@
  #
  # ******************************************************************************
  
- import sys
- from dlab.fab import *
- from dlab.meta_lib import *
- from dlab.actions_lib import *
- import os
 +import argparse
++import os
+ import sys
++from datalab.actions_lib import *
+ from datalab.fab import *
+ from datalab.meta_lib import *
 -from datalab.actions_lib import *
 -import os
 -import argparse
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--elastic_ip', type=str, default='')
diff --cc infrastructure-provisioning/src/general/scripts/aws/edge_configure.py
index bafd031,0fe7a4a..91c1dde
--- a/infrastructure-provisioning/src/general/scripts/aws/edge_configure.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/edge_configure.py
@@@ -21,19 -21,19 +21,17 @@@
  #
  # ******************************************************************************
  
 -import json
 -import sys
 -import time
 -import os
 -import datalab.fab
+ import datalab.actions_lib
++import datalab.fab
+ import datalab.meta_lib
 +import json
- import sys
- import time
- import os
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
  import logging
++import os
++import sys
  import traceback
  import uuid
  from fabric.api import *
  
--
  if __name__ == "__main__":
      local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['project_name'],
                                                 os.environ['request_id'])
@@@ -42,14 -42,14 +40,15 @@@
                          level=logging.DEBUG,
                          filename=local_log_filepath)
  
++
      def clear_resources():
-         dlab.actions_lib.remove_all_iam_resources('notebook', edge_conf['project_name'])
-         dlab.actions_lib.remove_all_iam_resources('edge', edge_conf['project_name'])
-         dlab.actions_lib.remove_ec2(edge_conf['tag_name'], edge_conf['instance_name'])
-         dlab.actions_lib.remove_sgroups(edge_conf['dataengine_instances_name'])
-         dlab.actions_lib.remove_sgroups(edge_conf['notebook_instance_name'])
-         dlab.actions_lib.remove_sgroups(edge_conf['instance_name'])
-         dlab.actions_lib.remove_s3('edge', edge_conf['project_name'])
+         datalab.actions_lib.remove_all_iam_resources('notebook', edge_conf['project_name'])
+         datalab.actions_lib.remove_all_iam_resources('edge', edge_conf['project_name'])
+         datalab.actions_lib.remove_ec2(edge_conf['tag_name'], edge_conf['instance_name'])
+         datalab.actions_lib.remove_sgroups(edge_conf['dataengine_instances_name'])
+         datalab.actions_lib.remove_sgroups(edge_conf['notebook_instance_name'])
+         datalab.actions_lib.remove_sgroups(edge_conf['instance_name'])
+         datalab.actions_lib.remove_s3('edge', edge_conf['project_name'])
  
      try:
          print('Generating infrastructure names and tags')
@@@ -87,21 -87,21 +86,22 @@@
          tag = {"Key": edge_conf['tag_name'],
                 "Value": "{}-{}-{}-subnet".format(edge_conf['service_base_name'], edge_conf['project_name'],
                                                   edge_conf['endpoint_name'])}
-         edge_conf['private_subnet_cidr'] = dlab.meta_lib.get_subnet_by_tag(tag)
-         edge_conf['dlab_ssh_user'] = os.environ['conf_os_user']
+         edge_conf['private_subnet_cidr'] = datalab.meta_lib.get_subnet_by_tag(tag)
+         edge_conf['datalab_ssh_user'] = os.environ['conf_os_user']
          edge_conf['network_type'] = os.environ['conf_network_type']
          if edge_conf['network_type'] == 'public':
-             edge_conf['edge_public_ip'] = dlab.meta_lib.get_instance_ip_address(edge_conf['tag_name'],
-                                                                   edge_conf['instance_name']).get('Public')
-             edge_conf['edge_private_ip'] = dlab.meta_lib.get_instance_ip_address(
+             edge_conf['edge_public_ip'] = datalab.meta_lib.get_instance_ip_address(edge_conf['tag_name'],
 -                                                                  edge_conf['instance_name']).get('Public')
++                                                                                   edge_conf['instance_name']).get(
++                'Public')
+             edge_conf['edge_private_ip'] = datalab.meta_lib.get_instance_ip_address(
                  edge_conf['tag_name'], edge_conf['instance_name']).get('Private')
          elif edge_conf['network_type'] == 'private':
-             edge_conf['edge_private_ip'] = dlab.meta_lib.get_instance_ip_address(
+             edge_conf['edge_private_ip'] = datalab.meta_lib.get_instance_ip_address(
                  edge_conf['tag_name'], edge_conf['instance_name']).get('Private')
              edge_conf['edge_public_ip'] = edge_conf['edge_private_ip']
-         edge_conf['vpc1_cidrs'] = dlab.meta_lib.get_vpc_cidr_by_id(os.environ['aws_vpc_id'])
+         edge_conf['vpc1_cidrs'] = datalab.meta_lib.get_vpc_cidr_by_id(os.environ['aws_vpc_id'])
          try:
-             edge_conf['vpc2_cidrs'] = dlab.meta_lib.get_vpc_cidr_by_id(os.environ['aws_notebook_vpc_id'])
+             edge_conf['vpc2_cidrs'] = datalab.meta_lib.get_vpc_cidr_by_id(os.environ['aws_notebook_vpc_id'])
              edge_conf['vpc_cidrs'] = list(set(edge_conf['vpc1_cidrs'] + edge_conf['vpc2_cidrs']))
          except KeyError:
              edge_conf['vpc_cidrs'] = list(set(edge_conf['vpc1_cidrs']))
@@@ -110,8 -110,8 +110,8 @@@
          for cidr in os.environ['conf_allowed_ip_cidr'].split(','):
              edge_conf['allowed_ip_cidr'].append(cidr.replace(' ', ''))
  
-         edge_conf['instance_hostname'] = dlab.meta_lib.get_instance_hostname(edge_conf['tag_name'],
-                                                                              edge_conf['instance_name'])
+         edge_conf['instance_hostname'] = datalab.meta_lib.get_instance_hostname(edge_conf['tag_name'],
 -                                                                             edge_conf['instance_name'])
++                                                                                edge_conf['instance_name'])
          edge_conf['keyfile_name'] = "{}{}.pem".format(os.environ['conf_key_dir'], edge_conf['key_name'])
  
          if os.environ['conf_stepcerts_enabled'] == 'true':
@@@ -153,8 -153,8 +153,8 @@@
      try:
          print('[INSTALLING PREREQUISITES]')
          logging.info('[INSTALLING PREREQUISITES]')
--        params = "--hostname {} --keyfile {} --user {} --region {}".\
-             format(edge_conf['instance_hostname'], edge_conf['keyfile_name'], edge_conf['dlab_ssh_user'],
++        params = "--hostname {} --keyfile {} --user {} --region {}". \
+             format(edge_conf['instance_hostname'], edge_conf['keyfile_name'], edge_conf['datalab_ssh_user'],
                     os.environ['aws_region'])
          try:
              local("~/scripts/{}.py {}".format('install_prerequisites', params))
@@@ -232,10 -232,10 +232,10 @@@
          edge_conf['keycloak_client_secret'] = str(uuid.uuid4())
          params = "--hostname {} --keyfile {} --user {} --keycloak_client_id {} --keycloak_client_secret {} " \
                   "--step_cert_sans '{}' ".format(
-                   edge_conf['instance_hostname'], edge_conf['keyfile_name'], edge_conf['dlab_ssh_user'],
 -                  edge_conf['instance_hostname'], edge_conf['keyfile_name'], edge_conf['datalab_ssh_user'],
--                  '{}-{}-{}'.format(edge_conf['service_base_name'], edge_conf['project_name'],
--                                    edge_conf['endpoint_name']),
--                  edge_conf['keycloak_client_secret'], edge_conf['step_cert_sans'])
++            edge_conf['instance_hostname'], edge_conf['keyfile_name'], edge_conf['datalab_ssh_user'],
++            '{}-{}-{}'.format(edge_conf['service_base_name'], edge_conf['project_name'],
++                              edge_conf['endpoint_name']),
++            edge_conf['keycloak_client_secret'], edge_conf['step_cert_sans'])
          try:
              local("~/scripts/{}.py {}".format('configure_nginx_reverse_proxy', params))
          except:
@@@ -289,8 -289,8 +289,8 @@@
          print("Hostname: {}".format(edge_conf['instance_hostname']))
          print("Public IP: {}".format(edge_conf['edge_public_ip']))
          print("Private IP: {}".format(edge_conf['edge_private_ip']))
-         print("Instance ID: {}".format(dlab.meta_lib.get_instance_by_name(edge_conf['tag_name'],
-                                                                           edge_conf['instance_name'])))
+         print("Instance ID: {}".format(datalab.meta_lib.get_instance_by_name(edge_conf['tag_name'],
 -                                                                          edge_conf['instance_name'])))
++                                                                             edge_conf['instance_name'])))
          print("Key name: {}".format(edge_conf['key_name']))
          print("Bucket name: {}".format(edge_conf['bucket_name']))
          print("Shared bucket name: {}".format(edge_conf['shared_bucket_name']))
@@@ -302,7 -302,7 +302,8 @@@
              res = {"hostname": edge_conf['instance_hostname'],
                     "public_ip": edge_conf['edge_public_ip'],
                     "ip": edge_conf['edge_private_ip'],
-                    "instance_id": dlab.meta_lib.get_instance_by_name(edge_conf['tag_name'], edge_conf['instance_name']),
 -                   "instance_id": datalab.meta_lib.get_instance_by_name(edge_conf['tag_name'], edge_conf['instance_name']),
++                   "instance_id": datalab.meta_lib.get_instance_by_name(edge_conf['tag_name'],
++                                                                        edge_conf['instance_name']),
                     "key_name": edge_conf['key_name'],
                     "user_own_bicket_name": edge_conf['bucket_name'],
                     "shared_bucket_name": edge_conf['shared_bucket_name'],
diff --cc infrastructure-provisioning/src/general/scripts/aws/edge_configure_route_table.py
index c3ac2e4,20e8eed..e034ce0
--- a/infrastructure-provisioning/src/general/scripts/aws/edge_configure_route_table.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/edge_configure_route_table.py
@@@ -22,10 -22,10 +22,9 @@@
  # ******************************************************************************
  
  import argparse
- from dlab.actions_lib import *
- from dlab.meta_lib import *
- 
+ from datalab.actions_lib import *
+ from datalab.meta_lib import *
  
 -
  parser = argparse.ArgumentParser()
  parser.add_argument('--vpc_id', type=str, default='')
  parser.add_argument('--infra_tag_value', type=str, default='')
diff --cc infrastructure-provisioning/src/general/scripts/aws/edge_start.py
index a9f856a,2bdcc10..68d2ef3
--- a/infrastructure-provisioning/src/general/scripts/aws/edge_start.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/edge_start.py
@@@ -21,15 -21,15 +21,11 @@@
  #
  # ******************************************************************************
  
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
- import sys
 -import datalab.fab
 -import datalab.actions_lib
+ import datalab.meta_lib
 -import sys
++import json
  import logging
  import os
--import json
--
--
++import sys
  
  if __name__ == "__main__":
      local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['project_name'],
diff --cc infrastructure-provisioning/src/general/scripts/aws/edge_status.py
index d8bd92e,596f16d..ed57891
--- a/infrastructure-provisioning/src/general/scripts/aws/edge_status.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/edge_status.py
@@@ -22,18 -22,18 +22,13 @@@
  # ******************************************************************************
  
  
--import json
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
- import sys
- import time
- import os
 -import datalab.fab
 -import datalab.actions_lib
+ import datalab.meta_lib
 -import sys
 -import time
 -import os
  import logging
++import os
++import sys
  import traceback
  from fabric.api import *
  
--
  if __name__ == "__main__":
      local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['edge_user_name'],
                                                 os.environ['request_id'])
diff --cc infrastructure-provisioning/src/general/scripts/aws/edge_stop.py
index 3948781,6d8447b..1b460f6
--- a/infrastructure-provisioning/src/general/scripts/aws/edge_stop.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/edge_stop.py
@@@ -21,14 -21,14 +21,11 @@@
  #
  # ******************************************************************************
  
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
- import sys
- import os
- import logging
 -import datalab.fab
 -import datalab.actions_lib
+ import datalab.meta_lib
 -import sys
 -import os
 -import logging
  import json
--
++import logging
++import os
++import sys
  
  if __name__ == "__main__":
      local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['project_name'],
diff --cc infrastructure-provisioning/src/general/scripts/aws/jupyter_configure.py
index cc53b22,54815f8..5df07a1
--- a/infrastructure-provisioning/src/general/scripts/aws/jupyter_configure.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/jupyter_configure.py
@@@ -21,15 -21,15 +21,13 @@@
  #
  # ******************************************************************************
  
--import logging
++import argparse
++import datalab.meta_lib
  import json
++import logging
++import os
  import sys
  import traceback
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
 -import datalab.fab
 -import datalab.actions_lib
 -import datalab.meta_lib
--import os
--import argparse
  from fabric.api import *
  
  parser = argparse.ArgumentParser()
@@@ -86,20 -86,20 +84,21 @@@ if __name__ == "__main__"
              notebook_config['tag_name'], notebook_config['instance_name']).get('Private')
  
          # generating variables regarding EDGE proxy on Notebook instance
-         instance_hostname = dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'],
-                                                                 notebook_config['instance_name'])
+         instance_hostname = datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'],
 -                                                                notebook_config['instance_name'])
++                                                                   notebook_config['instance_name'])
          edge_instance_name = '{}-{}-{}-edge'.format(notebook_config['service_base_name'],
                                                      notebook_config['project_name'], notebook_config['endpoint_name'])
-         edge_instance_hostname = dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'], edge_instance_name)
-         edge_instance_private_ip = dlab.meta_lib.get_instance_ip_address(notebook_config['tag_name'],
-                                                                          edge_instance_name).get('Private')
-         notebook_config['edge_instance_hostname'] = dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'],
-                                                                                         edge_instance_name)
+         edge_instance_hostname = datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'], edge_instance_name)
+         edge_instance_private_ip = datalab.meta_lib.get_instance_ip_address(notebook_config['tag_name'],
 -                                                                         edge_instance_name).get('Private')
++                                                                            edge_instance_name).get('Private')
+         notebook_config['edge_instance_hostname'] = datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'],
 -                                                                                        edge_instance_name)
++                                                                                           edge_instance_name)
          keyfile_name = "{}{}.pem".format(os.environ['conf_key_dir'], os.environ['conf_key_name'])
-         edge_ip = dlab.meta_lib.get_instance_ip_address(notebook_config['tag_name'], edge_instance_name).get('Private')
 -        edge_ip = datalab.meta_lib.get_instance_ip_address(notebook_config['tag_name'], edge_instance_name).get('Private')
++        edge_ip = datalab.meta_lib.get_instance_ip_address(notebook_config['tag_name'], edge_instance_name).get(
++            'Private')
      except Exception as err:
-         dlab.fab.append_result("Failed to generate variables dictionary.", str(err))
-         dlab.actions_lib.remove_ec2(notebook_config['tag_name'], notebook_config['instance_name'])
+         datalab.fab.append_result("Failed to generate variables dictionary.", str(err))
+         datalab.actions_lib.remove_ec2(notebook_config['tag_name'], notebook_config['instance_name'])
          sys.exit(1)
  
      try:
@@@ -312,9 -312,9 +311,9 @@@
  
      try:
          # generating output information
-         ip_address = dlab.meta_lib.get_instance_ip_address(notebook_config['tag_name'],
-                                                            notebook_config['instance_name']).get('Private')
-         dns_name = dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'], notebook_config['instance_name'])
+         ip_address = datalab.meta_lib.get_instance_ip_address(notebook_config['tag_name'],
 -                                                           notebook_config['instance_name']).get('Private')
++                                                              notebook_config['instance_name']).get('Private')
+         dns_name = datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'], notebook_config['instance_name'])
          jupyter_ip_url = "http://" + ip_address + ":8888/{}/".format(notebook_config['exploratory_name'])
          jupyter_dns_url = "http://" + dns_name + ":8888/{}/".format(notebook_config['exploratory_name'])
          jupyter_notebook_access_url = "https://{}/{}/".format(notebook_config['edge_instance_hostname'],
@@@ -327,8 -327,8 +326,8 @@@
          print("Instance name: {}".format(notebook_config['instance_name']))
          print("Private DNS: {}".format(dns_name))
          print("Private IP: {}".format(ip_address))
-         print("Instance ID: {}".format(dlab.meta_lib.get_instance_by_name(notebook_config['tag_name'],
-                                                                           notebook_config['instance_name'])))
+         print("Instance ID: {}".format(datalab.meta_lib.get_instance_by_name(notebook_config['tag_name'],
 -                                                                          notebook_config['instance_name'])))
++                                                                             notebook_config['instance_name'])))
          print("Instance type: {}".format(notebook_config['instance_type']))
          print("Key name: {}".format(notebook_config['key_name']))
          print("User key name: {}".format(notebook_config['user_keyname']))
@@@ -348,8 -348,8 +347,8 @@@
          with open("/root/result.json", 'w') as result:
              res = {"hostname": dns_name,
                     "ip": ip_address,
-                    "instance_id": dlab.meta_lib.get_instance_by_name(notebook_config['tag_name'],
-                                                                      notebook_config['instance_name']),
+                    "instance_id": datalab.meta_lib.get_instance_by_name(notebook_config['tag_name'],
 -                                                                     notebook_config['instance_name']),
++                                                                        notebook_config['instance_name']),
                     "master_keyname": os.environ['conf_key_name'],
                     "notebook_name": notebook_config['instance_name'],
                     "notebook_image_name": notebook_config['notebook_image_name'],
diff --cc infrastructure-provisioning/src/general/scripts/aws/jupyter_dataengine-service_create_configs.py
index 1bb09b3,a6f7b14..4070c3a
--- a/infrastructure-provisioning/src/general/scripts/aws/jupyter_dataengine-service_create_configs.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/jupyter_dataengine-service_create_configs.py
@@@ -21,20 -21,20 +21,13 @@@
  #
  # ******************************************************************************
  
--import boto3
--from botocore.client import Config
--from fabric.api import *
  import argparse
--import os
  import sys
--import time
--from fabric.api import lcd
--from fabric.contrib.files import exists
--from fabvenv import virtualenv
- from dlab.notebook_lib import *
- from dlab.actions_lib import *
- from dlab.fab import *
- from dlab.common_lib import *
 -from datalab.notebook_lib import *
+ from datalab.actions_lib import *
 -from datalab.fab import *
+ from datalab.common_lib import *
++from datalab.fab import *
++from datalab.notebook_lib import *
++from fabric.api import *
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--bucket', type=str, default='')
diff --cc infrastructure-provisioning/src/general/scripts/aws/jupyter_install_dataengine-service_kernels.py
index 37d102a,146a1db..0cfbd5c
--- a/infrastructure-provisioning/src/general/scripts/aws/jupyter_install_dataengine-service_kernels.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/jupyter_install_dataengine-service_kernels.py
@@@ -22,10 -22,10 +22,10 @@@
  # ******************************************************************************
  
  import argparse
--from fabric.api import *
  import boto3
- from dlab.meta_lib import *
 -from datalab.meta_lib import *
  import os
++from datalab.meta_lib import *
++from fabric.api import *
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--bucket', type=str, default='')
@@@ -51,23 -51,23 +51,24 @@@ def configure_notebook(args)
      files_dir = '/root/files/'
      scripts_dir = '/root/scripts/'
      put(templates_dir + 'sparkmagic_config_template.json', '/tmp/sparkmagic_config_template.json')
--    #put(templates_dir + 'pyspark_dataengine-service_template.json', '/tmp/pyspark_dataengine-service_template.json')
--    #put(templates_dir + 'r_dataengine-service_template.json', '/tmp/r_dataengine-service_template.json')
--    #put(templates_dir + 'toree_dataengine-service_template.json','/tmp/toree_dataengine-service_template.json')
++    # put(templates_dir + 'pyspark_dataengine-service_template.json', '/tmp/pyspark_dataengine-service_template.json')
++    # put(templates_dir + 'r_dataengine-service_template.json', '/tmp/r_dataengine-service_template.json')
++    # put(templates_dir + 'toree_dataengine-service_template.json','/tmp/toree_dataengine-service_template.json')
      put(scripts_dir + '{}_dataengine-service_create_configs.py'.format(args.application),
          '/tmp/jupyter_dataengine-service_create_configs.py')
--    #put(files_dir + 'toree_kernel.tar.gz', '/tmp/toree_kernel.tar.gz')
--    #put(templates_dir + 'toree_dataengine-service_templatev2.json', '/tmp/toree_dataengine-service_templatev2.json')
--    #put(templates_dir + 'run_template.sh', '/tmp/run_template.sh')
--    sudo('\cp /tmp/jupyter_dataengine-service_create_configs.py /usr/local/bin/jupyter_dataengine-service_create_configs.py')
++    # put(files_dir + 'toree_kernel.tar.gz', '/tmp/toree_kernel.tar.gz')
++    # put(templates_dir + 'toree_dataengine-service_templatev2.json', '/tmp/toree_dataengine-service_templatev2.json')
++    # put(templates_dir + 'run_template.sh', '/tmp/run_template.sh')
++    sudo(
++        '\cp /tmp/jupyter_dataengine-service_create_configs.py /usr/local/bin/jupyter_dataengine-service_create_configs.py')
      sudo('chmod 755 /usr/local/bin/jupyter_dataengine-service_create_configs.py')
-     sudo('mkdir -p /usr/lib/python2.7/dlab/')
-     run('mkdir -p /tmp/dlab_libs/')
-     local('scp -i {} /usr/lib/python2.7/dlab/* {}:/tmp/dlab_libs/'.format(args.keyfile, env.host_string))
-     run('chmod a+x /tmp/dlab_libs/*')
-     sudo('mv /tmp/dlab_libs/* /usr/lib/python2.7/dlab/')
+     sudo('mkdir -p /usr/lib/python2.7/datalab/')
+     run('mkdir -p /tmp/datalab_libs/')
+     local('scp -i {} /usr/lib/python2.7/datalab/* {}:/tmp/datalab_libs/'.format(args.keyfile, env.host_string))
+     run('chmod a+x /tmp/datalab_libs/*')
+     sudo('mv /tmp/datalab_libs/* /usr/lib/python2.7/datalab/')
      if exists('/usr/lib64'):
-         sudo('ln -fs /usr/lib/python2.7/dlab /usr/lib64/python2.7/dlab')
+         sudo('ln -fs /usr/lib/python2.7/datalab /usr/lib64/python2.7/datalab')
  
  
  if __name__ == "__main__":
diff --cc infrastructure-provisioning/src/general/scripts/aws/jupyterlab_configure.py
index 950afa1,6b9d085..b7dd473
--- a/infrastructure-provisioning/src/general/scripts/aws/jupyterlab_configure.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/jupyterlab_configure.py
@@@ -21,15 -21,15 +21,13 @@@
  #
  # ******************************************************************************
  
--import logging
++import argparse
++import datalab.meta_lib
  import json
++import logging
++import os
  import sys
  import traceback
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
 -import datalab.fab
 -import datalab.actions_lib
 -import datalab.meta_lib
--import os
--import argparse
  from fabric.api import *
  
  parser = argparse.ArgumentParser()
@@@ -86,20 -86,20 +84,21 @@@ if __name__ == "__main__"
              notebook_config['tag_name'], notebook_config['instance_name']).get('Private')
  
          # generating variables regarding EDGE proxy on Notebook instance
-         instance_hostname = dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'],
-                                                                 notebook_config['instance_name'])
+         instance_hostname = datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'],
 -                                                                notebook_config['instance_name'])
++                                                                   notebook_config['instance_name'])
          edge_instance_name = '{}-{}-{}-edge'.format(notebook_config['service_base_name'],
                                                      notebook_config['project_name'], notebook_config['endpoint_name'])
-         edge_instance_hostname = dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'], edge_instance_name)
-         edge_instance_private_ip = dlab.meta_lib.get_instance_ip_address(notebook_config['tag_name'],
-                                                                          edge_instance_name).get('Private')
-         notebook_config['edge_instance_hostname'] = dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'],
-                                                                                         edge_instance_name)
+         edge_instance_hostname = datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'], edge_instance_name)
+         edge_instance_private_ip = datalab.meta_lib.get_instance_ip_address(notebook_config['tag_name'],
 -                                                                         edge_instance_name).get('Private')
++                                                                            edge_instance_name).get('Private')
+         notebook_config['edge_instance_hostname'] = datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'],
 -                                                                                        edge_instance_name)
++                                                                                           edge_instance_name)
          keyfile_name = "{}{}.pem".format(os.environ['conf_key_dir'], os.environ['conf_key_name'])
-         edge_ip = dlab.meta_lib.get_instance_ip_address(notebook_config['tag_name'], edge_instance_name).get('Private')
 -        edge_ip = datalab.meta_lib.get_instance_ip_address(notebook_config['tag_name'], edge_instance_name).get('Private')
++        edge_ip = datalab.meta_lib.get_instance_ip_address(notebook_config['tag_name'], edge_instance_name).get(
++            'Private')
      except Exception as err:
-         dlab.fab.append_result("Failed to generate variables dictionary.", str(err))
-         dlab.actions_lib.remove_ec2(notebook_config['tag_name'], notebook_config['instance_name'])
+         datalab.fab.append_result("Failed to generate variables dictionary.", str(err))
+         datalab.actions_lib.remove_ec2(notebook_config['tag_name'], notebook_config['instance_name'])
          sys.exit(1)
  
      try:
@@@ -110,11 -110,11 +109,11 @@@
              notebook_config['initial_user'] = 'ec2-user'
              notebook_config['sudo_group'] = 'wheel'
  
-         logging.info('[CREATING DLAB SSH USER]')
-         print('[CREATING DLAB SSH USER]')
-         params = "--hostname {} --keyfile {} --initial_user {} --os_user {} --sudo_group {}".format\
-             (instance_hostname,  "{}{}.pem".format(os.environ['conf_key_dir'], os.environ['conf_key_name']),
-              notebook_config['initial_user'], notebook_config['dlab_ssh_user'], notebook_config['sudo_group'])
+         logging.info('[CREATING DATALAB SSH USER]')
+         print('[CREATING DATALAB SSH USER]')
 -        params = "--hostname {} --keyfile {} --initial_user {} --os_user {} --sudo_group {}".format\
 -            (instance_hostname,  "{}{}.pem".format(os.environ['conf_key_dir'], os.environ['conf_key_name']),
++        params = "--hostname {} --keyfile {} --initial_user {} --os_user {} --sudo_group {}".format \
++            (instance_hostname, "{}{}.pem".format(os.environ['conf_key_dir'], os.environ['conf_key_name']),
+              notebook_config['initial_user'], notebook_config['datalab_ssh_user'], notebook_config['sudo_group'])
  
          try:
              local("~/scripts/{}.py {}".format('create_ssh_user', params))
@@@ -148,8 -148,8 +147,8 @@@
      try:
          logging.info('[INSTALLING PREREQUISITES TO JUPYTERLAB NOTEBOOK INSTANCE]')
          print('[INSTALLING PREREQUISITES TO JUPYTERLAB NOTEBOOK INSTANCE]')
--        params = "--hostname {} --keyfile {} --user {} --region {}".\
-             format(instance_hostname, keyfile_name, notebook_config['dlab_ssh_user'], os.environ['aws_region'])
++        params = "--hostname {} --keyfile {} --user {} --region {}". \
+             format(instance_hostname, keyfile_name, notebook_config['datalab_ssh_user'], os.environ['aws_region'])
          try:
              local("~/scripts/{}.py {}".format('install_prerequisites', params))
          except:
@@@ -331,9 -331,9 +330,9 @@@
  
      try:
          # generating output information
-         ip_address = dlab.meta_lib.get_instance_ip_address(notebook_config['tag_name'],
-                                                            notebook_config['instance_name']).get('Private')
-         dns_name = dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'], notebook_config['instance_name'])
+         ip_address = datalab.meta_lib.get_instance_ip_address(notebook_config['tag_name'],
 -                                                           notebook_config['instance_name']).get('Private')
++                                                              notebook_config['instance_name']).get('Private')
+         dns_name = datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'], notebook_config['instance_name'])
          jupyter_ip_url = "http://" + ip_address + ":8888/{}/".format(notebook_config['exploratory_name'])
          jupyter_dns_url = "http://" + dns_name + ":8888/{}/".format(notebook_config['exploratory_name'])
          jupyter_notebook_acces_url = "http://{}/{}/".format(notebook_config['edge_instance_hostname'],
@@@ -346,8 -346,8 +345,8 @@@
          print("Instance name: {}".format(notebook_config['instance_name']))
          print("Private DNS: {}".format(dns_name))
          print("Private IP: {}".format(ip_address))
-         print("Instance ID: {}".format(dlab.meta_lib.get_instance_by_name(notebook_config['tag_name'],
-                                                                           notebook_config['instance_name'])))
+         print("Instance ID: {}".format(datalab.meta_lib.get_instance_by_name(notebook_config['tag_name'],
 -                                                                          notebook_config['instance_name'])))
++                                                                             notebook_config['instance_name'])))
          print("Instance type: {}".format(notebook_config['instance_type']))
          print("Key name: {}".format(notebook_config['key_name']))
          print("User key name: {}".format(notebook_config['user_keyname']))
@@@ -367,8 -367,8 +366,8 @@@
          with open("/root/result.json", 'w') as result:
              res = {"hostname": dns_name,
                     "ip": ip_address,
-                    "instance_id": dlab.meta_lib.get_instance_by_name(notebook_config['tag_name'],
-                                                                      notebook_config['instance_name']),
+                    "instance_id": datalab.meta_lib.get_instance_by_name(notebook_config['tag_name'],
 -                                                                     notebook_config['instance_name']),
++                                                                        notebook_config['instance_name']),
                     "master_keyname": os.environ['conf_key_name'],
                     "notebook_name": notebook_config['instance_name'],
                     "notebook_image_name": notebook_config['notebook_image_name'],
diff --cc infrastructure-provisioning/src/general/scripts/aws/project_prepare.py
index 9986ab2,4f435dd..e500845
--- a/infrastructure-provisioning/src/general/scripts/aws/project_prepare.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/project_prepare.py
@@@ -21,19 -21,19 +21,16 @@@
  #
  # ******************************************************************************
  
 -import json
 -import datalab.fab
 -import datalab.actions_lib
++import boto3
+ import datalab.meta_lib
 +import json
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
++import logging
++import os
  import sys
  import time
--import os
  import traceback
--import boto3
--import logging
  from fabric.api import *
  
--
  if __name__ == "__main__":
      local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['project_name'],
                                                 os.environ['request_id'])
@@@ -220,7 -220,7 +217,7 @@@
                                                        project_conf['endpoint_name'])
          params = "--role_name {} --role_profile_name {} --policy_name {} --region {} --infra_tag_name {} " \
                   "--infra_tag_value {} --user_tag_value {}" \
--                 .format(project_conf['edge_role_name'], project_conf['edge_role_profile_name'],
++            .format(project_conf['edge_role_name'], project_conf['edge_role_profile_name'],
                           project_conf['edge_policy_name'], os.environ['aws_region'], project_conf['tag_name'],
                           project_conf['service_base_name'], user_tag)
          try:
@@@ -627,11 -627,11 +624,11 @@@
                      project_conf['edge_instance_name'])
          try:
              local("~/scripts/{}.py {}".format('common_create_instance', params))
-             edge_instance = dlab.meta_lib.get_instance_by_name(project_conf['tag_name'],
-                                                                project_conf['edge_instance_name'])
+             edge_instance = datalab.meta_lib.get_instance_by_name(project_conf['tag_name'],
 -                                                               project_conf['edge_instance_name'])
++                                                                  project_conf['edge_instance_name'])
              if os.environ['edge_is_nat']:
                  try:
-                     dlab.actions_lib.modify_instance_sourcedescheck(edge_instance)
+                     datalab.actions_lib.modify_instance_sourcedescheck(edge_instance)
                  except:
                      traceback.print_exc()
                      raise Exception
@@@ -652,8 -652,8 +649,8 @@@
          try:
              logging.info('[ASSOCIATING ELASTIC IP]')
              print('[ASSOCIATING ELASTIC IP]')
-             project_conf['edge_id'] = dlab.meta_lib.get_instance_by_name(project_conf['tag_name'],
-                                                                          project_conf['edge_instance_name'])
+             project_conf['edge_id'] = datalab.meta_lib.get_instance_by_name(project_conf['tag_name'],
 -                                                                         project_conf['edge_instance_name'])
++                                                                            project_conf['edge_instance_name'])
              try:
                  project_conf['elastic_ip'] = os.environ['edge_elastic_ip']
              except:
@@@ -706,11 -706,11 +703,11 @@@
                      project_conf['edge_public_ip'])
              except:
                  print("No Elastic IPs to release!")
-             dlab.actions_lib.remove_ec2(project_conf['tag_name'], project_conf['edge_instance_name'])
-             dlab.actions_lib.remove_all_iam_resources('notebook', project_conf['project_name'])
-             dlab.actions_lib.remove_all_iam_resources('edge', project_conf['project_name'])
-             dlab.actions_lib.remove_sgroups(project_conf['dataengine_instances_name'])
-             dlab.actions_lib.remove_sgroups(project_conf['notebook_instance_name'])
-             dlab.actions_lib.remove_sgroups(project_conf['edge_instance_name'])
-             dlab.actions_lib.remove_s3('edge', project_conf['project_name'])
-             sys.exit(1)
+             datalab.actions_lib.remove_ec2(project_conf['tag_name'], project_conf['edge_instance_name'])
+             datalab.actions_lib.remove_all_iam_resources('notebook', project_conf['project_name'])
+             datalab.actions_lib.remove_all_iam_resources('edge', project_conf['project_name'])
+             datalab.actions_lib.remove_sgroups(project_conf['dataengine_instances_name'])
+             datalab.actions_lib.remove_sgroups(project_conf['notebook_instance_name'])
+             datalab.actions_lib.remove_sgroups(project_conf['edge_instance_name'])
+             datalab.actions_lib.remove_s3('edge', project_conf['project_name'])
 -            sys.exit(1)
++            sys.exit(1)
diff --cc infrastructure-provisioning/src/general/scripts/aws/project_terminate.py
index 9243ff5,6d0db7f..6db396e
--- a/infrastructure-provisioning/src/general/scripts/aws/project_terminate.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/project_terminate.py
@@@ -21,23 -21,23 +21,23 @@@
  #
  # ******************************************************************************
  
 -import json
 -import datalab.fab
++import boto3
+ import datalab.actions_lib
++import datalab.fab
+ import datalab.meta_lib
 -import sys
 -import time
 -import os
 -import traceback
 +import json
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
- import sys
- import time
- import os
- import traceback
  import logging
--import boto3
++import os
  import requests
++import sys
++import traceback
  
  
--def terminate_edge_node(tag_name, project_name, tag_value, nb_sg, edge_sg, de_sg, emr_sg, endpoint_name, service_base_name):
++def terminate_edge_node(tag_name, project_name, tag_value, nb_sg, edge_sg, de_sg, emr_sg, endpoint_name,
++                        service_base_name):
      print('Terminating EMR cluster')
      try:
-         clusters_list = dlab.meta_lib.get_emr_list(tag_name)
+         clusters_list = datalab.meta_lib.get_emr_list(tag_name)
          if clusters_list:
              for cluster_id in clusters_list:
                  client = boto3.client('emr')
@@@ -149,8 -149,8 +149,8 @@@ if __name__ == "__main__"
          sys.exit(1)
  
      try:
-         endpoint_id = dlab.meta_lib.get_instance_by_name(project_conf['tag_name'],
-                                                          project_conf['endpoint_instance_name'])
+         endpoint_id = datalab.meta_lib.get_instance_by_name(project_conf['tag_name'],
 -                                                         project_conf['endpoint_instance_name'])
++                                                            project_conf['endpoint_instance_name'])
          print("Endpoint id: " + endpoint_id)
          ec2 = boto3.client('ec2')
          ec2.delete_tags(Resources=[endpoint_id], Tags=[{'Key': 'project_tag'}, {'Key': 'endpoint_tag'}])
diff --cc infrastructure-provisioning/src/general/scripts/aws/rstudio_configure.py
index dd2a93c,ab4f6e3..07ec094
--- a/infrastructure-provisioning/src/general/scripts/aws/rstudio_configure.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/rstudio_configure.py
@@@ -21,15 -21,15 +21,13 @@@
  #
  # ******************************************************************************
  
--import logging
++import argparse
++import datalab.meta_lib
  import json
++import logging
++import os
  import sys
  import traceback
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
 -import datalab.fab
 -import datalab.actions_lib
 -import datalab.meta_lib
--import os
--import argparse
  from fabric.api import *
  
  parser = argparse.ArgumentParser()
@@@ -87,21 -87,21 +85,22 @@@ if __name__ == "__main__"
              notebook_config['tag_name'], notebook_config['instance_name']).get('Private')
  
          # generating variables regarding EDGE proxy on Notebook instance
-         instance_hostname = dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'],
-                                                                 notebook_config['instance_name'])
+         instance_hostname = datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'],
 -                                                                notebook_config['instance_name'])
++                                                                   notebook_config['instance_name'])
          edge_instance_name = '{}-{}-{}-edge'.format(notebook_config['service_base_name'],
                                                      notebook_config['project_name'], notebook_config['endpoint_name'])
-         edge_instance_hostname = dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'], edge_instance_name)
-         edge_instance_private_ip = dlab.meta_lib.get_instance_ip_address(notebook_config['tag_name'],
-                                                                          edge_instance_name).get('Private')
-         notebook_config['edge_instance_hostname'] = dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'],
-                                                                                         edge_instance_name)
+         edge_instance_hostname = datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'], edge_instance_name)
+         edge_instance_private_ip = datalab.meta_lib.get_instance_ip_address(notebook_config['tag_name'],
 -                                                                         edge_instance_name).get('Private')
++                                                                            edge_instance_name).get('Private')
+         notebook_config['edge_instance_hostname'] = datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'],
 -                                                                                        edge_instance_name)
++                                                                                           edge_instance_name)
          keyfile_name = "{}{}.pem".format(os.environ['conf_key_dir'], os.environ['conf_key_name'])
-         edge_ip = dlab.meta_lib.get_instance_ip_address(notebook_config['tag_name'], edge_instance_name).get('Private')
-         notebook_config['rstudio_pass'] = dlab.fab.id_generator()
 -        edge_ip = datalab.meta_lib.get_instance_ip_address(notebook_config['tag_name'], edge_instance_name).get('Private')
++        edge_ip = datalab.meta_lib.get_instance_ip_address(notebook_config['tag_name'], edge_instance_name).get(
++            'Private')
+         notebook_config['rstudio_pass'] = datalab.fab.id_generator()
      except Exception as err:
-         dlab.fab.append_result("Failed to generate variables dictionary.", str(err))
-         dlab.actions_lib.remove_ec2(notebook_config['tag_name'], notebook_config['instance_name'])
+         datalab.fab.append_result("Failed to generate variables dictionary.", str(err))
+         datalab.actions_lib.remove_ec2(notebook_config['tag_name'], notebook_config['instance_name'])
          sys.exit(1)
  
      try:
@@@ -150,8 -150,8 +149,8 @@@
      try:
          logging.info('[INSTALLING PREREQUISITES TO R_STUDIO NOTEBOOK INSTANCE]')
          print('[INSTALLING PREREQUISITES TO R_STUDIO NOTEBOOK INSTANCE]')
--        params = "--hostname {} --keyfile {} --user {} --region {} --edge_private_ip {}".\
-             format(instance_hostname, keyfile_name, notebook_config['dlab_ssh_user'], os.environ['aws_region'],
++        params = "--hostname {} --keyfile {} --user {} --region {} --edge_private_ip {}". \
+             format(instance_hostname, keyfile_name, notebook_config['datalab_ssh_user'], os.environ['aws_region'],
                     edge_instance_private_ip)
          try:
              local("~/scripts/{}.py {}".format('install_prerequisites', params))
@@@ -242,8 -242,8 +241,8 @@@
              'instance_hostname': instance_hostname,
              'tensor': False
          }
--        params = "--edge_hostname {} --keyfile {} --os_user {} --type {} --exploratory_name {} --additional_info '{}'"\
-             .format(edge_instance_hostname, keyfile_name, notebook_config['dlab_ssh_user'], 'rstudio',
++        params = "--edge_hostname {} --keyfile {} --os_user {} --type {} --exploratory_name {} --additional_info '{}'" \
+             .format(edge_instance_hostname, keyfile_name, notebook_config['datalab_ssh_user'], 'rstudio',
                      notebook_config['exploratory_name'], json.dumps(additional_info))
          try:
              local("~/scripts/{}.py {}".format('common_configure_reverse_proxy', params))
@@@ -291,9 -291,9 +290,9 @@@
  
      try:
          # generating output information
-         ip_address = dlab.meta_lib.get_instance_ip_address(notebook_config['tag_name'],
-                                                            notebook_config['instance_name']).get('Private')
-         dns_name = dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'], notebook_config['instance_name'])
+         ip_address = datalab.meta_lib.get_instance_ip_address(notebook_config['tag_name'],
 -                                                           notebook_config['instance_name']).get('Private')
++                                                              notebook_config['instance_name']).get('Private')
+         dns_name = datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'], notebook_config['instance_name'])
          rstudio_ip_url = "http://" + ip_address + ":8787/"
          rstudio_dns_url = "http://" + dns_name + ":8787/"
          rstudio_notebook_access_url = "https://{}/{}/".format(notebook_config['edge_instance_hostname'],
@@@ -306,8 -306,8 +305,8 @@@
          print("Instance name: {}".format(notebook_config['instance_name']))
          print("Private DNS: {}".format(dns_name))
          print("Private IP: {}".format(ip_address))
-         print("Instance ID: {}".format(dlab.meta_lib.get_instance_by_name(notebook_config['tag_name'],
-                                                                           notebook_config['instance_name'])))
+         print("Instance ID: {}".format(datalab.meta_lib.get_instance_by_name(notebook_config['tag_name'],
 -                                                                          notebook_config['instance_name'])))
++                                                                             notebook_config['instance_name'])))
          print("Instance type: {}".format(notebook_config['instance_type']))
          print("Key name: {}".format(notebook_config['key_name']))
          print("User key name: {}".format(notebook_config['user_keyname']))
@@@ -327,8 -327,8 +326,8 @@@
          with open("/root/result.json", 'w') as result:
              res = {"hostname": dns_name,
                     "ip": ip_address,
-                    "instance_id": dlab.meta_lib.get_instance_by_name(notebook_config['tag_name'],
-                                                                      notebook_config['instance_name']),
+                    "instance_id": datalab.meta_lib.get_instance_by_name(notebook_config['tag_name'],
 -                                                                     notebook_config['instance_name']),
++                                                                        notebook_config['instance_name']),
                     "master_keyname": os.environ['conf_key_name'],
                     "notebook_name": notebook_config['instance_name'],
                     "notebook_image_name": notebook_config['notebook_image_name'],
@@@ -337,13 -337,13 +336,13 @@@
                         {"description": "RStudio",
                          "url": rstudio_notebook_access_url},
                         {"description": "Ungit",
--                        "url": rstudio_ungit_access_url}#,
--                       #{"description": "RStudio (via tunnel)",
++                        "url": rstudio_ungit_access_url}  # ,
++                       # {"description": "RStudio (via tunnel)",
                         # "url": rstudio_ip_url},
--                       #{"description": "Ungit (via tunnel)",
++                       # {"description": "Ungit (via tunnel)",
                         # "url": ungit_ip_url}
                     ],
-                    "exploratory_user": notebook_config['dlab_ssh_user'],
+                    "exploratory_user": notebook_config['datalab_ssh_user'],
                     "exploratory_pass": notebook_config['rstudio_pass']}
              result.write(json.dumps(res))
      except Exception as err:
diff --cc infrastructure-provisioning/src/general/scripts/aws/rstudio_dataengine-service_create_configs.py
index f82c0f0,443d147..d4f38e7
--- a/infrastructure-provisioning/src/general/scripts/aws/rstudio_dataengine-service_create_configs.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/rstudio_dataengine-service_create_configs.py
@@@ -21,20 -21,20 +21,14 @@@
  #
  # ******************************************************************************
  
--import boto3
--from botocore.client import Config
--from fabric.api import *
  import argparse
  import os
  import sys
--import time
--from fabric.api import lcd
--from fabric.contrib.files import exists
--from fabvenv import virtualenv
- from dlab.notebook_lib import *
- from dlab.actions_lib import *
- from dlab.fab import *
- from dlab.common_lib import *
 -from datalab.notebook_lib import *
+ from datalab.actions_lib import *
 -from datalab.fab import *
+ from datalab.common_lib import *
++from datalab.fab import *
++from datalab.notebook_lib import *
++from fabric.api import *
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--bucket', type=str, default='')
diff --cc infrastructure-provisioning/src/general/scripts/aws/rstudio_install_dataengine-service_kernels.py
index 4393b21,da38168..ee7800b
--- a/infrastructure-provisioning/src/general/scripts/aws/rstudio_install_dataengine-service_kernels.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/rstudio_install_dataengine-service_kernels.py
@@@ -22,10 -22,10 +22,8 @@@
  # ******************************************************************************
  
  import argparse
 -from fabric.api import *
 -import boto3
+ from datalab.meta_lib import *
 -import os
 +from fabric.api import *
- import boto3
- from dlab.meta_lib import *
- import os
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--bucket', type=str, default='')
@@@ -50,15 -50,15 +48,16 @@@ def configure_notebook(args)
      scripts_dir = '/root/scripts/'
      put(scripts_dir + '{}_dataengine-service_create_configs.py'.format(args.application),
          '/tmp/rstudio_dataengine-service_create_configs.py')
--    sudo('\cp /tmp/rstudio_dataengine-service_create_configs.py /usr/local/bin/rstudio_dataengine-service_create_configs.py')
++    sudo(
++        '\cp /tmp/rstudio_dataengine-service_create_configs.py /usr/local/bin/rstudio_dataengine-service_create_configs.py')
      sudo('chmod 755 /usr/local/bin/rstudio_dataengine-service_create_configs.py')
-     sudo('mkdir -p /usr/lib/python2.7/dlab/')
-     run('mkdir -p /tmp/dlab_libs/')
-     local('scp -i {} /usr/lib/python2.7/dlab/* {}:/tmp/dlab_libs/'.format(args.keyfile, env.host_string))
-     run('chmod a+x /tmp/dlab_libs/*')
-     sudo('mv /tmp/dlab_libs/* /usr/lib/python2.7/dlab/')
+     sudo('mkdir -p /usr/lib/python2.7/datalab/')
+     run('mkdir -p /tmp/datalab_libs/')
+     local('scp -i {} /usr/lib/python2.7/datalab/* {}:/tmp/datalab_libs/'.format(args.keyfile, env.host_string))
+     run('chmod a+x /tmp/datalab_libs/*')
+     sudo('mv /tmp/datalab_libs/* /usr/lib/python2.7/datalab/')
      if exists('/usr/lib64'):
-         sudo('ln -fs /usr/lib/python2.7/dlab /usr/lib64/python2.7/dlab')
+         sudo('ln -fs /usr/lib/python2.7/datalab /usr/lib64/python2.7/datalab')
  
  
  if __name__ == "__main__":
diff --cc infrastructure-provisioning/src/general/scripts/aws/ssn_associate_elastic_ip.py
index 55bb37d,3963864..bc08f5f
--- a/infrastructure-provisioning/src/general/scripts/aws/ssn_associate_elastic_ip.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/ssn_associate_elastic_ip.py
@@@ -21,12 -21,12 +21,12 @@@
  #
  # ******************************************************************************
  
- import sys
- from dlab.fab import *
- from dlab.meta_lib import *
- from dlab.actions_lib import *
- import os
 +import argparse
++import os
+ import sys
++from datalab.actions_lib import *
+ from datalab.fab import *
+ from datalab.meta_lib import *
 -from datalab.actions_lib import *
 -import os
 -import argparse
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--elastic_ip', type=str, default='')
diff --cc infrastructure-provisioning/src/general/scripts/aws/ssn_configure.py
index 759c417,fc4bc36..128fe0a
--- a/infrastructure-provisioning/src/general/scripts/aws/ssn_configure.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/ssn_configure.py
@@@ -21,16 -21,16 +21,16 @@@
  #
  # ******************************************************************************
  
 -import logging
 -import sys
 -import os
 -from fabric.api import *
 -import datalab.ssn_lib
 -import datalab.fab
+ import datalab.actions_lib
++import datalab.fab
+ import datalab.meta_lib
 -import traceback
++import datalab.ssn_lib
+ import json
 +import logging
- import sys
 +import os
- from fabric.api import *
- import dlab.ssn_lib
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
++import sys
 +import traceback
- import json
++from fabric.api import *
  
  if __name__ == "__main__":
      local_log_filename = "{}_{}.log".format(os.environ['conf_resource'], os.environ['request_id'])
@@@ -44,30 -44,30 +44,30 @@@
  
      def clear_resources():
          if ssn_conf['domain_created']:
-             dlab.actions_lib.remove_route_53_record(os.environ['ssn_hosted_zone_id'],
-                                                     os.environ['ssn_hosted_zone_name'],
-                                                     os.environ['ssn_subdomain'])
-         dlab.actions_lib.remove_ec2(ssn_conf['tag_name'], ssn_conf['instance_name'])
-         dlab.actions_lib.remove_all_iam_resources(ssn_conf['instance'])
-         dlab.actions_lib.remove_s3(ssn_conf['instance'])
+             datalab.actions_lib.remove_route_53_record(os.environ['ssn_hosted_zone_id'],
 -                                                    os.environ['ssn_hosted_zone_name'],
 -                                                    os.environ['ssn_subdomain'])
++                                                       os.environ['ssn_hosted_zone_name'],
++                                                       os.environ['ssn_subdomain'])
+         datalab.actions_lib.remove_ec2(ssn_conf['tag_name'], ssn_conf['instance_name'])
+         datalab.actions_lib.remove_all_iam_resources(ssn_conf['instance'])
+         datalab.actions_lib.remove_s3(ssn_conf['instance'])
          if ssn_conf['pre_defined_sg']:
-             dlab.actions_lib.remove_sgroups(ssn_conf['tag_name'])
+             datalab.actions_lib.remove_sgroups(ssn_conf['tag_name'])
          if ssn_conf['pre_defined_subnet']:
-             dlab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
-                                                       ssn_conf['service_base_name'])
-             dlab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
+             datalab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
 -                                                      ssn_conf['service_base_name'])
++                                                         ssn_conf['service_base_name'])
+             datalab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
          if ssn_conf['pre_defined_vpc']:
-             dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc_id'])
-             dlab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
-             dlab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
+             datalab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc_id'])
+             datalab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
+             datalab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
          if ssn_conf['pre_defined_vpc2']:
-             dlab.actions_lib.remove_peering('*')
+             datalab.actions_lib.remove_peering('*')
              try:
-                 dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
+                 datalab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
              except:
                  print("There are no VPC Endpoints")
-             dlab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
-             dlab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
+             datalab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
+             datalab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
  
      try:
          logging.info('[DERIVING NAMES]')
@@@ -102,7 -102,7 +102,8 @@@
                  raise KeyError
          except KeyError:
              ssn_conf['tag'] = {"Key": ssn_conf['tag_name'], "Value": "{}-subnet".format(ssn_conf['service_base_name'])}
-             os.environ['aws_vpc_id'] = dlab.meta_lib.get_vpc_by_tag(ssn_conf['tag_name'], ssn_conf['service_base_name'])
 -            os.environ['aws_vpc_id'] = datalab.meta_lib.get_vpc_by_tag(ssn_conf['tag_name'], ssn_conf['service_base_name'])
++            os.environ['aws_vpc_id'] = datalab.meta_lib.get_vpc_by_tag(ssn_conf['tag_name'],
++                                                                       ssn_conf['service_base_name'])
              ssn_conf['pre_defined_vpc'] = True
          try:
              if os.environ['aws_subnet_id'] == '':
@@@ -116,15 -116,15 +117,15 @@@
                  raise KeyError
          except KeyError:
              ssn_conf['tag'] = {"Key": ssn_conf['tag2_name'], "Value": "{}-subnet".format(ssn_conf['service_base_name'])}
-             os.environ['aws_vpc2_id'] = dlab.meta_lib.get_vpc_by_tag(ssn_conf['tag2_name'],
-                                                                      ssn_conf['service_base_name'])
+             os.environ['aws_vpc2_id'] = datalab.meta_lib.get_vpc_by_tag(ssn_conf['tag2_name'],
 -                                                                     ssn_conf['service_base_name'])
++                                                                        ssn_conf['service_base_name'])
              ssn_conf['pre_defined_vpc2'] = True
          try:
              if os.environ['conf_duo_vpc_enable'] == 'true' and not os.environ['aws_peering_id']:
                  raise KeyError
          except KeyError:
-             os.environ['aws_peering_id'] = dlab.meta_lib.get_peering_by_tag(ssn_conf['tag_name'],
-                                                                             ssn_conf['service_base_name'])
+             os.environ['aws_peering_id'] = datalab.meta_lib.get_peering_by_tag(ssn_conf['tag_name'],
 -                                                                            ssn_conf['service_base_name'])
++                                                                               ssn_conf['service_base_name'])
              ssn_conf['pre_defined_peering'] = True
          try:
              if os.environ['aws_security_groups_ids'] == '':
@@@ -172,9 -172,9 +173,9 @@@
                  ssn_conf['tag_name'], ssn_conf['instance_name']).get('Private'))
              if ssn_conf['network_type'] == 'public':
                  ssn_conf['step_cert_sans'] += ' --san {0} --san {1}'.format(
-                     dlab.meta_lib.get_instance_hostname(ssn_conf['tag_name'], ssn_conf['instance_name']),
-                     dlab.meta_lib.get_instance_ip_address(ssn_conf['tag_name'],
-                                                           ssn_conf['instance_name']).get('Public'))
+                     datalab.meta_lib.get_instance_hostname(ssn_conf['tag_name'], ssn_conf['instance_name']),
+                     datalab.meta_lib.get_instance_ip_address(ssn_conf['tag_name'],
 -                                                          ssn_conf['instance_name']).get('Public'))
++                                                             ssn_conf['instance_name']).get('Public'))
          else:
              ssn_conf['step_cert_sans'] = ''
  
@@@ -216,16 -216,16 +217,16 @@@
          logging.info('[CONFIGURE SSN INSTANCE]')
          print('[CONFIGURE SSN INSTANCE]')
          additional_config = {"nginx_template_dir": "/root/templates/", "service_base_name":
--                             ssn_conf['service_base_name'],
++            ssn_conf['service_base_name'],
                               "security_group_id": os.environ['aws_security_groups_ids'],
                               "vpc_id": os.environ['aws_vpc_id'], "subnet_id": os.environ['aws_subnet_id'],
                               "admin_key": os.environ['conf_key_name']}
-         params = "--hostname {} --keyfile {} --additional_config '{}' --os_user {} --dlab_path {} " \
+         params = "--hostname {} --keyfile {} --additional_config '{}' --os_user {} --datalab_path {} " \
                   "--tag_resource_id {} --step_cert_sans '{}' ".format(
--                  ssn_conf['instance_hostname'],
--                  "{}{}.pem".format(os.environ['conf_key_dir'], os.environ['conf_key_name']),
-                   json.dumps(additional_config), ssn_conf['dlab_ssh_user'], os.environ['ssn_dlab_path'],
 -                  json.dumps(additional_config), ssn_conf['datalab_ssh_user'], os.environ['ssn_datalab_path'],
--                  os.environ['conf_tag_resource_id'], ssn_conf['step_cert_sans'])
++            ssn_conf['instance_hostname'],
++            "{}{}.pem".format(os.environ['conf_key_dir'], os.environ['conf_key_name']),
++            json.dumps(additional_config), ssn_conf['datalab_ssh_user'], os.environ['ssn_datalab_path'],
++            os.environ['conf_tag_resource_id'], ssn_conf['step_cert_sans'])
  
          try:
              local("~/scripts/{}.py {}".format('configure_ssn_node', params))
@@@ -274,8 -274,8 +275,8 @@@
          cloud_params = [
              {
                  'key': 'KEYCLOAK_REDIRECT_URI',
-                 'value': "https://{0}/".format(dlab.meta_lib.get_instance_hostname(ssn_conf['tag_name'],
-                                                                                    ssn_conf['instance_name']))
+                 'value': "https://{0}/".format(datalab.meta_lib.get_instance_hostname(ssn_conf['tag_name'],
 -                                                                                   ssn_conf['instance_name']))
++                                                                                      ssn_conf['instance_name']))
              },
              {
                  'key': 'KEYCLOAK_REALM_NAME',
@@@ -658,8 -658,8 +659,8 @@@
          with open("/root/result.json", 'w') as f:
              res = {"service_base_name": ssn_conf['service_base_name'],
                     "instance_name": ssn_conf['instance_name'],
-                    "instance_hostname": dlab.meta_lib.get_instance_hostname(ssn_conf['tag_name'],
-                                                                             ssn_conf['instance_name']),
+                    "instance_hostname": datalab.meta_lib.get_instance_hostname(ssn_conf['tag_name'],
 -                                                                            ssn_conf['instance_name']),
++                                                                               ssn_conf['instance_name']),
                     "role_name": ssn_conf['role_name'],
                     "role_profile_name": ssn_conf['role_profile_name'],
                     "policy_name": ssn_conf['policy_name'],
@@@ -673,8 -673,8 +674,8 @@@
              f.write(json.dumps(res))
  
          print('Upload response file')
--        params = "--instance_name {} --local_log_filepath {} --os_user {} --instance_hostname {}".\
-             format(ssn_conf['instance_name'], local_log_filepath, ssn_conf['dlab_ssh_user'],
++        params = "--instance_name {} --local_log_filepath {} --os_user {} --instance_hostname {}". \
+             format(ssn_conf['instance_name'], local_log_filepath, ssn_conf['datalab_ssh_user'],
                     ssn_conf['instance_hostname'])
          local("~/scripts/{}.py {}".format('upload_response_file', params))
  
diff --cc infrastructure-provisioning/src/general/scripts/aws/ssn_create_endpoint.py
index f44c6d9,7d751be..f54b89f
--- a/infrastructure-provisioning/src/general/scripts/aws/ssn_create_endpoint.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/ssn_create_endpoint.py
@@@ -22,12 -22,12 +22,13 @@@
  # ******************************************************************************
  
  import argparse
- from dlab.actions_lib import *
- from dlab.meta_lib import *
++import boto3
++import botocore
 +import sys
- import boto3, botocore
- from dlab.ssn_lib import *
 +import time
+ from datalab.actions_lib import *
+ from datalab.meta_lib import *
 -import sys
 -import boto3, botocore
+ from datalab.ssn_lib import *
 -import time
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--vpc_id', type=str, default='')
@@@ -36,7 -36,7 +37,6 @@@ parser.add_argument('--infra_tag_name'
  parser.add_argument('--infra_tag_value', type=str, default='')
  args = parser.parse_args()
  
--
  if __name__ == "__main__":
      tag = {"Key": args.infra_tag_name, "Value": args.infra_tag_value}
      waiter = time.sleep(10)
diff --cc infrastructure-provisioning/src/general/scripts/aws/ssn_create_vpc.py
index 3ab99dd,fa3348e..6042606
--- a/infrastructure-provisioning/src/general/scripts/aws/ssn_create_vpc.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/ssn_create_vpc.py
@@@ -22,10 -22,10 +22,9 @@@
  # ******************************************************************************
  
  import argparse
- from dlab.actions_lib import *
- from dlab.meta_lib import *
- 
+ from datalab.actions_lib import *
+ from datalab.meta_lib import *
  
 -
  parser = argparse.ArgumentParser()
  parser.add_argument('--vpc', type=str, default='')
  parser.add_argument('--secondary', dest='secondary', action='store_true')
diff --cc infrastructure-provisioning/src/general/scripts/aws/ssn_finalize.py
index ee6ac9d,0586714..e85379e
--- a/infrastructure-provisioning/src/general/scripts/aws/ssn_finalize.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/ssn_finalize.py
@@@ -21,12 -21,12 +21,11 @@@
  #
  # ******************************************************************************
  
--import boto3
  import argparse
++import boto3
  import sys
- from dlab.ssn_lib import *
- 
+ from datalab.ssn_lib import *
  
 -
  parser = argparse.ArgumentParser()
  parser.add_argument('--key_id', type=str, default='')
  args = parser.parse_args()
diff --cc infrastructure-provisioning/src/general/scripts/aws/ssn_prepare.py
index 45c65f2,109aca8..866d903
--- a/infrastructure-provisioning/src/general/scripts/aws/ssn_prepare.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/ssn_prepare.py
@@@ -21,17 -21,17 +21,13 @@@
  #
  # ******************************************************************************
  
++import datalab.meta_lib
++import json
  import logging
--import sys
  import os
--from fabric.api import *
- import dlab.ssn_lib
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
 -import datalab.ssn_lib
 -import datalab.fab
 -import datalab.actions_lib
 -import datalab.meta_lib
++import sys
  import traceback
--import json
--
++from fabric.api import *
  
  if __name__ == "__main__":
      local_log_filename = "{}_{}.log".format(os.environ['conf_resource'], os.environ['request_id'])
@@@ -111,10 -111,10 +107,10 @@@
              except:
                  traceback.print_exc()
                  raise Exception
-             os.environ['aws_vpc_id'] = dlab.meta_lib.get_vpc_by_tag(ssn_conf['tag_name'],
-                                                                     ssn_conf['service_base_name'])
+             os.environ['aws_vpc_id'] = datalab.meta_lib.get_vpc_by_tag(ssn_conf['tag_name'],
 -                                                                    ssn_conf['service_base_name'])
++                                                                       ssn_conf['service_base_name'])
          except Exception as err:
-             dlab.fab.append_result("Failed to create VPC", str(err))
+             datalab.fab.append_result("Failed to create VPC", str(err))
              sys.exit(1)
  
      ssn_conf['allowed_vpc_cidr_ip_ranges'] = list()
@@@ -137,15 -137,15 +133,15 @@@
              except:
                  traceback.print_exc()
                  raise Exception
-             os.environ['aws_vpc2_id'] = dlab.meta_lib.get_vpc_by_tag(ssn_conf['tag2_name'],
-                                                                      ssn_conf['service_base_name'])
+             os.environ['aws_vpc2_id'] = datalab.meta_lib.get_vpc_by_tag(ssn_conf['tag2_name'],
 -                                                                     ssn_conf['service_base_name'])
++                                                                        ssn_conf['service_base_name'])
          except Exception as err:
-             dlab.fab.append_result("Failed to create secondary VPC.", str(err))
+             datalab.fab.append_result("Failed to create secondary VPC.", str(err))
              if ssn_conf['pre_defined_vpc']:
-                 dlab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
-                                                           ssn_conf['service_base_name'])
-                 dlab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
-                 dlab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
+                 datalab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
 -                                                          ssn_conf['service_base_name'])
++                                                             ssn_conf['service_base_name'])
+                 datalab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
+                 datalab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
              sys.exit(1)
  
      try:
@@@ -167,25 -167,25 +163,25 @@@
                  raise Exception
              with open('/tmp/ssn_subnet_id', 'r') as f:
                  os.environ['aws_subnet_id'] = f.read()
-             dlab.actions_lib.enable_auto_assign_ip(os.environ['aws_subnet_id'])
+             datalab.actions_lib.enable_auto_assign_ip(os.environ['aws_subnet_id'])
          except Exception as err:
-             dlab.fab.append_result("Failed to create Subnet.", str(err))
+             datalab.fab.append_result("Failed to create Subnet.", str(err))
              if ssn_conf['pre_defined_vpc']:
-                 dlab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
-                                                           ssn_conf['service_base_name'])
-                 dlab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
+                 datalab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
 -                                                          ssn_conf['service_base_name'])
++                                                             ssn_conf['service_base_name'])
+                 datalab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
                  try:
-                     dlab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
+                     datalab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
                  except:
                      print("Subnet hasn't been created.")
-                 dlab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
+                 datalab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
              if ssn_conf['pre_defined_vpc2']:
                  try:
-                     dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
+                     datalab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
                  except:
                      print("There are no VPC Endpoints")
-                 dlab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
-                 dlab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
+                 datalab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
+                 datalab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
              sys.exit(1)
  
      try:
@@@ -195,29 -195,29 +191,29 @@@
          try:
              logging.info('[CREATE PEERING CONNECTION]')
              print('[CREATE PEERING CONNECTION]')
-             os.environ['aws_peering_id'] = dlab.actions_lib.create_peering_connection(
+             os.environ['aws_peering_id'] = datalab.actions_lib.create_peering_connection(
                  os.environ['aws_vpc_id'], os.environ['aws_vpc2_id'], ssn_conf['service_base_name'])
              print('PEERING CONNECTION ID:' + os.environ['aws_peering_id'])
-             dlab.actions_lib.create_route_by_id(os.environ['aws_subnet_id'], os.environ['aws_vpc_id'],
-                                                 os.environ['aws_peering_id'],
-                                                 dlab.meta_lib.get_cidr_by_vpc(os.environ['aws_vpc2_id']))
+             datalab.actions_lib.create_route_by_id(os.environ['aws_subnet_id'], os.environ['aws_vpc_id'],
 -                                                os.environ['aws_peering_id'],
 -                                                datalab.meta_lib.get_cidr_by_vpc(os.environ['aws_vpc2_id']))
++                                                   os.environ['aws_peering_id'],
++                                                   datalab.meta_lib.get_cidr_by_vpc(os.environ['aws_vpc2_id']))
          except Exception as err:
-             dlab.fab.append_result("Failed to create peering connection.", str(err))
+             datalab.fab.append_result("Failed to create peering connection.", str(err))
              if ssn_conf['pre_defined_vpc']:
-                 dlab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
+                 datalab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
                  try:
-                     dlab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
+                     datalab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
                  except:
                      print("Subnet hasn't been created.")
-                 dlab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
+                 datalab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
              if ssn_conf['pre_defined_vpc2']:
-                 dlab.actions_lib.remove_peering('*')
+                 datalab.actions_lib.remove_peering('*')
                  try:
-                     dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
+                     datalab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
                  except:
                      print("There are no VPC Endpoints")
-                 dlab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
-                 dlab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
+                 datalab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
+                 datalab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
              sys.exit(1)
  
      try:
@@@ -283,21 -283,21 +279,21 @@@
              with open('/tmp/ssn_sg_id', 'r') as f:
                  os.environ['aws_security_groups_ids'] = f.read()
          except Exception as err:
-             dlab.gab_lib.append_result("Failed creating security group for SSN.", str(err))
+             datalab.gab_lib.append_result("Failed creating security group for SSN.", str(err))
              if ssn_conf['pre_defined_vpc']:
-                 dlab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
-                                                           ssn_conf['service_base_name'])
-                 dlab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
-                 dlab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
-                 dlab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
+                 datalab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
 -                                                          ssn_conf['service_base_name'])
++                                                             ssn_conf['service_base_name'])
+                 datalab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
+                 datalab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
+                 datalab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
              if ssn_conf['pre_defined_vpc2']:
-                 dlab.actions_lib.remove_peering('*')
+                 datalab.actions_lib.remove_peering('*')
                  try:
-                     dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
+                     datalab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
                  except:
                      print("There are no VPC Endpoints")
-                 dlab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
-                 dlab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
+                 datalab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
+                 datalab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
              sys.exit(1)
  
      try:
@@@ -314,24 -314,24 +310,24 @@@
              traceback.print_exc()
              raise Exception
      except Exception as err:
-         dlab.fab.append_result("Unable to create roles.", str(err))
+         datalab.fab.append_result("Unable to create roles.", str(err))
          if ssn_conf['pre_defined_sg']:
-             dlab.actions_lib.remove_sgroups(ssn_conf['tag_name'])
+             datalab.actions_lib.remove_sgroups(ssn_conf['tag_name'])
          if ssn_conf['pre_defined_subnet']:
-             dlab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
-                                                       ssn_conf['service_base_name'])
-             dlab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
+             datalab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
 -                                                      ssn_conf['service_base_name'])
++                                                         ssn_conf['service_base_name'])
+             datalab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
          if ssn_conf['pre_defined_vpc']:
-             dlab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
-             dlab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
+             datalab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
+             datalab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
          if ssn_conf['pre_defined_vpc2']:
-             dlab.actions_lib.remove_peering('*')
+             datalab.actions_lib.remove_peering('*')
              try:
-                 dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
+                 datalab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
              except:
                  print("There are no VPC Endpoints")
-             dlab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
-             dlab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
+             datalab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
+             datalab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
          sys.exit(1)
  
      try:
@@@ -345,25 -345,25 +341,25 @@@
              traceback.print_exc()
              raise Exception
      except Exception as err:
-         dlab.fab.append_result("Unable to create an endpoint.", str(err))
-         dlab.actions_lib.remove_all_iam_resources(ssn_conf['instance'])
+         datalab.fab.append_result("Unable to create an endpoint.", str(err))
+         datalab.actions_lib.remove_all_iam_resources(ssn_conf['instance'])
          if ssn_conf['pre_defined_sg']:
-             dlab.actions_lib.remove_sgroups(ssn_conf['tag_name'])
+             datalab.actions_lib.remove_sgroups(ssn_conf['tag_name'])
          if ssn_conf['pre_defined_subnet']:
-             dlab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
-                                                       ssn_conf['service_base_name'])
-             dlab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
+             datalab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
 -                                                      ssn_conf['service_base_name'])
++                                                         ssn_conf['service_base_name'])
+             datalab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
          if ssn_conf['pre_defined_vpc']:
-             dlab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
-             dlab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
+             datalab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
+             datalab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
          if ssn_conf['pre_defined_vpc2']:
-             dlab.actions_lib.remove_peering('*')
+             datalab.actions_lib.remove_peering('*')
              try:
-                 dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
+                 datalab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
              except:
                  print("There are no VPC Endpoints")
-             dlab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
-             dlab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
+             datalab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
+             datalab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
          sys.exit(1)
  
      if os.environ['conf_duo_vpc_enable'] == 'true':
@@@ -379,25 -379,25 +375,25 @@@
                  traceback.print_exc()
                  raise Exception
          except Exception as err:
-             dlab.fab.append_result("Unable to create secondary endpoint.", str(err))
-             dlab.actions_lib.remove_all_iam_resources(ssn_conf['instance'])
+             datalab.fab.append_result("Unable to create secondary endpoint.", str(err))
+             datalab.actions_lib.remove_all_iam_resources(ssn_conf['instance'])
              if ssn_conf['pre_defined_sg']:
-                 dlab.actions_lib.remove_sgroups(ssn_conf['tag_name'])
+                 datalab.actions_lib.remove_sgroups(ssn_conf['tag_name'])
              if ssn_conf['pre_defined_subnet']:
-                 dlab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
-                                                           ssn_conf['service_base_name'])
-                 dlab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
+                 datalab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
 -                                                          ssn_conf['service_base_name'])
++                                                             ssn_conf['service_base_name'])
+                 datalab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
              if ssn_conf['pre_defined_vpc']:
-                 dlab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
-                 dlab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
+                 datalab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
+                 datalab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
              if ssn_conf['pre_defined_vpc2']:
-                 dlab.actions_lib.remove_peering('*')
+                 datalab.actions_lib.remove_peering('*')
                  try:
-                     dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
+                     datalab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
                  except:
                      print("There are no VPC Endpoints")
-                 dlab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
-                 dlab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
+                 datalab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
+                 datalab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
              sys.exit(1)
  
      try:
@@@ -416,27 -416,27 +412,27 @@@
              traceback.print_exc()
              raise Exception
      except Exception as err:
-         dlab.fab.append_result("Unable to create ssn instance.", str(err))
-         dlab.actions_lib.remove_all_iam_resources(ssn_conf['instance'])
-         dlab.actions_lib.remove_s3(ssn_conf['instance'])
+         datalab.fab.append_result("Unable to create ssn instance.", str(err))
+         datalab.actions_lib.remove_all_iam_resources(ssn_conf['instance'])
+         datalab.actions_lib.remove_s3(ssn_conf['instance'])
          if ssn_conf['pre_defined_sg']:
-             dlab.actions_lib.remove_sgroups(ssn_conf['tag_name'])
+             datalab.actions_lib.remove_sgroups(ssn_conf['tag_name'])
          if ssn_conf['pre_defined_subnet']:
-             dlab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
-                                                       ssn_conf['service_base_name'])
-             dlab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
+             datalab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
 -                                                      ssn_conf['service_base_name'])
++                                                         ssn_conf['service_base_name'])
+             datalab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
          if ssn_conf['pre_defined_vpc']:
-             dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc_id'])
-             dlab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
-             dlab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
+             datalab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc_id'])
+             datalab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
+             datalab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
          if ssn_conf['pre_defined_vpc2']:
-             dlab.actions_lib.remove_peering('*')
+             datalab.actions_lib.remove_peering('*')
              try:
-                 dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
+                 datalab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
              except:
                  print("There are no VPC Endpoints")
-             dlab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
-             dlab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
+             datalab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
+             datalab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
          sys.exit(1)
  
      if ssn_conf['network_type'] == 'public':
@@@ -456,72 -456,72 +452,72 @@@
                  traceback.print_exc()
                  raise Exception
          except Exception as err:
-             dlab.fab.append_result("Failed to associate elastic ip.", str(err))
-             dlab.actions_lib.remove_ec2(ssn_conf['tag_name'], ssn_conf['instance_name'])
-             dlab.actions_lib.remove_all_iam_resources(ssn_conf['instance'])
-             dlab.actions_lib.remove_s3(ssn_conf['instance'])
+             datalab.fab.append_result("Failed to associate elastic ip.", str(err))
+             datalab.actions_lib.remove_ec2(ssn_conf['tag_name'], ssn_conf['instance_name'])
+             datalab.actions_lib.remove_all_iam_resources(ssn_conf['instance'])
+             datalab.actions_lib.remove_s3(ssn_conf['instance'])
              if ssn_conf['pre_defined_sg']:
-                 dlab.actions_lib.remove_sgroups(ssn_conf['tag_name'])
+                 datalab.actions_lib.remove_sgroups(ssn_conf['tag_name'])
              if ssn_conf['pre_defined_subnet']:
-                 dlab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
-                                                           ssn_conf['service_base_name'])
-                 dlab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
+                 datalab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
 -                                                          ssn_conf['service_base_name'])
++                                                             ssn_conf['service_base_name'])
+                 datalab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
              if ssn_conf['pre_defined_vpc']:
-                 dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc_id'])
-                 dlab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
-                 dlab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
+                 datalab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc_id'])
+                 datalab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
+                 datalab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
              if ssn_conf['pre_defined_vpc2']:
-                 dlab.actions_lib.remove_peering('*')
+                 datalab.actions_lib.remove_peering('*')
                  try:
-                     dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
+                     datalab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
                  except:
                      print("There are no VPC Endpoints")
-                 dlab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
-                 dlab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
+                 datalab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
+                 datalab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
              sys.exit(1)
  
      if ssn_conf['network_type'] == 'private':
-         ssn_conf['instance_ip'] = dlab.meta_lib.get_instance_ip_address(ssn_conf['tag_name'],
-                                                                         ssn_conf['instance_name']).get('Private')
+         ssn_conf['instance_ip'] = datalab.meta_lib.get_instance_ip_address(ssn_conf['tag_name'],
 -                                                                        ssn_conf['instance_name']).get('Private')
++                                                                           ssn_conf['instance_name']).get('Private')
      else:
-         ssn_conf['instance_ip'] = dlab.meta_lib.get_instance_ip_address(ssn_conf['tag_name'],
-                                                                         ssn_conf['instance_name']).get('Public')
+         ssn_conf['instance_ip'] = datalab.meta_lib.get_instance_ip_address(ssn_conf['tag_name'],
 -                                                                        ssn_conf['instance_name']).get('Public')
++                                                                           ssn_conf['instance_name']).get('Public')
  
      if 'ssn_hosted_zone_id' in os.environ and 'ssn_hosted_zone_name' in os.environ and 'ssn_subdomain' in os.environ:
          try:
              logging.info('[CREATING ROUTE53 RECORD]')
              print('[CREATING ROUTE53 RECORD]')
              try:
-                 dlab.actions_lib.create_route_53_record(os.environ['ssn_hosted_zone_id'],
-                                                         os.environ['ssn_hosted_zone_name'],
-                                                         os.environ['ssn_subdomain'], ssn_conf['instance_ip'])
+                 datalab.actions_lib.create_route_53_record(os.environ['ssn_hosted_zone_id'],
 -                                                        os.environ['ssn_hosted_zone_name'],
 -                                                        os.environ['ssn_subdomain'], ssn_conf['instance_ip'])
++                                                           os.environ['ssn_hosted_zone_name'],
++                                                           os.environ['ssn_subdomain'], ssn_conf['instance_ip'])
              except:
                  traceback.print_exc()
                  raise Exception
          except Exception as err:
-             dlab.fab.append_result("Failed to create route53 record.", str(err))
-             dlab.actions_lib.remove_route_53_record(os.environ['ssn_hosted_zone_id'],
-                                                     os.environ['ssn_hosted_zone_name'],
-                                    os.environ['ssn_subdomain'])
-             dlab.actions_lib.remove_ec2(ssn_conf['tag_name'], ssn_conf['instance_name'])
-             dlab.actions_lib.remove_all_iam_resources(ssn_conf['instance'])
-             dlab.actions_lib.remove_s3(ssn_conf['instance'])
+             datalab.fab.append_result("Failed to create route53 record.", str(err))
+             datalab.actions_lib.remove_route_53_record(os.environ['ssn_hosted_zone_id'],
 -                                                    os.environ['ssn_hosted_zone_name'],
 -                                   os.environ['ssn_subdomain'])
++                                                       os.environ['ssn_hosted_zone_name'],
++                                                       os.environ['ssn_subdomain'])
+             datalab.actions_lib.remove_ec2(ssn_conf['tag_name'], ssn_conf['instance_name'])
+             datalab.actions_lib.remove_all_iam_resources(ssn_conf['instance'])
+             datalab.actions_lib.remove_s3(ssn_conf['instance'])
              if ssn_conf['pre_defined_sg']:
-                 dlab.actions_lib.remove_sgroups(ssn_conf['tag_name'])
+                 datalab.actions_lib.remove_sgroups(ssn_conf['tag_name'])
              if ssn_conf['pre_defined_subnet']:
-                 dlab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
-                                                           ssn_conf['service_base_name'])
-                 dlab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
+                 datalab.actions_lib.remove_internet_gateways(os.environ['aws_vpc_id'], ssn_conf['tag_name'],
 -                                                          ssn_conf['service_base_name'])
++                                                             ssn_conf['service_base_name'])
+                 datalab.actions_lib.remove_subnets(ssn_conf['subnet_name'])
              if ssn_conf['pre_defined_vpc']:
-                 dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc_id'])
-                 dlab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
-                 dlab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
+                 datalab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc_id'])
+                 datalab.actions_lib.remove_route_tables(ssn_conf['tag_name'], True)
+                 datalab.actions_lib.remove_vpc(os.environ['aws_vpc_id'])
              if ssn_conf['pre_defined_vpc2']:
-                 dlab.actions_lib.remove_peering('*')
+                 datalab.actions_lib.remove_peering('*')
                  try:
-                     dlab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
+                     datalab.actions_lib.remove_vpc_endpoints(os.environ['aws_vpc2_id'])
                  except:
                      print("There are no VPC Endpoints")
-                 dlab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
-                 dlab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
+                 datalab.actions_lib.remove_route_tables(ssn_conf['tag2_name'], True)
+                 datalab.actions_lib.remove_vpc(os.environ['aws_vpc2_id'])
              sys.exit(1)
diff --cc infrastructure-provisioning/src/general/scripts/aws/ssn_terminate.py
index 975e8d3,c6e70bb..13c8434
--- a/infrastructure-provisioning/src/general/scripts/aws/ssn_terminate.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/ssn_terminate.py
@@@ -21,16 -21,16 +21,13 @@@
  #
  # ******************************************************************************
  
--import sys
--import os
++import datalab.ssn_lib
++import json
  import logging
++import os
++import sys
  import traceback
  from fabric.api import *
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
- import dlab.ssn_lib
 -import datalab.fab
 -import datalab.actions_lib
 -import datalab.meta_lib
 -import datalab.ssn_lib
--import json
  
  if __name__ == "__main__":
      local_log_filename = "{}_{}.log".format(os.environ['conf_resource'], os.environ['request_id'])
@@@ -40,13 -40,13 +37,13 @@@
                          filename=local_log_filepath)
      # generating variables dictionary
      if 'aws_access_key' in os.environ and 'aws_secret_access_key' in os.environ:
-         dlab.actions_lib.create_aws_config_files(generate_full_config=True)
+         datalab.actions_lib.create_aws_config_files(generate_full_config=True)
      else:
-         dlab.actions_lib.create_aws_config_files()
+         datalab.actions_lib.create_aws_config_files()
      print('Generating infrastructure names and tags')
      ssn_conf = dict()
-     ssn_conf['service_base_name'] = os.environ['conf_service_base_name'] = dlab.fab.replace_multi_symbols(
-             os.environ['conf_service_base_name'][:20], '-', True)
+     ssn_conf['service_base_name'] = os.environ['conf_service_base_name'] = datalab.fab.replace_multi_symbols(
 -            os.environ['conf_service_base_name'][:20], '-', True)
++        os.environ['conf_service_base_name'][:20], '-', True)
      ssn_conf['tag_name'] = ssn_conf['service_base_name'] + '-tag'
      ssn_conf['edge_sg'] = ssn_conf['service_base_name'] + "*" + '-edge'
      ssn_conf['nb_sg'] = ssn_conf['service_base_name'] + "*" + '-nb'
diff --cc infrastructure-provisioning/src/general/scripts/aws/ssn_terminate_aws_resources.py
index 27b5913,d0a7eef..f2f992f
--- a/infrastructure-provisioning/src/general/scripts/aws/ssn_terminate_aws_resources.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/ssn_terminate_aws_resources.py
@@@ -21,14 -21,14 +21,11 @@@
  #
  # ******************************************************************************
  
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
- import dlab.ssn_lib
 -import datalab.fab
 -import datalab.actions_lib
 -import datalab.meta_lib
 -import datalab.ssn_lib
--import boto3
  import argparse
--import sys
++import boto3
++import datalab.ssn_lib
  import os
++import sys
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--tag_name', type=str)
@@@ -78,8 -78,8 +75,8 @@@ if __name__ == "__main__"
  
      if 'ssn_hosted_zone_id' in os.environ and 'ssn_hosted_zone_name' in os.environ and 'ssn_subdomain' in os.environ:
          print("Removing Route53 records")
-         dlab.actions_lib.remove_route_53_record(os.environ['ssn_hosted_zone_id'], os.environ['ssn_hosted_zone_name'],
-                                                 os.environ['ssn_subdomain'])
+         datalab.actions_lib.remove_route_53_record(os.environ['ssn_hosted_zone_id'], os.environ['ssn_hosted_zone_name'],
 -                                                os.environ['ssn_subdomain'])
++                                                   os.environ['ssn_subdomain'])
  
      print("Removing security groups")
      try:
diff --cc infrastructure-provisioning/src/general/scripts/aws/tensor-rstudio_configure.py
index 6baaf45,5028e4c..3d69022
--- a/infrastructure-provisioning/src/general/scripts/aws/tensor-rstudio_configure.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/tensor-rstudio_configure.py
@@@ -21,15 -21,15 +21,12 @@@
  #
  # ******************************************************************************
  
--import logging
 -import json
 -import sys
 -import traceback
 -import datalab.fab
 -import datalab.actions_lib
++import argparse
+ import datalab.meta_lib
 +import json
- import sys
- import traceback
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
++import logging
  import os
--import argparse
++import sys
  import traceback
  from fabric.api import *
  
@@@ -37,7 -37,7 +34,6 @@@ parser = argparse.ArgumentParser(
  parser.add_argument('--uuid', type=str, default='')
  args = parser.parse_args()
  
--
  if __name__ == "__main__":
      instance_class = 'notebook'
      local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['project_name'],
@@@ -88,21 -88,21 +84,22 @@@
              notebook_config['tag_name'], notebook_config['instance_name']).get('Private')
  
          # generating variables regarding EDGE proxy on Notebook instance
-         instance_hostname = dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'],
-                                                                 notebook_config['instance_name'])
+         instance_hostname = datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'],
 -                                                                notebook_config['instance_name'])
++                                                                   notebook_config['instance_name'])
          edge_instance_name = '{}-{}-{}-edge'.format(notebook_config['service_base_name'],
                                                      notebook_config['project_name'], notebook_config['endpoint_name'])
-         edge_instance_hostname = dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'], edge_instance_name)
-         edge_instance_private_ip = dlab.meta_lib.get_instance_ip_address(notebook_config['tag_name'],
-                                                                          edge_instance_name).get('Private')
-         notebook_config['edge_instance_hostname'] = dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'],
-                                                                                         edge_instance_name)
+         edge_instance_hostname = datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'], edge_instance_name)
+         edge_instance_private_ip = datalab.meta_lib.get_instance_ip_address(notebook_config['tag_name'],
 -                                                                         edge_instance_name).get('Private')
++                                                                            edge_instance_name).get('Private')
+         notebook_config['edge_instance_hostname'] = datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'],
 -                                                                                        edge_instance_name)
++                                                                                           edge_instance_name)
          keyfile_name = "{}{}.pem".format(os.environ['conf_key_dir'], os.environ['conf_key_name'])
-         edge_ip = dlab.meta_lib.get_instance_ip_address(notebook_config['tag_name'], edge_instance_name).get('Private')
-         notebook_config['rstudio_pass'] = dlab.fab.id_generator()
 -        edge_ip = datalab.meta_lib.get_instance_ip_address(notebook_config['tag_name'], edge_instance_name).get('Private')
++        edge_ip = datalab.meta_lib.get_instance_ip_address(notebook_config['tag_name'], edge_instance_name).get(
++            'Private')
+         notebook_config['rstudio_pass'] = datalab.fab.id_generator()
      except Exception as err:
-         dlab.fab.append_result("Failed to generate variables dictionary.", str(err))
-         dlab.actions_lib.remove_ec2(notebook_config['tag_name'], notebook_config['instance_name'])
+         datalab.fab.append_result("Failed to generate variables dictionary.", str(err))
+         datalab.actions_lib.remove_ec2(notebook_config['tag_name'], notebook_config['instance_name'])
          sys.exit(1)
  
      try:
@@@ -151,8 -151,8 +148,8 @@@
      try:
          logging.info('[INSTALLING PREREQUISITES TO TENSORFLOW-RSTUDIO NOTEBOOK INSTANCE]')
          print('[INSTALLING PREREQUISITES TO TENSORFLOW-RSTUDIO NOTEBOOK INSTANCE]')
--        params = "--hostname {} --keyfile {} --user {} --region {} --edge_private_ip {}".\
-             format(instance_hostname, keyfile_name, notebook_config['dlab_ssh_user'], os.environ['aws_region'],
++        params = "--hostname {} --keyfile {} --user {} --region {} --edge_private_ip {}". \
+             format(instance_hostname, keyfile_name, notebook_config['datalab_ssh_user'], os.environ['aws_region'],
                     edge_instance_private_ip)
          try:
              local("~/scripts/{}.py {}".format('install_prerequisites', params))
@@@ -243,8 -243,8 +240,8 @@@
              'instance_hostname': instance_hostname,
              'tensor': True
          }
--        params = "--edge_hostname {} --keyfile {} --os_user {} --type {} --exploratory_name {} --additional_info '{}'"\
-             .format(edge_instance_hostname, keyfile_name, notebook_config['dlab_ssh_user'], 'rstudio',
++        params = "--edge_hostname {} --keyfile {} --os_user {} --type {} --exploratory_name {} --additional_info '{}'" \
+             .format(edge_instance_hostname, keyfile_name, notebook_config['datalab_ssh_user'], 'rstudio',
                      notebook_config['exploratory_name'], json.dumps(additional_info))
          try:
              local("~/scripts/{}.py {}".format('common_configure_reverse_proxy', params))
@@@ -293,9 -293,9 +290,9 @@@
  
      try:
          # generating output information
-         ip_address = dlab.meta_lib.get_instance_ip_address(notebook_config['tag_name'],
-                                                            notebook_config['instance_name']).get('Private')
-         dns_name = dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'], notebook_config['instance_name'])
+         ip_address = datalab.meta_lib.get_instance_ip_address(notebook_config['tag_name'],
 -                                                           notebook_config['instance_name']).get('Private')
++                                                              notebook_config['instance_name']).get('Private')
+         dns_name = datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'], notebook_config['instance_name'])
          tensorboard_url = "http://" + ip_address + ":6006/"
          rstudio_ip_url = "http://" + ip_address + ":8787/"
          rstudio_dns_url = "http://" + dns_name + ":8787/"
@@@ -311,8 -311,8 +308,8 @@@
          print("Instance name: {}".format(notebook_config['instance_name']))
          print("Private DNS: {}".format(dns_name))
          print("Private IP: {}".format(ip_address))
-         print("Instance ID: {}".format(dlab.meta_lib.get_instance_by_name(notebook_config['tag_name'],
-                                                                           notebook_config['instance_name'])))
+         print("Instance ID: {}".format(datalab.meta_lib.get_instance_by_name(notebook_config['tag_name'],
 -                                                                          notebook_config['instance_name'])))
++                                                                             notebook_config['instance_name'])))
          print("Instance type: {}".format(notebook_config['instance_type']))
          print("Key name: {}".format(notebook_config['key_name']))
          print("User key name: {}".format(notebook_config['user_keyname']))
@@@ -334,8 -334,8 +331,8 @@@
          with open("/root/result.json", 'w') as result:
              res = {"hostname": dns_name,
                     "ip": ip_address,
-                    "instance_id": dlab.meta_lib.get_instance_by_name(notebook_config['tag_name'],
-                                                                      notebook_config['instance_name']),
+                    "instance_id": datalab.meta_lib.get_instance_by_name(notebook_config['tag_name'],
 -                                                                     notebook_config['instance_name']),
++                                                                        notebook_config['instance_name']),
                     "master_keyname": os.environ['conf_key_name'],
                     "tensorboard_log_dir": "/var/log/tensorboard",
                     "notebook_name": notebook_config['instance_name'],
@@@ -347,15 -347,15 +344,15 @@@
                         {"description": "TensorBoard",
                          "url": tensorboard_access_url},
                         {"description": "Ungit",
--                        "url": rstudio_ungit_access_url}#,
--                       #{"description": "RStudio (via tunnel)",
++                        "url": rstudio_ungit_access_url}  # ,
++                       # {"description": "RStudio (via tunnel)",
                         # "url": rstudio_ip_url},
--                       #{"description": "TensorBoard (via tunnel)",
++                       # {"description": "TensorBoard (via tunnel)",
                         # "url": tensorboard_url},
--                       #{"description": "Ungit (via tunnel)",
++                       # {"description": "Ungit (via tunnel)",
                         # "url": ungit_ip_url}
                     ],
-                    "exploratory_user": notebook_config['dlab_ssh_user'],
+                    "exploratory_user": notebook_config['datalab_ssh_user'],
                     "exploratory_pass": notebook_config['rstudio_pass']}
              result.write(json.dumps(res))
      except Exception as err:
diff --cc infrastructure-provisioning/src/general/scripts/aws/tensor_configure.py
index 3cf3a46,fc4c65a..cf7ed18
--- a/infrastructure-provisioning/src/general/scripts/aws/tensor_configure.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/tensor_configure.py
@@@ -21,15 -21,15 +21,12 @@@
  #
  # ******************************************************************************
  
--import logging
 -import json
 -import sys
 -import traceback
 -import datalab.fab
 -import datalab.actions_lib
++import argparse
+ import datalab.meta_lib
 +import json
- import sys
- import traceback
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
++import logging
  import os
--import argparse
++import sys
  import traceback
  from fabric.api import *
  
@@@ -37,7 -37,7 +34,6 @@@ parser = argparse.ArgumentParser(
  parser.add_argument('--uuid', type=str, default='')
  args = parser.parse_args()
  
--
  if __name__ == "__main__":
      instance_class = 'notebook'
      local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['project_name'],
@@@ -88,20 -88,20 +84,21 @@@
              notebook_config['tag_name'], notebook_config['instance_name']).get('Private')
  
          # generating variables regarding EDGE proxy on Notebook instance
-         instance_hostname = dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'],
-                                                                 notebook_config['instance_name'])
+         instance_hostname = datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'],
 -                                                                notebook_config['instance_name'])
++                                                                   notebook_config['instance_name'])
          edge_instance_name = '{}-{}-{}-edge'.format(notebook_config['service_base_name'],
                                                      notebook_config['project_name'], notebook_config['endpoint_name'])
-         edge_instance_hostname = dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'], edge_instance_name)
-         edge_instance_private_ip = dlab.meta_lib.get_instance_ip_address(notebook_config['tag_name'],
-                                                                          edge_instance_name).get('Private')
-         notebook_config['edge_instance_hostname'] = dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'],
-                                                                                         edge_instance_name)
+         edge_instance_hostname = datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'], edge_instance_name)
+         edge_instance_private_ip = datalab.meta_lib.get_instance_ip_address(notebook_config['tag_name'],
 -                                                                         edge_instance_name).get('Private')
++                                                                            edge_instance_name).get('Private')
+         notebook_config['edge_instance_hostname'] = datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'],
 -                                                                                        edge_instance_name)
++                                                                                           edge_instance_name)
          keyfile_name = "{}{}.pem".format(os.environ['conf_key_dir'], os.environ['conf_key_name'])
-         edge_ip = dlab.meta_lib.get_instance_ip_address(notebook_config['tag_name'], edge_instance_name).get('Private')
 -        edge_ip = datalab.meta_lib.get_instance_ip_address(notebook_config['tag_name'], edge_instance_name).get('Private')
++        edge_ip = datalab.meta_lib.get_instance_ip_address(notebook_config['tag_name'], edge_instance_name).get(
++            'Private')
      except Exception as err:
-         dlab.fab.append_result("Failed to generate variables dictionary.", str(err))
-         dlab.actions_lib.remove_ec2(notebook_config['tag_name'], notebook_config['instance_name'])
+         datalab.fab.append_result("Failed to generate variables dictionary.", str(err))
+         datalab.actions_lib.remove_ec2(notebook_config['tag_name'], notebook_config['instance_name'])
          sys.exit(1)
  
      try:
@@@ -150,8 -150,8 +147,8 @@@
      try:
          logging.info('[INSTALLING PREREQUISITES TO TENSOR NOTEBOOK INSTANCE]')
          print('[INSTALLING PREREQUISITES TO TENSOR NOTEBOOK INSTANCE]')
--        params = "--hostname {} --keyfile {} --user {} --region {} --edge_private_ip {}".\
-             format(instance_hostname, keyfile_name, notebook_config['dlab_ssh_user'], os.environ['aws_region'],
++        params = "--hostname {} --keyfile {} --user {} --region {} --edge_private_ip {}". \
+             format(instance_hostname, keyfile_name, notebook_config['datalab_ssh_user'], os.environ['aws_region'],
                     edge_instance_private_ip)
          try:
              local("~/scripts/{}.py {}".format('install_prerequisites', params))
@@@ -239,8 -239,8 +236,8 @@@
              'instance_hostname': instance_hostname,
              'tensor': True
          }
--        params = "--edge_hostname {} --keyfile {} --os_user {} --type {} --exploratory_name {} --additional_info '{}'"\
-             .format(edge_instance_hostname, keyfile_name, notebook_config['dlab_ssh_user'], 'jupyter',
++        params = "--edge_hostname {} --keyfile {} --os_user {} --type {} --exploratory_name {} --additional_info '{}'" \
+             .format(edge_instance_hostname, keyfile_name, notebook_config['datalab_ssh_user'], 'jupyter',
                      notebook_config['exploratory_name'], json.dumps(additional_info))
          try:
              local("~/scripts/{}.py {}".format('common_configure_reverse_proxy', params))
@@@ -288,9 -288,9 +285,9 @@@
              sys.exit(1)
      try:
          # generating output information
-         ip_address = dlab.meta_lib.get_instance_ip_address(notebook_config['tag_name'],
-                                                            notebook_config['instance_name']).get('Private')
-         dns_name = dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'], notebook_config['instance_name'])
+         ip_address = datalab.meta_lib.get_instance_ip_address(notebook_config['tag_name'],
 -                                                           notebook_config['instance_name']).get('Private')
++                                                              notebook_config['instance_name']).get('Private')
+         dns_name = datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'], notebook_config['instance_name'])
          tensorboard_url = "http://" + ip_address + ":6006/"
          jupyter_ip_url = "http://" + ip_address + ":8888/{}/".format(notebook_config['exploratory_name'])
          jupyter_notebook_access_url = "https://{}/{}/".format(notebook_config['edge_instance_hostname'],
@@@ -305,8 -305,8 +302,8 @@@
          print("Instance name: {}".format(notebook_config['instance_name']))
          print("Private DNS: {}".format(dns_name))
          print("Private IP: {}".format(ip_address))
-         print("Instance ID: {}".format(dlab.meta_lib.get_instance_by_name(notebook_config['tag_name'],
-                                                                           notebook_config['instance_name'])))
+         print("Instance ID: {}".format(datalab.meta_lib.get_instance_by_name(notebook_config['tag_name'],
 -                                                                          notebook_config['instance_name'])))
++                                                                             notebook_config['instance_name'])))
          print("Instance type: {}".format(notebook_config['instance_type']))
          print("Key name: {}".format(notebook_config['key_name']))
          print("User key name: {}".format(notebook_config['user_keyname']))
@@@ -325,8 -325,8 +322,8 @@@
          with open("/root/result.json", 'w') as result:
              res = {"hostname": dns_name,
                     "ip": ip_address,
-                    "instance_id": dlab.meta_lib.get_instance_by_name(notebook_config['tag_name'],
-                                                                      notebook_config['instance_name']),
+                    "instance_id": datalab.meta_lib.get_instance_by_name(notebook_config['tag_name'],
 -                                                                     notebook_config['instance_name']),
++                                                                        notebook_config['instance_name']),
                     "master_keyname": os.environ['conf_key_name'],
                     "tensorboard_log_dir": "/var/log/tensorboard",
                     "notebook_name": notebook_config['instance_name'],
diff --cc infrastructure-provisioning/src/general/scripts/aws/zeppelin_configure.py
index dbdae70,3cef609..42d1e42
--- a/infrastructure-provisioning/src/general/scripts/aws/zeppelin_configure.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/zeppelin_configure.py
@@@ -21,15 -21,15 +21,12 @@@
  #
  # ******************************************************************************
  
--import logging
 -import json
 -import sys
 -import traceback
 -import datalab.fab
 -import datalab.actions_lib
++import argparse
+ import datalab.meta_lib
 +import json
- import sys
- import traceback
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
++import logging
  import os
--import argparse
++import sys
  import traceback
  from fabric.api import *
  
@@@ -37,7 -37,7 +34,6 @@@ parser = argparse.ArgumentParser(
  parser.add_argument('--uuid', type=str, default='')
  args = parser.parse_args()
  
--
  if __name__ == "__main__":
      instance_class = 'notebook'
      local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['project_name'],
@@@ -94,20 -94,20 +90,21 @@@
          else:
              notebook_config['endpoint_url'] = 'https://s3-{}.amazonaws.com'.format(notebook_config['region'])
          # generating variables regarding EDGE proxy on Notebook instance
-         instance_hostname = dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'],
-                                                                 notebook_config['instance_name'])
+         instance_hostname = datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'],
 -                                                                notebook_config['instance_name'])
++                                                                   notebook_config['instance_name'])
          edge_instance_name = '{}-{}-{}-edge'.format(notebook_config['service_base_name'],
                                                      notebook_config['project_name'], notebook_config['endpoint_name'])
-         edge_instance_hostname = dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'], edge_instance_name)
-         edge_instance_private_ip = dlab.meta_lib.get_instance_ip_address(notebook_config['tag_name'],
-                                                                          edge_instance_name).get('Private')
-         notebook_config['edge_instance_hostname'] = dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'],
-                                                                                         edge_instance_name)
+         edge_instance_hostname = datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'], edge_instance_name)
+         edge_instance_private_ip = datalab.meta_lib.get_instance_ip_address(notebook_config['tag_name'],
 -                                                                         edge_instance_name).get('Private')
++                                                                            edge_instance_name).get('Private')
+         notebook_config['edge_instance_hostname'] = datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'],
 -                                                                                        edge_instance_name)
++                                                                                           edge_instance_name)
          keyfile_name = "{}{}.pem".format(os.environ['conf_key_dir'], os.environ['conf_key_name'])
-         edge_ip = dlab.meta_lib.get_instance_ip_address(notebook_config['tag_name'], edge_instance_name).get('Private')
 -        edge_ip = datalab.meta_lib.get_instance_ip_address(notebook_config['tag_name'], edge_instance_name).get('Private')
++        edge_ip = datalab.meta_lib.get_instance_ip_address(notebook_config['tag_name'], edge_instance_name).get(
++            'Private')
      except Exception as err:
-         dlab.fab.append_result("Failed to generate variables dictionary.", str(err))
-         dlab.actions_lib.remove_ec2(notebook_config['tag_name'], notebook_config['instance_name'])
+         datalab.fab.append_result("Failed to generate variables dictionary.", str(err))
+         datalab.actions_lib.remove_ec2(notebook_config['tag_name'], notebook_config['instance_name'])
          sys.exit(1)
  
      try:
@@@ -175,8 -175,8 +172,9 @@@
          logging.info('[CONFIGURE ZEPPELIN NOTEBOOK INSTANCE]')
          print('[CONFIGURE ZEPPELIN NOTEBOOK INSTANCE]')
          additional_config = {"frontend_hostname": edge_instance_hostname,
-                              "backend_hostname": dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'],
-                                                                                      notebook_config['instance_name']),
+                              "backend_hostname": datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'],
 -                                                                                     notebook_config['instance_name']),
++                                                                                        notebook_config[
++                                                                                            'instance_name']),
                               "backend_port": "8080",
                               "nginx_template_dir": "/root/templates/"}
          params = "--hostname {0} --instance_name {1} " \
@@@ -189,7 -189,7 +187,8 @@@
                   "--r_mirror {14} --endpoint_url {15} " \
                   "--ip_address {16} --exploratory_name {17} --edge_ip {18}" \
              .format(instance_hostname, notebook_config['instance_name'], keyfile_name, os.environ['aws_region'],
-                     json.dumps(additional_config), notebook_config['dlab_ssh_user'], os.environ['notebook_spark_version'],
 -                    json.dumps(additional_config), notebook_config['datalab_ssh_user'], os.environ['notebook_spark_version'],
++                    json.dumps(additional_config), notebook_config['datalab_ssh_user'],
++                    os.environ['notebook_spark_version'],
                      os.environ['notebook_hadoop_version'], edge_instance_hostname, '3128',
                      os.environ['notebook_zeppelin_version'], os.environ['notebook_scala_version'],
                      os.environ['notebook_livy_version'], os.environ['notebook_multiple_clusters'],
@@@ -261,8 -261,8 +260,8 @@@
              'instance_hostname': instance_hostname,
              'tensor': False
          }
--        params = "--edge_hostname {} --keyfile {} --os_user {} --type {} --exploratory_name {} --additional_info '{}'"\
-             .format(edge_instance_hostname, keyfile_name, notebook_config['dlab_ssh_user'], 'zeppelin',
++        params = "--edge_hostname {} --keyfile {} --os_user {} --type {} --exploratory_name {} --additional_info '{}'" \
+             .format(edge_instance_hostname, keyfile_name, notebook_config['datalab_ssh_user'], 'zeppelin',
                      notebook_config['exploratory_name'], json.dumps(additional_info))
          try:
              local("~/scripts/{}.py {}".format('common_configure_reverse_proxy', params))
@@@ -310,9 -310,9 +309,9 @@@
              sys.exit(1)
      try:
          # generating output information
-         ip_address = dlab.meta_lib.get_instance_ip_address(notebook_config['tag_name'],
-                                                            notebook_config['instance_name']).get('Private')
-         dns_name = dlab.meta_lib.get_instance_hostname(notebook_config['tag_name'], notebook_config['instance_name'])
+         ip_address = datalab.meta_lib.get_instance_ip_address(notebook_config['tag_name'],
 -                                                           notebook_config['instance_name']).get('Private')
++                                                              notebook_config['instance_name']).get('Private')
+         dns_name = datalab.meta_lib.get_instance_hostname(notebook_config['tag_name'], notebook_config['instance_name'])
          zeppelin_ip_url = "http://" + ip_address + ":8080/"
          zeppelin_dns_url = "http://" + dns_name + ":8080/"
          zeppelin_notebook_access_url = "https://{}/{}/".format(notebook_config['edge_instance_hostname'],
@@@ -325,8 -325,8 +324,8 @@@
          print("Instance name: {}".format(notebook_config['instance_name']))
          print("Private DNS: {}".format(dns_name))
          print("Private IP: {}".format(ip_address))
-         print("Instance ID: {}".format(dlab.meta_lib.get_instance_by_name(notebook_config['tag_name'],
-                                                                           notebook_config['instance_name'])))
+         print("Instance ID: {}".format(datalab.meta_lib.get_instance_by_name(notebook_config['tag_name'],
 -                                                                          notebook_config['instance_name'])))
++                                                                             notebook_config['instance_name'])))
          print("Instance type: {}".format(notebook_config['instance_type']))
          print("Key name: {}".format(notebook_config['key_name']))
          print("User key name: {}".format(notebook_config['user_keyname']))
@@@ -344,8 -344,8 +343,8 @@@
          with open("/root/result.json", 'w') as result:
              res = {"hostname": dns_name,
                     "ip": ip_address,
-                    "instance_id": dlab.meta_lib.get_instance_by_name(notebook_config['tag_name'],
-                                                                      notebook_config['instance_name']),
+                    "instance_id": datalab.meta_lib.get_instance_by_name(notebook_config['tag_name'],
 -                                                                     notebook_config['instance_name']),
++                                                                        notebook_config['instance_name']),
                     "master_keyname": os.environ['conf_key_name'],
                     "notebook_name": notebook_config['instance_name'],
                     "notebook_image_name": notebook_config['notebook_image_name'],
diff --cc infrastructure-provisioning/src/general/scripts/aws/zeppelin_dataengine-service_create_configs.py
index bc452fc,a2089b2..ca1e9d8
--- a/infrastructure-provisioning/src/general/scripts/aws/zeppelin_dataengine-service_create_configs.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/zeppelin_dataengine-service_create_configs.py
@@@ -21,20 -21,20 +21,12 @@@
  #
  # ******************************************************************************
  
--import boto3
--from botocore.client import Config
--from fabric.api import *
  import argparse
--import os
--import sys
--import time
--from fabric.api import lcd
--from fabric.contrib.files import exists
--from fabvenv import virtualenv
- from dlab.notebook_lib import *
- from dlab.actions_lib import *
- from dlab.fab import *
- from dlab.common_lib import *
 -from datalab.notebook_lib import *
+ from datalab.actions_lib import *
 -from datalab.fab import *
+ from datalab.common_lib import *
++from datalab.fab import *
++from datalab.notebook_lib import *
++from fabric.api import *
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--bucket', type=str, default='')
diff --cc infrastructure-provisioning/src/general/scripts/aws/zeppelin_install_dataengine-service_kernels.py
index 7a04296,56def14..f6b09b9
--- a/infrastructure-provisioning/src/general/scripts/aws/zeppelin_install_dataengine-service_kernels.py
+++ b/infrastructure-provisioning/src/general/scripts/aws/zeppelin_install_dataengine-service_kernels.py
@@@ -22,10 -22,10 +22,9 @@@
  # ******************************************************************************
  
  import argparse
--from fabric.api import *
--import boto3
- from dlab.meta_lib import *
 -from datalab.meta_lib import *
  import os
++from datalab.meta_lib import *
++from fabric.api import *
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--bucket', type=str, default='')
@@@ -55,15 -55,15 +54,16 @@@ def configure_notebook(args)
          put(templates_dir + 'dataengine-service_interpreter_spark.json', '/tmp/dataengine-service_interpreter.json')
      put(scripts_dir + '{}_dataengine-service_create_configs.py'.format(args.application),
          '/tmp/zeppelin_dataengine-service_create_configs.py')
--    sudo('\cp /tmp/zeppelin_dataengine-service_create_configs.py /usr/local/bin/zeppelin_dataengine-service_create_configs.py')
++    sudo(
++        '\cp /tmp/zeppelin_dataengine-service_create_configs.py /usr/local/bin/zeppelin_dataengine-service_create_configs.py')
      sudo('chmod 755 /usr/local/bin/zeppelin_dataengine-service_create_configs.py')
-     sudo('mkdir -p /usr/lib/python2.7/dlab/')
-     run('mkdir -p /tmp/dlab_libs/')
-     local('scp -i {} /usr/lib/python2.7/dlab/* {}:/tmp/dlab_libs/'.format(args.keyfile, env.host_string))
-     run('chmod a+x /tmp/dlab_libs/*')
-     sudo('mv /tmp/dlab_libs/* /usr/lib/python2.7/dlab/')
+     sudo('mkdir -p /usr/lib/python2.7/datalab/')
+     run('mkdir -p /tmp/datalab_libs/')
+     local('scp -i {} /usr/lib/python2.7/datalab/* {}:/tmp/datalab_libs/'.format(args.keyfile, env.host_string))
+     run('chmod a+x /tmp/datalab_libs/*')
+     sudo('mv /tmp/datalab_libs/* /usr/lib/python2.7/datalab/')
      if exists('/usr/lib64'):
-         sudo('ln -fs /usr/lib/python2.7/dlab /usr/lib64/python2.7/dlab')
+         sudo('ln -fs /usr/lib/python2.7/datalab /usr/lib64/python2.7/datalab')
  
  
  if __name__ == "__main__":
diff --cc infrastructure-provisioning/src/general/scripts/azure/common_collect_data.py
index 29660b0,9be90bd..10d3dfa
--- a/infrastructure-provisioning/src/general/scripts/azure/common_collect_data.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/common_collect_data.py
@@@ -22,23 -22,23 +22,20 @@@
  # ******************************************************************************
  
  import argparse
++import ast
  import json
--import datetime
--from fabric.api import *
- from dlab.actions_lib import *
- from dlab.meta_lib import *
- from dlab.fab import *
- import traceback
 +import sys
- import ast
- 
++import traceback
+ from datalab.actions_lib import *
 -from datalab.meta_lib import *
+ from datalab.fab import *
 -import traceback
 -import sys
 -import ast
 -
++from datalab.meta_lib import *
++from fabric.api import *
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--resource_group_name', type=str, default='')
  parser.add_argument('--list_resources', type=str, default='')
  args = parser.parse_args()
  
--
  if __name__ == "__main__":
      data = ast.literal_eval(args.list_resources.replace('\'', '"'))
      statuses = {}
diff --cc infrastructure-provisioning/src/general/scripts/azure/common_create_datalake_directory.py
index 0493b07,ffab1f5..55c110b
--- a/infrastructure-provisioning/src/general/scripts/azure/common_create_datalake_directory.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/common_create_datalake_directory.py
@@@ -22,11 -22,11 +22,10 @@@
  # ******************************************************************************
  
  import argparse
--import json
- from dlab.fab import *
- from dlab.actions_lib import *
- from dlab.meta_lib import *
 -from datalab.fab import *
 +import sys
+ from datalab.actions_lib import *
++from datalab.fab import *
+ from datalab.meta_lib import *
 -import sys
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--resource_group_name', type=str, default='')
diff --cc infrastructure-provisioning/src/general/scripts/azure/common_create_instance.py
index 295e191,d98da78..9ae95a6
--- a/infrastructure-provisioning/src/general/scripts/azure/common_create_instance.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/common_create_instance.py
@@@ -23,10 -23,10 +23,9 @@@
  
  import argparse
  import json
- from dlab.actions_lib import *
- from dlab.meta_lib import *
 +import sys
- 
+ from datalab.actions_lib import *
+ from datalab.meta_lib import *
 -import sys
 -
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--instance_name', type=str, default='')
@@@ -89,9 -89,9 +88,10 @@@ if __name__ == "__main__"
                      disk_id = disk.id
                  print("Creating instance {}".format(args.instance_name))
                  AzureActions().create_instance(args.region, args.instance_size, args.service_base_name,
-                                                args.instance_name, args.dlab_ssh_user_name, args.public_key,
+                                                args.instance_name, args.datalab_ssh_user_name, args.public_key,
                                                 network_interface_id, args.resource_group_name, args.primary_disk_size,
--                                               args.instance_type, args.image_name, json.loads(args.tags), args.project_name,
++                                               args.instance_type, args.image_name, json.loads(args.tags),
++                                               args.project_name,
                                                 create_option, disk_id, args.instance_storage_account_type,
                                                 args.image_type)
          except Exception as err:
diff --cc infrastructure-provisioning/src/general/scripts/azure/common_create_notebook_image.py
index 5746fb8,b1b41d2..487c896
--- a/infrastructure-provisioning/src/general/scripts/azure/common_create_notebook_image.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/common_create_notebook_image.py
@@@ -21,20 -21,20 +21,16 @@@
  #
  # ******************************************************************************
  
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
 -import datalab.fab
 -import datalab.actions_lib
+ import datalab.meta_lib
++import json
  import os
--import traceback
  import sys
--import json
  from fabric.api import *
  
--
  if __name__ == "__main__":
      try:
-         AzureMeta = dlab.meta_lib.AzureMeta()
-         AzureActions = dlab.actions_lib.AzureActions()
+         AzureMeta = datalab.meta_lib.AzureMeta()
+         AzureActions = datalab.actions_lib.AzureActions()
          image_conf = dict()
          image_conf['service_base_name'] = os.environ['conf_service_base_name']
          image_conf['resource_group_name'] = os.environ['azure_resource_group_name']
@@@ -78,7 -78,7 +74,8 @@@
          image = AzureMeta.get_image(image_conf['resource_group_name'], image_conf['full_image_name'])
          if image == '':
              print('Creating image from existing notebook.')
-             dlab.actions_lib.prepare_vm_for_image(True, image_conf['dlab_ssh_user'], instance_hostname, keyfile_name)
 -            datalab.actions_lib.prepare_vm_for_image(True, image_conf['datalab_ssh_user'], instance_hostname, keyfile_name)
++            datalab.actions_lib.prepare_vm_for_image(True, image_conf['datalab_ssh_user'], instance_hostname,
++                                                     keyfile_name)
              AzureActions.create_image_from_instance(image_conf['resource_group_name'],
                                                      image_conf['instance_name'],
                                                      os.environ['azure_region'],
@@@ -94,9 -94,9 +91,10 @@@
                          instance_running = True
                  instance_hostname = AzureMeta.get_private_ip_address(image_conf['resource_group_name'],
                                                                       image_conf['instance_name'])
-                 dlab.actions_lib.remount_azure_disk(True, image_conf['dlab_ssh_user'], instance_hostname, keyfile_name)
-                 dlab.fab.set_git_proxy(image_conf['dlab_ssh_user'], instance_hostname, keyfile_name,
-                                        'http://{}:3128'.format(edge_instance_hostname))
 -                datalab.actions_lib.remount_azure_disk(True, image_conf['datalab_ssh_user'], instance_hostname, keyfile_name)
++                datalab.actions_lib.remount_azure_disk(True, image_conf['datalab_ssh_user'], instance_hostname,
++                                                       keyfile_name)
+                 datalab.fab.set_git_proxy(image_conf['datalab_ssh_user'], instance_hostname, keyfile_name,
 -                                       'http://{}:3128'.format(edge_instance_hostname))
++                                          'http://{}:3128'.format(edge_instance_hostname))
                  additional_config = {"proxy_host": edge_instance_hostname, "proxy_port": "3128"}
                  params = "--hostname {} --instance_name {} --keyfile {} --additional_config '{}' --os_user {}" \
                      .format(instance_hostname, image_conf['instance_name'], keyfile_name,
diff --cc infrastructure-provisioning/src/general/scripts/azure/common_create_security_group.py
index 62cd0d7,0f9526c..6e7e026
--- a/infrastructure-provisioning/src/general/scripts/azure/common_create_security_group.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/common_create_security_group.py
@@@ -21,11 -21,11 +21,11 @@@
  #
  # ******************************************************************************
  
--import json
  import argparse
- from dlab.actions_lib import *
- from dlab.meta_lib import *
++import json
 +import sys
+ from datalab.actions_lib import *
+ from datalab.meta_lib import *
 -import sys
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--resource_group_name', type=str, default='')
diff --cc infrastructure-provisioning/src/general/scripts/azure/common_create_storage_account.py
index d2e3dcc,75d8432..922b993
--- a/infrastructure-provisioning/src/general/scripts/azure/common_create_storage_account.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/common_create_storage_account.py
@@@ -23,11 -23,11 +23,10 @@@
  
  import argparse
  import json
- from dlab.fab import *
- from dlab.actions_lib import *
- from dlab.meta_lib import *
 -from datalab.fab import *
 +import sys
- 
+ from datalab.actions_lib import *
++from datalab.fab import *
+ from datalab.meta_lib import *
 -import sys
 -
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--container_name', type=str, default='')
@@@ -36,7 -36,7 +35,6 @@@ parser.add_argument('--resource_group_n
  parser.add_argument('--region', type=str, default='')
  args = parser.parse_args()
  
--
  if __name__ == "__main__":
      try:
          check_account = False
diff --cc infrastructure-provisioning/src/general/scripts/azure/common_create_subnet.py
index 6e57137,ced1b9a..3bc237f
--- a/infrastructure-provisioning/src/general/scripts/azure/common_create_subnet.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/common_create_subnet.py
@@@ -22,12 -22,12 +22,10 @@@
  # ******************************************************************************
  
  import argparse
--import json
- from dlab.actions_lib import *
- from dlab.meta_lib import *
- import sys
 +import ipaddress
- 
++import sys
+ from datalab.actions_lib import *
+ from datalab.meta_lib import *
 -import sys
 -import ipaddress
 -
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--resource_group_name', type=str, default='')
@@@ -69,7 -69,7 +67,8 @@@ if __name__ == "__main__"
                  print("REQUESTED SUBNET {} ALREADY EXISTS".format(args.subnet_name))
              else:
                  print("Creating Subnet {}".format(args.subnet_name))
-                 AzureActions().create_subnet(args.resource_group_name, args.vpc_name, args.subnet_name, dlab_subnet_cidr)
 -                AzureActions().create_subnet(args.resource_group_name, args.vpc_name, args.subnet_name, datalab_subnet_cidr)
++                AzureActions().create_subnet(args.resource_group_name, args.vpc_name, args.subnet_name,
++                                             datalab_subnet_cidr)
          else:
              print("Subnet name can't be empty")
              sys.exit(1)
diff --cc infrastructure-provisioning/src/general/scripts/azure/common_download_git_certfile.py
index 2a9e606,2bd8d82..a291925
--- a/infrastructure-provisioning/src/general/scripts/azure/common_download_git_certfile.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/common_download_git_certfile.py
@@@ -22,11 -22,11 +22,10 @@@
  # ******************************************************************************
  
  import argparse
- from dlab.actions_lib import *
- from dlab.meta_lib import *
- from fabric.api import *
 +import os
- 
+ from datalab.actions_lib import *
+ from datalab.meta_lib import *
+ from fabric.api import *
 -import os
 -
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--keyfile', type=str, default='')
diff --cc infrastructure-provisioning/src/general/scripts/azure/common_notebook_configure_dataengine.py
index 2e697eb,2e418de..23aa32a
--- a/infrastructure-provisioning/src/general/scripts/azure/common_notebook_configure_dataengine.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/common_notebook_configure_dataengine.py
@@@ -21,16 -21,16 +21,13 @@@
  #
  # ******************************************************************************
  
--import logging
 -import json
 -import sys
 -import datalab.fab
 -import datalab.actions_lib
+ import datalab.meta_lib
 +import json
- import sys
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
++import logging
  import os
--import uuid
--from fabric.api import *
++import sys
  import traceback
++from fabric.api import *
  
  
  def clear_resources():
diff --cc infrastructure-provisioning/src/general/scripts/azure/common_prepare_notebook.py
index a4dda9d,7da5264..f3bb393
--- a/infrastructure-provisioning/src/general/scripts/azure/common_prepare_notebook.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/common_prepare_notebook.py
@@@ -21,18 -21,18 +21,15 @@@
  #
  # ******************************************************************************
  
--import logging
++import datalab.meta_lib
  import json
--import sys
++import logging
  import os
--from Crypto.PublicKey import RSA
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
 -import datalab.fab
 -import datalab.actions_lib
 -import datalab.meta_lib
++import sys
  import traceback
++from Crypto.PublicKey import RSA
  from fabric.api import *
  
--
  if __name__ == "__main__":
      instance_class = 'notebook'
      local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['project_name'],
@@@ -53,7 -53,7 +50,7 @@@
          notebook_config['endpoint_name'] = os.environ['endpoint_name']
          notebook_config['endpoint_tag'] = notebook_config['endpoint_name']
          notebook_config['application'] = os.environ['application'].lower()
--        
++
          print('Generating infrastructure names and tags')
          try:
              notebook_config['exploratory_name'] = os.environ['exploratory_name']
@@@ -138,12 -138,12 +135,13 @@@
              print('ERROR: Edge node is unavailable! Aborting...')
              ssn_hostname = AzureMeta.get_private_ip_address(notebook_config['resource_group_name'],
                                                                os.environ['conf_service_base_name'] + '-ssn')
-             dlab.fab.put_resource_status('edge', 'Unavailable', os.environ['ssn_dlab_path'], os.environ['conf_os_user'],
 -            datalab.fab.put_resource_status('edge', 'Unavailable', os.environ['ssn_datalab_path'], os.environ['conf_os_user'],
--                                         ssn_hostname)
-             dlab.fab.append_result("Edge node is unavailable")
++            datalab.fab.put_resource_status('edge', 'Unavailable', os.environ['ssn_datalab_path'],
++                                            os.environ['conf_os_user'],
++                                            ssn_hostname)
+             datalab.fab.append_result("Edge node is unavailable")
              sys.exit(1)
      except Exception as err:
-         dlab.fab.append_result("Failed to verify edge status.", str(err))
+         datalab.fab.append_result("Failed to verify edge status.", str(err))
          sys.exit(1)
  
      with open('/root/result.json', 'w') as f:
@@@ -177,5 -177,5 +175,5 @@@
              AzureActions.remove_instance(notebook_config['resource_group_name'], notebook_config['instance_name'])
          except:
              print("The instance hasn't been created.")
-         dlab.fab.append_result("Failed to create instance.", str(err))
-         sys.exit(1)
+         datalab.fab.append_result("Failed to create instance.", str(err))
 -        sys.exit(1)
++        sys.exit(1)
diff --cc infrastructure-provisioning/src/general/scripts/azure/common_remove_remote_kernels.py
index 830969b,c9fca0c..51f900c
--- a/infrastructure-provisioning/src/general/scripts/azure/common_remove_remote_kernels.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/common_remove_remote_kernels.py
@@@ -21,12 -21,12 +21,11 @@@
  #
  # ******************************************************************************
  
--import os
--import sys
  import argparse
 -from fabric.api import *
 -from datalab.fab import find_cluster_kernels
++import sys
+ from datalab.actions_lib import *
++from datalab.fab import find_cluster_kernels
 +from fabric.api import *
- from dlab.fab import find_cluster_kernels
- from dlab.actions_lib import *
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--hostname', type=str, default='')
diff --cc infrastructure-provisioning/src/general/scripts/azure/common_reupload_key.py
index f4d7cb4,81f272e..fa4a5d5
--- a/infrastructure-provisioning/src/general/scripts/azure/common_reupload_key.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/common_reupload_key.py
@@@ -23,11 -23,11 +23,10 @@@
  
  
  import argparse
 -from fabric.api import *
+ from datalab.actions_lib import *
 -from datalab.meta_lib import *
+ from datalab.fab import *
 -import json
++from datalab.meta_lib import *
 +from fabric.api import *
- from dlab.actions_lib import *
- from dlab.meta_lib import *
- from dlab.fab import *
- import json
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--conf_resource', type=str, default='')
diff --cc infrastructure-provisioning/src/general/scripts/azure/common_start_notebook.py
index ab3c080,794fc6b..522e409
--- a/infrastructure-provisioning/src/general/scripts/azure/common_start_notebook.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/common_start_notebook.py
@@@ -21,19 -21,19 +21,14 @@@
  #
  # ******************************************************************************
  
--import logging
++import datalab.meta_lib
  import json
++import logging
++import os
  import sys
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
 -import datalab.fab
 -import datalab.actions_lib
 -import datalab.meta_lib
  import traceback
--import os
--import uuid
--import argparse
  from fabric.api import *
  
--
  if __name__ == "__main__":
      local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['project_name'],
                                                 os.environ['request_id'])
@@@ -132,7 -132,7 +127,5 @@@
              print(json.dumps(res))
              result.write(json.dumps(res))
      except Exception as err:
-         dlab.fab.append_result("Error with writing results", str(err))
+         datalab.fab.append_result("Error with writing results", str(err))
          sys.exit(1)
--
--
diff --cc infrastructure-provisioning/src/general/scripts/azure/common_stop_notebook.py
index 5e77666,7b89c04..8344590
--- a/infrastructure-provisioning/src/general/scripts/azure/common_stop_notebook.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/common_stop_notebook.py
@@@ -21,15 -21,15 +21,12 @@@
  #
  # ******************************************************************************
  
--import logging
 -import json
 -import sys
 -import datalab.fab
+ import datalab.actions_lib
++import datalab.fab
+ import datalab.meta_lib
 +import json
- import sys
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
++import logging
  import os
--import uuid
--import argparse
  import sys
  
  
diff --cc infrastructure-provisioning/src/general/scripts/azure/common_terminate_notebook.py
index 73eab17,7af97b3..072132b
--- a/infrastructure-provisioning/src/general/scripts/azure/common_terminate_notebook.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/common_terminate_notebook.py
@@@ -21,14 -21,14 +21,13 @@@
  #
  # ******************************************************************************
  
--import logging
 -import json
 -import sys
 -import datalab.fab
+ import datalab.actions_lib
++import datalab.fab
+ import datalab.meta_lib
 +import json
- import sys
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
++import logging
  import os
--import uuid
++import sys
  import traceback
  
  
diff --cc infrastructure-provisioning/src/general/scripts/azure/common_terminate_notebook_image.py
index c74abfe,5a3f300..37e091a
--- a/infrastructure-provisioning/src/general/scripts/azure/common_terminate_notebook_image.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/common_terminate_notebook_image.py
@@@ -21,13 -21,13 +21,10 @@@
  #
  # ******************************************************************************
  
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
- import sys
 -import datalab.fab
 -import datalab.actions_lib
+ import datalab.meta_lib
 -import sys
  import json
  import os
--
++import sys
  
  if __name__ == "__main__":
      try:
diff --cc infrastructure-provisioning/src/general/scripts/azure/dataengine_configure.py
index 8d90b5e,54dd46f..c30e00e
--- a/infrastructure-provisioning/src/general/scripts/azure/dataengine_configure.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/dataengine_configure.py
@@@ -21,19 -21,19 +21,17 @@@
  #
  # ******************************************************************************
  
 -import json
 -import time
 -from fabric.api import *
 -import datalab.fab
+ import datalab.actions_lib
++import datalab.fab
+ import datalab.meta_lib
 -import traceback
 -import sys
 -import os
 -import uuid
 +import json
- import time
- from fabric.api import *
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
- import traceback
- import sys
- import os
- import uuid
  import logging
--from Crypto.PublicKey import RSA
  import multiprocessing
++import os
++import sys
++import traceback
++from Crypto.PublicKey import RSA
++from fabric.api import *
  
  
  def configure_slave(slave_number, data_engine):
@@@ -62,7 -62,7 +60,8 @@@
          additional_config = {"user_keyname": data_engine['project_name'],
                               "user_keydir": os.environ['conf_key_dir']}
          params = "--hostname {} --keyfile {} --additional_config '{}' --user {}".format(
-             slave_hostname, os.environ['conf_key_dir'] + data_engine['key_name'] + ".pem", json.dumps(additional_config), data_engine['dlab_ssh_user'])
 -            slave_hostname, os.environ['conf_key_dir'] + data_engine['key_name'] + ".pem", json.dumps(additional_config), data_engine['datalab_ssh_user'])
++            slave_hostname, os.environ['conf_key_dir'] + data_engine['key_name'] + ".pem",
++            json.dumps(additional_config), data_engine['datalab_ssh_user'])
          try:
              local("~/scripts/{}.py {}".format('install_user_key', params))
          except:
@@@ -230,11 -230,11 +229,11 @@@ if __name__ == "__main__"
          sys.exit(1)
  
      try:
-         logging.info('[CREATING DLAB SSH USER ON MASTER NODE]')
-         print('[CREATING DLAB SSH USER ON MASTER NODE]')
-         params = "--hostname {} --keyfile {} --initial_user {} --os_user {} --sudo_group {}".format\
+         logging.info('[CREATING DATA ATA LAB SSH USER ON MASTER NODE]')
+         print('[CREATING DATALAB SSH USER ON MASTER NODE]')
 -        params = "--hostname {} --keyfile {} --initial_user {} --os_user {} --sudo_group {}".format\
++        params = "--hostname {} --keyfile {} --initial_user {} --os_user {} --sudo_group {}".format \
              (master_node_hostname, os.environ['conf_key_dir'] + data_engine['key_name'] + ".pem", initial_user,
-              data_engine['dlab_ssh_user'], sudo_group)
+              data_engine['datalab_ssh_user'], sudo_group)
  
          try:
              local("~/scripts/{}.py {}".format('create_ssh_user', params))
@@@ -300,8 -300,8 +299,8 @@@
      try:
          logging.info('[INSTALLING PREREQUISITES ON MASTER NODE]')
          print('[INSTALLING PREREQUISITES ON MASTER NODE]')
--        params = "--hostname {} --keyfile {} --user {} --region {} --edge_private_ip {}".\
-             format(master_node_hostname, keyfile_name, data_engine['dlab_ssh_user'], data_engine['region'],
++        params = "--hostname {} --keyfile {} --user {} --region {} --edge_private_ip {}". \
+             format(master_node_hostname, keyfile_name, data_engine['datalab_ssh_user'], data_engine['region'],
                     edge_instance_private_hostname)
          try:
              local("~/scripts/{}.py {}".format('install_prerequisites', params))
diff --cc infrastructure-provisioning/src/general/scripts/azure/dataengine_prepare.py
index 86dc7a9,db321f3..e752d92
--- a/infrastructure-provisioning/src/general/scripts/azure/dataengine_prepare.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/dataengine_prepare.py
@@@ -21,20 -21,20 +21,14 @@@
  #
  # ******************************************************************************
  
 -import json
 -import time
 -from fabric.api import *
 -import datalab.fab
 -import datalab.actions_lib
+ import datalab.meta_lib
 -import traceback
 -import sys
 -import os
 -import uuid
 +import json
- import time
- from fabric.api import *
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
- import traceback
- import sys
- import os
- import uuid
  import logging
++import os
++import sys
++import traceback
  from Crypto.PublicKey import RSA
--import multiprocessing
--
++from fabric.api import *
  
  if __name__ == "__main__":
      local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['project_name'],
@@@ -145,12 -145,12 +139,13 @@@
              print('ERROR: Edge node is unavailable! Aborting...')
              ssn_hostname = AzureMeta.get_private_ip_address(data_engine['resource_group_name'],
                                                              data_engine['service_base_name'] + '-ssn')
-             dlab.fab.put_resource_status('edge', 'Unavailable', os.environ['ssn_dlab_path'], os.environ['conf_os_user'],
 -            datalab.fab.put_resource_status('edge', 'Unavailable', os.environ['ssn_datalab_path'], os.environ['conf_os_user'],
--                                         ssn_hostname)
-             dlab.fab.append_result("Edge node is unavailable")
++            datalab.fab.put_resource_status('edge', 'Unavailable', os.environ['ssn_datalab_path'],
++                                            os.environ['conf_os_user'],
++                                            ssn_hostname)
+             datalab.fab.append_result("Edge node is unavailable")
              sys.exit(1)
      except Exception as err:
-         dlab.fab.append_result("Failed to verify edge status.", str(err))
+         datalab.fab.append_result("Failed to verify edge status.", str(err))
          sys.exit(1)
  
      if os.environ['conf_os_family'] == 'debian':
diff --cc infrastructure-provisioning/src/general/scripts/azure/dataengine_start.py
index 308912f,96f2874..04b2009
--- a/infrastructure-provisioning/src/general/scripts/azure/dataengine_start.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/dataengine_start.py
@@@ -21,15 -21,15 +21,14 @@@
  #
  # ******************************************************************************
  
--import logging
 -import json
 -import sys
 -import datalab.fab
+ import datalab.actions_lib
++import datalab.fab
+ import datalab.meta_lib
 +import json
- import sys
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
++import logging
  import os
++import sys
  import traceback
--import uuid
  from fabric.api import *
  
  
diff --cc infrastructure-provisioning/src/general/scripts/azure/dataengine_stop.py
index 963c555,8871efd..d03dd52
--- a/infrastructure-provisioning/src/general/scripts/azure/dataengine_stop.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/dataengine_stop.py
@@@ -21,15 -21,15 +21,14 @@@
  #
  # ******************************************************************************
  
--import logging
 -import json
 -import sys
 -import datalab.fab
+ import datalab.actions_lib
++import datalab.fab
+ import datalab.meta_lib
 +import json
- import sys
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
++import logging
  import os
++import sys
  import traceback
--import uuid
  
  
  def stop_data_engine(resource_group_name, cluster_name):
diff --cc infrastructure-provisioning/src/general/scripts/azure/dataengine_terminate.py
index 1363eb8,cc40fef..b78b63f
--- a/infrastructure-provisioning/src/general/scripts/azure/dataengine_terminate.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/dataengine_terminate.py
@@@ -21,15 -21,15 +21,14 @@@
  #
  # ******************************************************************************
  
--import logging
 -import json
 -import sys
 -import datalab.fab
+ import datalab.actions_lib
++import datalab.fab
+ import datalab.meta_lib
 +import json
- import sys
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
++import logging
  import os
++import sys
  import traceback
--import uuid
  
  
  def terminate_data_engine(resource_group_name, notebook_name, os_user, key_path, cluster_name):
diff --cc infrastructure-provisioning/src/general/scripts/azure/deeplearning_configure.py
index 9c8f24c,d2d5c8c..6fd43a0
--- a/infrastructure-provisioning/src/general/scripts/azure/deeplearning_configure.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/deeplearning_configure.py
@@@ -21,17 -21,17 +21,14 @@@
  #
  # ******************************************************************************
  
--import logging
++import datalab.meta_lib
  import json
++import logging
++import os
  import sys
  import traceback
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
 -import datalab.fab
 -import datalab.actions_lib
 -import datalab.meta_lib
--import os
  from fabric.api import *
  
--
  if __name__ == "__main__":
      local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['project_name'],
                                                 os.environ['request_id'])
@@@ -210,15 -210,15 +207,15 @@@
                   "--scala_version {4} --spark_version {5} " \
                   "--hadoop_version {6} --region {7} " \
                   "--r_mirror {8} --ip_address {9} --exploratory_name {10} --edge_ip {11}" \
-                  .format(instance_hostname, keyfile_name, notebook_config['dlab_ssh_user'],
 -                 .format(instance_hostname, keyfile_name, notebook_config['datalab_ssh_user'],
--                         os.environ['notebook_jupyter_version'], os.environ['notebook_scala_version'],
--                         os.environ['notebook_spark_version'], os.environ['notebook_hadoop_version'],
--                         os.environ['azure_region'], os.environ['notebook_r_mirror'],
--                         notebook_config['ip_address'], notebook_config['exploratory_name'], edge_hostname)
++            .format(instance_hostname, keyfile_name, notebook_config['datalab_ssh_user'],
++                    os.environ['notebook_jupyter_version'], os.environ['notebook_scala_version'],
++                    os.environ['notebook_spark_version'], os.environ['notebook_hadoop_version'],
++                    os.environ['azure_region'], os.environ['notebook_r_mirror'],
++                    notebook_config['ip_address'], notebook_config['exploratory_name'], edge_hostname)
          try:
              local("~/scripts/{}.py {}".format('configure_deep_learning_node', params))
-             dlab.actions_lib.remount_azure_disk(True, notebook_config['dlab_ssh_user'], instance_hostname,
-                                                 os.environ['conf_key_dir'] + os.environ['conf_key_name'] + ".pem")
+             datalab.actions_lib.remount_azure_disk(True, notebook_config['datalab_ssh_user'], instance_hostname,
 -                                                os.environ['conf_key_dir'] + os.environ['conf_key_name'] + ".pem")
++                                                   os.environ['conf_key_dir'] + os.environ['conf_key_name'] + ".pem")
          except:
              traceback.print_exc()
              raise Exception
@@@ -265,8 -265,8 +262,8 @@@
              image = AzureMeta.get_image(notebook_config['resource_group_name'], notebook_config['expected_image_name'])
              if image == '':
                  print("Looks like it's first time we configure notebook server. Creating image.")
-                 dlab.actions_lib.prepare_vm_for_image(True, notebook_config['dlab_ssh_user'], instance_hostname,
-                                                       keyfile_name)
+                 datalab.actions_lib.prepare_vm_for_image(True, notebook_config['datalab_ssh_user'], instance_hostname,
 -                                                      keyfile_name)
++                                                         keyfile_name)
                  AzureActions.create_image_from_instance(notebook_config['resource_group_name'],
                                                          notebook_config['instance_name'],
                                                          os.environ['azure_region'],
@@@ -281,10 -281,10 +278,10 @@@
                          instance_running = True
                  instance_hostname = AzureMeta.get_private_ip_address(notebook_config['resource_group_name'],
                                                                         notebook_config['instance_name'])
-                 dlab.actions_lib.remount_azure_disk(True, notebook_config['dlab_ssh_user'], instance_hostname,
-                                                     keyfile_name)
-                 dlab.fab.set_git_proxy(notebook_config['dlab_ssh_user'], instance_hostname, keyfile_name,
-                                       'http://{}:3128'.format(edge_instance_private_hostname))
+                 datalab.actions_lib.remount_azure_disk(True, notebook_config['datalab_ssh_user'], instance_hostname,
 -                                                    keyfile_name)
++                                                       keyfile_name)
+                 datalab.fab.set_git_proxy(notebook_config['datalab_ssh_user'], instance_hostname, keyfile_name,
 -                                      'http://{}:3128'.format(edge_instance_private_hostname))
++                                          'http://{}:3128'.format(edge_instance_private_hostname))
                  additional_config = {"proxy_host": edge_instance_private_hostname, "proxy_port": "3128"}
                  params = "--hostname {} --instance_name {} --keyfile {} --additional_config '{}' --os_user {}" \
                      .format(instance_hostname, notebook_config['instance_name'], keyfile_name,
diff --cc infrastructure-provisioning/src/general/scripts/azure/edge_configure.py
index f331c01,92aee35..1c0c522
--- a/infrastructure-provisioning/src/general/scripts/azure/edge_configure.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/edge_configure.py
@@@ -21,14 -21,14 +21,11 @@@
  #
  # ******************************************************************************
  
 -import json
 -import sys
 -import time
 -import os
 -import datalab.fab
 -import datalab.actions_lib
+ import datalab.meta_lib
 +import json
- import sys
- import time
- import os
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
  import logging
++import os
++import sys
  import traceback
  import uuid
  from fabric.api import *
@@@ -232,9 -232,9 +229,9 @@@ if __name__ == "__main__"
          edge_conf['keycloak_client_secret'] = str(uuid.uuid4())
          params = "--hostname {} --keyfile {} --user {} --keycloak_client_id {} --keycloak_client_secret {} " \
                   "--step_cert_sans '{}'".format(
-                   edge_conf['instance_hostname'], edge_conf['keyfile_name'], edge_conf['dlab_ssh_user'],
 -                  edge_conf['instance_hostname'], edge_conf['keyfile_name'], edge_conf['datalab_ssh_user'],
--                  edge_conf['service_base_name'] + '-' + edge_conf['project_name'] + '-' + edge_conf['endpoint_name'],
--                  edge_conf['keycloak_client_secret'], edge_conf['step_cert_sans'])
++            edge_conf['instance_hostname'], edge_conf['keyfile_name'], edge_conf['datalab_ssh_user'],
++            edge_conf['service_base_name'] + '-' + edge_conf['project_name'] + '-' + edge_conf['endpoint_name'],
++            edge_conf['keycloak_client_secret'], edge_conf['step_cert_sans'])
  
          try:
              local("~/scripts/{}.py {}".format('configure_nginx_reverse_proxy', params))
diff --cc infrastructure-provisioning/src/general/scripts/azure/edge_prepare.py
index 9dc1b01,ef6c41c..fafcbb1
--- a/infrastructure-provisioning/src/general/scripts/azure/edge_prepare.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/edge_prepare.py
@@@ -22,16 -22,16 +22,17 @@@
  # ******************************************************************************
  
  import json
- from dlab.fab import *
- from dlab.meta_lib import *
 -from datalab.fab import *
 -from datalab.meta_lib import *
--import sys, time, os
- from dlab.actions_lib import *
 -from datalab.actions_lib import *
++import os
++import sys
  import traceback
  from Crypto.PublicKey import RSA
--
++from datalab.actions_lib import *
++from datalab.fab import *
++from datalab.meta_lib import *
  
  if __name__ == "__main__":
--    local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['edge_user_name'], os.environ['request_id'])
++    local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['edge_user_name'],
++                                               os.environ['request_id'])
      local_log_filepath = "/logs/edge/" + local_log_filename
      logging.basicConfig(format='%(levelname)-8s [%(asctime)s]  %(message)s',
                          level=logging.DEBUG,
diff --cc infrastructure-provisioning/src/general/scripts/azure/edge_start.py
index 04e57ae,5fc42be..cfcf39b
--- a/infrastructure-provisioning/src/general/scripts/azure/edge_start.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/edge_start.py
@@@ -21,14 -21,14 +21,11 @@@
  #
  # ******************************************************************************
  
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
- import os
 -import datalab.fab
 -import datalab.actions_lib
+ import datalab.meta_lib
 -import os
++import json
  import logging
++import os
  import sys
--import json
--
  
  if __name__ == "__main__":
      local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['project_name'],
@@@ -79,6 -79,6 +76,5 @@@
              print(json.dumps(res))
              result.write(json.dumps(res))
      except Exception as err:
-         dlab.fab.append_result("Error with writing results", str(err))
+         datalab.fab.append_result("Error with writing results", str(err))
          sys.exit(1)
--
diff --cc infrastructure-provisioning/src/general/scripts/azure/edge_status.py
index 1b3fd15,0ab99bc..bb3aa67
--- a/infrastructure-provisioning/src/general/scripts/azure/edge_status.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/edge_status.py
@@@ -22,17 -22,17 +22,12 @@@
  # ******************************************************************************
  
  
--import json
--import sys
--import time
--import os
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
 -import datalab.fab
 -import datalab.actions_lib
+ import datalab.meta_lib
  import logging
--from fabric.api import *
++import os
++import sys
  import traceback
--
++from fabric.api import *
  
  if __name__ == "__main__":
      local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['edge_user_name'],
diff --cc infrastructure-provisioning/src/general/scripts/azure/edge_stop.py
index dfc4cba,dc9c042..37c9720
--- a/infrastructure-provisioning/src/general/scripts/azure/edge_stop.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/edge_stop.py
@@@ -9,9 -9,9 +9,9 @@@
  # 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
@@@ -20,14 -20,14 +20,11 @@@
  # under the License.
  #
  # ******************************************************************************
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
 -import datalab.fab
 -import datalab.actions_lib
+ import datalab.meta_lib
++import json
  import logging
  import os
  import sys
--import json
--
  
  if __name__ == "__main__":
      local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['project_name'],
@@@ -63,6 -63,6 +60,5 @@@
              print(json.dumps(res))
              result.write(json.dumps(res))
      except Exception as err:
-         dlab.fab.append_result("Error with writing results", str(err))
+         datalab.fab.append_result("Error with writing results", str(err))
          sys.exit(1)
--
diff --cc infrastructure-provisioning/src/general/scripts/azure/edge_terminate.py
index a61c75d,16c3fa2..a10b1e8
--- a/infrastructure-provisioning/src/general/scripts/azure/edge_terminate.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/edge_terminate.py
@@@ -21,14 -21,14 +21,13 @@@
  #
  # ******************************************************************************
  
 -import json
 -import sys
 -import time
 -import os
 -import datalab.fab
+ import datalab.actions_lib
++import datalab.fab
+ import datalab.meta_lib
 +import json
- import sys
- import time
- import os
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
  import logging
++import os
++import sys
  import traceback
  
  
diff --cc infrastructure-provisioning/src/general/scripts/azure/jupyter_configure.py
index 49f9872,27866a6..42b4a80
--- a/infrastructure-provisioning/src/general/scripts/azure/jupyter_configure.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/jupyter_configure.py
@@@ -21,17 -21,17 +21,14 @@@
  #
  # ******************************************************************************
  
--import logging
++import datalab.meta_lib
  import json
++import logging
++import os
  import sys
  import traceback
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
 -import datalab.fab
 -import datalab.actions_lib
 -import datalab.meta_lib
--import os
  from fabric.api import *
  
--
  if __name__ == "__main__":
      local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['project_name'],
                                                 os.environ['request_id'])
@@@ -171,8 -171,8 +168,8 @@@
      try:
          logging.info('[INSTALLING PREREQUISITES TO JUPYTER NOTEBOOK INSTANCE]')
          print('[INSTALLING PREREQUISITES TO JUPYTER NOTEBOOK INSTANCE]')
--        params = "--hostname {} --keyfile {} --user {} --region {} --edge_private_ip {}".\
-             format(instance_hostname, keyfile_name, notebook_config['dlab_ssh_user'], os.environ['azure_region'],
++        params = "--hostname {} --keyfile {} --user {} --region {} --edge_private_ip {}". \
+             format(instance_hostname, keyfile_name, notebook_config['datalab_ssh_user'], os.environ['azure_region'],
                     edge_instance_private_hostname)
          try:
              local("~/scripts/{}.py {}".format('install_prerequisites', params))
@@@ -200,8 -200,8 +197,8 @@@
                     notebook_config['ip_address'], notebook_config['exploratory_name'], edge_hostname)
          try:
              local("~/scripts/{}.py {}".format('configure_jupyter_node', params))
-             dlab.actions_lib.remount_azure_disk(True, notebook_config['dlab_ssh_user'], instance_hostname,
-                                                 os.environ['conf_key_dir'] + os.environ['conf_key_name'] + ".pem")
+             datalab.actions_lib.remount_azure_disk(True, notebook_config['datalab_ssh_user'], instance_hostname,
 -                                                os.environ['conf_key_dir'] + os.environ['conf_key_name'] + ".pem")
++                                                   os.environ['conf_key_dir'] + os.environ['conf_key_name'] + ".pem")
          except:
              traceback.print_exc()
              raise Exception
@@@ -267,8 -267,8 +264,8 @@@
                                          notebook_config['expected_image_name'])
              if image == '':
                  print("Looks like it's first time we configure notebook server. Creating image.")
-                 dlab.actions_lib.prepare_vm_for_image(True, notebook_config['dlab_ssh_user'], instance_hostname,
-                                                       keyfile_name)
+                 datalab.actions_lib.prepare_vm_for_image(True, notebook_config['datalab_ssh_user'], instance_hostname,
 -                                                      keyfile_name)
++                                                         keyfile_name)
                  AzureActions.create_image_from_instance(notebook_config['resource_group_name'],
                                                          notebook_config['instance_name'],
                                                          os.environ['azure_region'],
@@@ -283,10 -283,10 +280,10 @@@
                          instance_running = True
                  instance_hostname = AzureMeta.get_private_ip_address(notebook_config['resource_group_name'],
                                                                       notebook_config['instance_name'])
-                 dlab.actions_lib.remount_azure_disk(True, notebook_config['dlab_ssh_user'], instance_hostname,
-                                                     keyfile_name)
-                 dlab.fab.set_git_proxy(notebook_config['dlab_ssh_user'], instance_hostname, keyfile_name,
-                                        'http://{}:3128'.format(edge_instance_private_hostname))
+                 datalab.actions_lib.remount_azure_disk(True, notebook_config['datalab_ssh_user'], instance_hostname,
 -                                                    keyfile_name)
++                                                       keyfile_name)
+                 datalab.fab.set_git_proxy(notebook_config['datalab_ssh_user'], instance_hostname, keyfile_name,
 -                                       'http://{}:3128'.format(edge_instance_private_hostname))
++                                          'http://{}:3128'.format(edge_instance_private_hostname))
                  additional_config = {"proxy_host": edge_instance_private_hostname, "proxy_port": "3128"}
                  params = "--hostname {} --instance_name {} --keyfile {} --additional_config '{}' --os_user {}" \
                      .format(instance_hostname, notebook_config['instance_name'], keyfile_name,
diff --cc infrastructure-provisioning/src/general/scripts/azure/jupyterlab_configure.py
index 4c44bbd,aa8864d..92fc876
--- a/infrastructure-provisioning/src/general/scripts/azure/jupyterlab_configure.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/jupyterlab_configure.py
@@@ -21,16 -21,16 +21,13 @@@
  #
  # ******************************************************************************
  
--import logging
 -import json
 -import sys
 -import datalab.fab
 -import datalab.actions_lib
+ import datalab.meta_lib
 +import json
- import sys
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
++import logging
  import os
--from fabric.api import *
++import sys
  import traceback
--
++from fabric.api import *
  
  if __name__ == "__main__":
      local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['project_name'],
@@@ -133,11 -133,11 +130,11 @@@
          sys.exit(1)
  
      try:
-         logging.info('[CREATING DLAB SSH USER]')
-         print('[CREATING DLAB SSH USER]')
-         params = "--hostname {} --keyfile {} --initial_user {} --os_user {} --sudo_group {}".format\
+         logging.info('[CREATING DATALAB SSH USER]')
+         print('[CREATING DATALAB SSH USER]')
 -        params = "--hostname {} --keyfile {} --initial_user {} --os_user {} --sudo_group {}".format\
++        params = "--hostname {} --keyfile {} --initial_user {} --os_user {} --sudo_group {}".format \
              (instance_hostname, os.environ['conf_key_dir'] + os.environ['conf_key_name'] + ".pem", initial_user,
-              notebook_config['dlab_ssh_user'], sudo_group)
+              notebook_config['datalab_ssh_user'], sudo_group)
  
          try:
              local("~/scripts/{}.py {}".format('create_ssh_user', params))
@@@ -171,8 -171,8 +168,8 @@@
      try:
          logging.info('[INSTALLING PREREQUISITES TO JUPYTER NOTEBOOK INSTANCE]')
          print('[INSTALLING PREREQUISITES TO JUPYTER NOTEBOOK INSTANCE]')
--        params = "--hostname {} --keyfile {} --user {} --region {} --edge_private_ip {}".\
-             format(instance_hostname, keyfile_name, notebook_config['dlab_ssh_user'], os.environ['azure_region'],
++        params = "--hostname {} --keyfile {} --user {} --region {} --edge_private_ip {}". \
+             format(instance_hostname, keyfile_name, notebook_config['datalab_ssh_user'], os.environ['azure_region'],
                     edge_instance_private_hostname)
          try:
              local("~/scripts/{}.py {}".format('install_prerequisites', params))
@@@ -200,8 -200,8 +197,8 @@@
                     notebook_config['ip_address'], notebook_config['exploratory_name'], edge_hostname)
          try:
              local("~/scripts/{}.py {}".format('configure_jupyterlab_node', params))
-             dlab.actions_lib.remount_azure_disk(True, notebook_config['dlab_ssh_user'], instance_hostname,
-                                                 os.environ['conf_key_dir'] + os.environ['conf_key_name'] + ".pem")
+             datalab.actions_lib.remount_azure_disk(True, notebook_config['datalab_ssh_user'], instance_hostname,
 -                                                os.environ['conf_key_dir'] + os.environ['conf_key_name'] + ".pem")
++                                                   os.environ['conf_key_dir'] + os.environ['conf_key_name'] + ".pem")
          except:
              traceback.print_exc()
              raise Exception
@@@ -248,13 -248,13 +245,13 @@@
              image = AzureMeta.get_image(notebook_config['resource_group_name'], notebook_config['expected_image_name'])
              if image == '':
                  print("Looks like it's first time we configure notebook server. Creating image.")
-                 dlab.actions_lib.prepare_vm_for_image(True, notebook_config['dlab_ssh_user'], instance_hostname,
-                                                       keyfile_name)
+                 datalab.actions_lib.prepare_vm_for_image(True, notebook_config['datalab_ssh_user'], instance_hostname,
 -                                                      keyfile_name)
++                                                         keyfile_name)
                  AzureActions.create_image_from_instance(notebook_config['resource_group_name'],
--                                                          notebook_config['instance_name'],
--                                                          os.environ['azure_region'],
--                                                          notebook_config['expected_image_name'],
--                                                          json.dumps(notebook_config['image_tags']))
++                                                        notebook_config['instance_name'],
++                                                        os.environ['azure_region'],
++                                                        notebook_config['expected_image_name'],
++                                                        json.dumps(notebook_config['image_tags']))
                  print("Image was successfully created.")
                  local("~/scripts/{}.py".format('common_prepare_notebook'))
                  instance_running = False
@@@ -264,10 -264,10 +261,10 @@@
                          instance_running = True
                  instance_hostname = AzureMeta.get_private_ip_address(notebook_config['resource_group_name'],
                                                                       notebook_config['instance_name'])
-                 dlab.actions_lib.remount_azure_disk(True, notebook_config['dlab_ssh_user'], instance_hostname,
-                                                     keyfile_name)
-                 dlab.fab.set_git_proxy(notebook_config['dlab_ssh_user'], instance_hostname, keyfile_name,
-                                        'http://{}:3128'.format(edge_instance_private_hostname))
+                 datalab.actions_lib.remount_azure_disk(True, notebook_config['datalab_ssh_user'], instance_hostname,
 -                                                    keyfile_name)
++                                                       keyfile_name)
+                 datalab.fab.set_git_proxy(notebook_config['datalab_ssh_user'], instance_hostname, keyfile_name,
 -                                       'http://{}:3128'.format(edge_instance_private_hostname))
++                                          'http://{}:3128'.format(edge_instance_private_hostname))
                  additional_config = {"proxy_host": edge_instance_private_hostname, "proxy_port": "3128"}
                  params = "--hostname {} --instance_name {} --keyfile {} --additional_config '{}' --os_user {}" \
                      .format(instance_hostname, notebook_config['instance_name'], keyfile_name,
diff --cc infrastructure-provisioning/src/general/scripts/azure/project_prepare.py
index e2d481d,a09c554..92db0a2
--- a/infrastructure-provisioning/src/general/scripts/azure/project_prepare.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/project_prepare.py
@@@ -21,20 -21,20 +21,15 @@@
  #
  # ******************************************************************************
  
++import datalab.meta_lib
  import json
--import sys
--import time
++import logging
  import os
--import re
++import sys
  import traceback
  from Crypto.PublicKey import RSA
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
 -import datalab.fab
 -import datalab.actions_lib
 -import datalab.meta_lib
--import logging
  from fabric.api import *
  
--
  if __name__ == "__main__":
      local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['project_name'],
                                                 os.environ['request_id'])
diff --cc infrastructure-provisioning/src/general/scripts/azure/project_terminate.py
index a78480c,952fc2e..7549eac
--- a/infrastructure-provisioning/src/general/scripts/azure/project_terminate.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/project_terminate.py
@@@ -21,15 -21,15 +21,14 @@@
  #
  # ******************************************************************************
  
++import datalab.actions_lib
++import datalab.fab
++import datalab.meta_lib
  import json
  import logging
--import sys
--import time
  import os
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
 -import datalab.fab
 -import datalab.actions_lib
 -import datalab.meta_lib
  import requests
++import sys
  import traceback
  
  
diff --cc infrastructure-provisioning/src/general/scripts/azure/rstudio_change_pass.py
index cbc97c4,645c323..6af1829
--- a/infrastructure-provisioning/src/general/scripts/azure/rstudio_change_pass.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/rstudio_change_pass.py
@@@ -21,11 -21,11 +21,10 @@@
  #
  # ******************************************************************************
  
--from fabric.api import *
  import argparse
- from dlab.fab import *
 -from datalab.fab import *
  import sys
--
++from datalab.fab import *
++from fabric.api import *
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--hostname', type=str, default='')
@@@ -34,7 -34,7 +33,6 @@@ parser.add_argument('--os_user', type=s
  parser.add_argument('--rstudio_pass', type=str, default='')
  args = parser.parse_args()
  
--
  if __name__ == "__main__":
      print("Configure connections")
      env['connection_attempts'] = 100
diff --cc infrastructure-provisioning/src/general/scripts/azure/rstudio_configure.py
index 8487238,b96f495..91a5945
--- a/infrastructure-provisioning/src/general/scripts/azure/rstudio_configure.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/rstudio_configure.py
@@@ -21,17 -21,17 +21,14 @@@
  #
  # ******************************************************************************
  
--import logging
++import datalab.meta_lib
  import json
++import logging
++import os
  import sys
  import traceback
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
 -import datalab.fab
 -import datalab.actions_lib
 -import datalab.meta_lib
--import os
  from fabric.api import *
  
--
  if __name__ == "__main__":
      instance_class = 'notebook'
      local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['project_name'],
@@@ -172,8 -172,8 +169,8 @@@
      try:
          logging.info('[INSTALLING PREREQUISITES TO R_STUDIO NOTEBOOK INSTANCE]')
          print('[INSTALLING PREREQUISITES TO R_STUDIO NOTEBOOK INSTANCE]')
--        params = "--hostname {} --keyfile {} --user {} --region {} --edge_private_ip {}".\
-             format(instance_hostname, keyfile_name, notebook_config['dlab_ssh_user'], os.environ['azure_region'],
++        params = "--hostname {} --keyfile {} --user {} --region {} --edge_private_ip {}". \
+             format(instance_hostname, keyfile_name, notebook_config['datalab_ssh_user'], os.environ['azure_region'],
                     edge_instance_private_hostname)
          try:
              local("~/scripts/{}.py {}".format('install_prerequisites', params))
@@@ -200,8 -200,8 +197,8 @@@
                      notebook_config['exploratory_name'], edge_hostname)
          try:
              local("~/scripts/{}.py {}".format('configure_rstudio_node', params))
-             dlab.actions_lib.remount_azure_disk(True, notebook_config['dlab_ssh_user'], instance_hostname,
-                                os.environ['conf_key_dir'] + os.environ['conf_key_name'] + ".pem")
+             datalab.actions_lib.remount_azure_disk(True, notebook_config['datalab_ssh_user'], instance_hostname,
 -                               os.environ['conf_key_dir'] + os.environ['conf_key_name'] + ".pem")
++                                                   os.environ['conf_key_dir'] + os.environ['conf_key_name'] + ".pem")
          except:
              traceback.print_exc()
              raise Exception
@@@ -266,8 -266,8 +263,8 @@@
                                          notebook_config['expected_image_name'])
              if image == '':
                  print("Looks like it's first time we configure notebook server. Creating image.")
-                 dlab.actions_lib.prepare_vm_for_image(True, notebook_config['dlab_ssh_user'], instance_hostname,
-                                                       keyfile_name)
+                 datalab.actions_lib.prepare_vm_for_image(True, notebook_config['datalab_ssh_user'], instance_hostname,
 -                                                      keyfile_name)
++                                                         keyfile_name)
                  AzureActions.create_image_from_instance(notebook_config['resource_group_name'],
                                                          notebook_config['instance_name'],
                                                          os.environ['azure_region'],
@@@ -282,10 -282,10 +279,10 @@@
                          instance_running = True
                  instance_hostname = AzureMeta.get_private_ip_address(notebook_config['resource_group_name'],
                                                                       notebook_config['instance_name'])
-                 dlab.actions_lib.remount_azure_disk(True, notebook_config['dlab_ssh_user'], instance_hostname,
-                                                     keyfile_name)
-                 dlab.fab.set_git_proxy(notebook_config['dlab_ssh_user'], instance_hostname, keyfile_name,
-                                        'http://{}:3128'.format(edge_instance_private_hostname))
+                 datalab.actions_lib.remount_azure_disk(True, notebook_config['datalab_ssh_user'], instance_hostname,
 -                                                    keyfile_name)
++                                                       keyfile_name)
+                 datalab.fab.set_git_proxy(notebook_config['datalab_ssh_user'], instance_hostname, keyfile_name,
 -                                       'http://{}:3128'.format(edge_instance_private_hostname))
++                                          'http://{}:3128'.format(edge_instance_private_hostname))
                  additional_config = {"proxy_host": edge_instance_private_hostname, "proxy_port": "3128"}
                  params = "--hostname {} --instance_name {} --keyfile {} --additional_config '{}' --os_user {}" \
                      .format(instance_hostname, notebook_config['instance_name'], keyfile_name,
@@@ -361,13 -361,13 +358,13 @@@
                         {"description": "RStudio",
                          "url": rstudio_notebook_access_url},
                         {"description": "Ungit",
--                        "url": rstudio_ungit_access_url}#,
--                       #{"description": "RStudio (via tunnel)",
++                        "url": rstudio_ungit_access_url}  # ,
++                       # {"description": "RStudio (via tunnel)",
                         # "url": rstudio_ip_url},
--                       #{"description": "Ungit (via tunnel)",
++                       # {"description": "Ungit (via tunnel)",
                         # "url": ungit_ip_url}
                     ],
-                    "exploratory_user": notebook_config['dlab_ssh_user'],
+                    "exploratory_user": notebook_config['datalab_ssh_user'],
                     "exploratory_pass": notebook_config['rstudio_pass']}
              result.write(json.dumps(res))
      except Exception as err:
diff --cc infrastructure-provisioning/src/general/scripts/azure/ssn_configure.py
index fa3f827,db84948..6fad0bb
--- a/infrastructure-provisioning/src/general/scripts/azure/ssn_configure.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/ssn_configure.py
@@@ -21,16 -21,16 +21,13 @@@
  #
  # ******************************************************************************
  
--import sys
--import os
 -import json
 -from fabric.api import *
 -import datalab.ssn_lib
 -import datalab.fab
 -import datalab.actions_lib
+ import datalab.meta_lib
 +import json
- from fabric.api import *
- import dlab.ssn_lib
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
  import logging
++import os
++import sys
  import traceback
++from fabric.api import *
  
  if __name__ == "__main__":
      local_log_filename = "{}_{}.log".format(os.environ['conf_resource'], os.environ['request_id'])
@@@ -56,11 -56,11 +53,11 @@@
  
  
      try:
-         AzureMeta = dlab.meta_lib.AzureMeta()
-         AzureActions = dlab.actions_lib.AzureActions()
+         AzureMeta = datalab.meta_lib.AzureMeta()
+         AzureActions = datalab.actions_lib.AzureActions()
          ssn_conf = dict()
          ssn_conf['instance'] = 'ssn'
--        
++
          logging.info('[DERIVING NAMES]')
          print('[DERIVING NAMES]')
  
@@@ -133,10 -133,10 +130,11 @@@
          sys.exit(1)
  
      try:
-         logging.info('[CREATING DLAB SSH USER]')
-         print('[CREATING DLAB SSH USER]')
-         params = "--hostname {} --keyfile {} --initial_user {} --os_user {} --sudo_group {}".format\
-             (ssn_conf['instance_host'], ssn_conf['ssh_key_path'], ssn_conf['initial_user'], ssn_conf['dlab_ssh_user'],
+         logging.info('[CREATING DATALAB SSH USER]')
+         print('[CREATING DATALAB SSH USER]')
 -        params = "--hostname {} --keyfile {} --initial_user {} --os_user {} --sudo_group {}".format\
 -            (ssn_conf['instance_host'], ssn_conf['ssh_key_path'], ssn_conf['initial_user'], ssn_conf['datalab_ssh_user'],
++        params = "--hostname {} --keyfile {} --initial_user {} --os_user {} --sudo_group {}".format \
++            (ssn_conf['instance_host'], ssn_conf['ssh_key_path'], ssn_conf['initial_user'],
++             ssn_conf['datalab_ssh_user'],
               ssn_conf['sudo_group'])
          local("~/scripts/{}.py {}".format('create_ssh_user', params))
      except Exception as err:
@@@ -502,8 -502,8 +500,10 @@@
                     os.environ['conf_resource'], ssn_conf['service_base_name'], os.environ['conf_cloud_provider'],
                     ssn_conf['billing_enabled'], ssn_conf['azure_auth_path'], os.environ['azure_offer_number'],
                     os.environ['azure_currency'], os.environ['azure_locale'], os.environ['azure_region_info'],
--                   ssn_conf['ldap_login'], ssn_conf['tenant_id'], ssn_conf['datalake_application_id'], ssn_conf['datalake_store_name'], json.dumps(cloud_params),
--                   ssn_conf['subscription_id'], os.environ['azure_validate_permission_scope'], ssn_conf['default_endpoint_name'],
++                   ssn_conf['ldap_login'], ssn_conf['tenant_id'], ssn_conf['datalake_application_id'],
++                   ssn_conf['datalake_store_name'], json.dumps(cloud_params),
++                   ssn_conf['subscription_id'], os.environ['azure_validate_permission_scope'],
++                   ssn_conf['default_endpoint_name'],
                     os.environ['keycloak_client_name'], os.environ['keycloak_client_secret'],
                     os.environ['keycloak_auth_server_url'])
          local("~/scripts/{}.py {}".format('configure_ui', params))
@@@ -579,9 -579,9 +579,9 @@@
              f.write(json.dumps(res))
  
          print('Upload response file')
--        params = "--instance_name {} --local_log_filepath {} --os_user {} --instance_hostname {}".\
-             format(ssn_conf['instance_name'], local_log_filepath, ssn_conf['dlab_ssh_user'], ssn_conf['instnace_ip'])
++        params = "--instance_name {} --local_log_filepath {} --os_user {} --instance_hostname {}". \
+             format(ssn_conf['instance_name'], local_log_filepath, ssn_conf['datalab_ssh_user'], ssn_conf['instnace_ip'])
          local("~/scripts/{}.py {}".format('upload_response_file', params))
      except Exception as err:
-         dlab.fab.append_result("Error with writing results.", str(err))
+         datalab.fab.append_result("Error with writing results.", str(err))
          sys.exit(1)
diff --cc infrastructure-provisioning/src/general/scripts/azure/ssn_create_datalake.py
index 53a94e9,b9884de..6f9ffc7
--- a/infrastructure-provisioning/src/general/scripts/azure/ssn_create_datalake.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/ssn_create_datalake.py
@@@ -23,11 -23,11 +23,10 @@@
  
  import argparse
  import json
- from dlab.fab import *
- from dlab.actions_lib import *
- from dlab.meta_lib import *
 -from datalab.fab import *
 +import sys
- 
+ from datalab.actions_lib import *
++from datalab.fab import *
+ from datalab.meta_lib import *
 -import sys
 -
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--datalake_name', type=str, default='')
@@@ -36,7 -36,7 +35,6 @@@ parser.add_argument('--resource_group_n
  parser.add_argument('--region', type=str, default='')
  args = parser.parse_args()
  
--
  if __name__ == "__main__":
      try:
          check_datalake = False
diff --cc infrastructure-provisioning/src/general/scripts/azure/ssn_create_peering.py
index 6b53174,0093f27..4f2d342
--- a/infrastructure-provisioning/src/general/scripts/azure/ssn_create_peering.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/ssn_create_peering.py
@@@ -22,9 -22,9 +22,10 @@@
  # ******************************************************************************
  
  import argparse
- from dlab.actions_lib import *
- from dlab.meta_lib import *
- import sys, time
++import sys
++import time
+ from datalab.actions_lib import *
+ from datalab.meta_lib import *
 -import sys, time
  
  parser = argparse.ArgumentParser()
  parser.add_argument('--source_resource_group_name', type=str, default='')
diff --cc infrastructure-provisioning/src/general/scripts/azure/ssn_create_resource_group.py
index 8134096,dc296eb..c6f761c
--- a/infrastructure-provisioning/src/general/scripts/azure/ssn_create_resource_group.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/ssn_create_resource_group.py
@@@ -30,7 -30,7 +30,6 @@@ parser.add_argument('--resource_group_n
  parser.add_argument('--region', type=str, default='')
  args = parser.parse_args()
  
--
  if __name__ == "__main__":
      if args.resource_group_name != '':
          if AzureMeta().get_resource_group(args.resource_group_name):
diff --cc infrastructure-provisioning/src/general/scripts/azure/ssn_create_vpc.py
index ac7cb18,eeea9ec..faeefbd
--- a/infrastructure-provisioning/src/general/scripts/azure/ssn_create_vpc.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/ssn_create_vpc.py
@@@ -32,7 -32,7 +32,6 @@@ parser.add_argument('--region', type=st
  parser.add_argument('--vpc_cidr', type=str, default='')
  args = parser.parse_args()
  
--
  if __name__ == "__main__":
      if args.vpc_name != '':
          if AzureMeta().get_vpc(args.resource_group_name, args.vpc_name):
diff --cc infrastructure-provisioning/src/general/scripts/azure/ssn_prepare.py
index 408f423,93d3dd8..b6b8a89
--- a/infrastructure-provisioning/src/general/scripts/azure/ssn_prepare.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/ssn_prepare.py
@@@ -21,22 -21,22 +21,18 @@@
  #
  # ******************************************************************************
  
--import sys
--import os
 -import json
 -from fabric.api import *
 -from Crypto.PublicKey import RSA
 -import datalab.ssn_lib
 -import datalab.fab
 -import datalab.actions_lib
+ import datalab.meta_lib
 +import json
- from fabric.api import *
- from Crypto.PublicKey import RSA
- import dlab.ssn_lib
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
  import logging
++import os
++import sys
  import traceback
--
++from Crypto.PublicKey import RSA
++from fabric.api import *
  
  if __name__ == "__main__":
      local_log_filename = "{}_{}.log".format(os.environ['conf_resource'], os.environ['request_id'])
--    local_log_filepath = "/logs/" + os.environ['conf_resource'] +  "/" + local_log_filename
++    local_log_filepath = "/logs/" + os.environ['conf_resource'] + "/" + local_log_filename
      logging.basicConfig(format='%(levelname)-8s [%(asctime)s]  %(message)s',
                          level=logging.DEBUG,
                          filename=local_log_filepath)
diff --cc infrastructure-provisioning/src/general/scripts/azure/ssn_terminate.py
index d1bf732,45aee06..7c7399a
--- a/infrastructure-provisioning/src/general/scripts/azure/ssn_terminate.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/ssn_terminate.py
@@@ -21,16 -21,16 +21,16 @@@
  #
  # ******************************************************************************
  
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
- import dlab.ssn_lib
- import sys
- import os
- from fabric.api import *
 -import datalab.fab
+ import datalab.actions_lib
++import datalab.fab
+ import datalab.meta_lib
+ import datalab.ssn_lib
 -import sys
 -import os
 -from fabric.api import *
++import json
  import logging
++import os
++import sys
  import traceback
--import json
++from fabric.api import *
  
  
  def terminate_ssn_node(resource_group_name, service_base_name, vpc_name, region):
@@@ -140,14 -140,14 +140,14 @@@ if __name__ == "__main__"
                          level=logging.DEBUG,
                          filename=local_log_filepath)
      # generating variables dictionary
-     AzureMeta = dlab.meta_lib.AzureMeta()
-     AzureActions = dlab.actions_lib.AzureActions()
+     AzureMeta = datalab.meta_lib.AzureMeta()
+     AzureActions = datalab.actions_lib.AzureActions()
      print('Generating infrastructure names and tags')
      ssn_conf = dict()
-     ssn_conf['service_base_name'] = dlab.fab.replace_multi_symbols(os.environ['conf_service_base_name'][:20],
-                                                                    '-', True)
+     ssn_conf['service_base_name'] = datalab.fab.replace_multi_symbols(os.environ['conf_service_base_name'][:20],
 -                                                                   '-', True)
++                                                                      '-', True)
      ssn_conf['resource_group_name'] = os.environ.get(
--            'azure_resource_group_name', '{}-resource-group'.format(ssn_conf['service_base_name']))
++        'azure_resource_group_name', '{}-resource-group'.format(ssn_conf['service_base_name']))
      ssn_conf['region'] = os.environ['azure_region']
      ssn_conf['vpc_name'] = os.environ['azure_vpc_name']
  
diff --cc infrastructure-provisioning/src/general/scripts/azure/tensor_configure.py
index 914f686,926b381..f23795a
--- a/infrastructure-provisioning/src/general/scripts/azure/tensor_configure.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/tensor_configure.py
@@@ -21,18 -21,18 +21,14 @@@
  #
  # ******************************************************************************
  
--import logging
 -import json
 -import sys
 -import traceback
 -import datalab.fab
 -import datalab.actions_lib
+ import datalab.meta_lib
 +import json
- import sys
- import traceback
- import dlab.fab
- import dlab.actions_lib
- import dlab.meta_lib
++import logging
  import os
++import sys
  import traceback
  from fabric.api import *
  
--
  if __name__ == "__main__":
      instance_class = 'notebook'
      local_log_filename = "{}_{}_{}.log".format(os.environ['conf_resource'], os.environ['project_name'],
@@@ -174,8 -174,8 +170,8 @@@
      try:
          logging.info('[INSTALLING PREREQUISITES TO TENSOR NOTEBOOK INSTANCE]')
          print('[INSTALLING PREREQUISITES TO TENSOR NOTEBOOK INSTANCE]')
--        params = "--hostname {} --keyfile {} --user {} --region {} --edge_private_ip {}".\
-             format(instance_hostname, keyfile_name, notebook_config['dlab_ssh_user'], os.environ['azure_region'],
++        params = "--hostname {} --keyfile {} --user {} --region {} --edge_private_ip {}". \
+             format(instance_hostname, keyfile_name, notebook_config['datalab_ssh_user'], os.environ['azure_region'],
                     edge_instance_private_hostname)
          try:
              local("~/scripts/{}.py {}".format('install_prerequisites', params))
@@@ -199,8 -199,8 +195,8 @@@
                           notebook_config['ip_address'], notebook_config['exploratory_name'], edge_hostname)
          try:
              local("~/scripts/{}.py {}".format('configure_tensor_node', params))
... 19205 lines suppressed ...


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datalab.apache.org
For additional commands, e-mail: commits-help@datalab.apache.org