You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datalab.apache.org by lf...@apache.org on 2020/10/02 15:34:12 UTC

[incubator-datalab] branch DLAB-1911 updated (729b951 -> 5387bb9)

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

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


    from 729b951  [DLAB-1911]: changed api call in remove security rule function
     add 7346547  [DLAB-2052]: Downgraded RStudio to the previous version
     add 762a504  Merge pull request #907 from apache/DLAB-2052
     add 04b14a0  Created test for TagServiceImpl
     add 78af148  [DLAB-2050]: Fixed space between compute status and icon should not change if expand head grid (#909)
     add aae9674  [DLAB-2049]: Fixed clicking the same sort icon should not change value position in grid (#910)
     add fb9382a  [DLAB-2048]: Fixed billing details on list of resources (#912)
     add c6c1838  [DLAB-2052]: fixed rstudio download link
     add 1555bbf  [DLAB-2052]: fixed rstudio-server.service path
     add d9f8d49  Merge pull request #913 from apache/DLAB-2052
     add feb89f1  [DLAB-2047]: Made fixed size for library management popup (#915)
     add 23c9230   [DLAB-2055]: Fixed errors on library popup (#916)
     add ef4a26a  [DLAB-2043]: Changed message for scheduler reminder (#918)
     add 53814f9  [DLAB-2044]: Style fix in compute popup (#919)
     add 839dab7  [DLAB-1922] Fixed bug with reminder about notebook stopping continues to show up after scheduler triggering (#917)
     add e5cad90  [DLAB-2060]: Added link to promotion page
     add 0999920  [DLAB-2038] Added 'endpoint' field to response on the 'Environment management' page
     add 2b9989f  Merge pull request #920 from apache/DLAB-1911
     add 34a0f0b  [DLAB-1101]: Fixed 'Default timezone_offset' is rewritten if switching scheduler types for notebook (#921)
     add 6558b76  Merge pull request #922 from apache/DLAB-1911
     add 9196dc0  Fixed issue with billing for azure
     add f7a938a  [DLAB-1778]: Added localization  (#923)
     add 1f7aea7  [DLAB-2039]: Added endpoint for instances on 'Environment management' (#924)
     add 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
     add b19b207  Merge branch 'new-datalab-name' into develop
     add 0c5459d  [DLAB-2066] Replaced old name with new one in self-service.yml
     new ade604f  [DLAB-1911]: fixed wrong ip usage during edge node firewall creation on gcp
     new d7fc98a  [DLAB-1911]: fixed wrong variable usage during edge node firewall creation on gcp
     new f0261f6  [DLAB-1911]: added posability to specify predefined security group for edge node on azure, addition of new rule with endpoint ip, and it`s deletion during project termination
     new a29af3d  [DLAB-1911]: removed priority for edge rule
     new 25d6139  [DLAB-1911]: added traceback in azure project prepare, edited edge security group variable description in dlab.ini
     new c5a1429  [DLAB-1911]: added creation of separate security rules in predefined edge sg in azure
     new 21632e2  [DLAB-1911]: fixed wrong variable name in dlab.ini
     new f10bc94  [DLAB-1911]: added missed variable definition
     new c95ce67  [DLAB-1911]: changed api call in remove security rule function
     new 5387bb9  Merge branch 'DLAB-1911' of https://github.com/apache/incubator-dlab into DLAB-1911

The 10 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                                    |    8 +-
 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                      |  233 ++++
 infrastructure-provisioning/scripts/deploy_dlab.py |  222 ----
 .../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                   |  379 ++++++
 .../src/general/conf/dlab.ini                      |  379 ------
 .../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/rstudio_description.json |    2 +-
 .../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 +-
 .../general/files/azure/rstudio_description.json   |    2 +-
 .../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/rstudio_description.json |    2 +-
 .../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      |   31 +-
 .../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   |   37 +-
 .../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 |  245 ----
 .../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     |   41 -
 .../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     |  153 ---
 .../service/impl/azure/BucketServiceAzureImpl.java |  177 ---
 .../service/impl/gcp/BucketServiceGcpImpl.java     |  132 --
 ...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 |   55 -
 .../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    |   42 -
 .../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       |  231 ----
 .../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      |  513 --------
 .../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 +-
 .../src/main/resources/webapp/package-lock.json    |  430 ++++++-
 .../src/main/resources/webapp/package.json         |    1 +
 .../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 |   24 +-
 .../management-grid/management-grid.component.scss |   56 +-
 .../management-grid/management-grid.component.ts   |   25 +-
 .../management/management.component.html           |    2 +-
 .../administration/management/management.model.ts  |    6 +-
 .../ssn-monitor/ssn-monitor.component.ts           |    3 +-
 .../administration/project/project.component.ts    |    2 +-
 .../app/administration/roles/roles.component.ts    |    2 +-
 .../main/resources/webapp/src/app/app.module.ts    |   10 +-
 .../app/core/pipes/local-currency-pipe/index.ts    |   30 +
 .../local-currency-pipe/local-currency.pipe.ts     |   48 +
 .../src/app/core/pipes/local-date-pipe/index.ts    |   30 +
 .../core/pipes/local-date-pipe/local-date.pipe.ts  |   34 +
 .../src/app/core/services/localization.service.ts  |   56 +
 .../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.html     |    2 +-
 .../audit/audit-grid/audit-grid.component.ts       |    4 +-
 .../src/app/reports/audit/audit.component.ts       |   28 +-
 .../webapp/src/app/reports/audit/audit.module.ts   |   24 +-
 .../reporting-grid/reporting-grid.component.html   |   30 +-
 .../reporting-grid/reporting-grid.component.ts     |    9 +-
 .../app/reports/reporting/reporting.component.ts   |   28 +-
 .../src/app/reports/reporting/reporting.module.ts  |   20 +-
 .../reports/reporting/toolbar/toolbar.component.ts |    2 +-
 .../bucket-browser/bucket-browser.component.html   |   31 +-
 .../bucket-browser/bucket-browser.component.ts     |   17 +-
 .../bucket-browser/bucket-browser.module.ts        |   22 +-
 .../bucket-browser/bucket-data.service.ts          |   61 +-
 .../buckets-tree/bucket-tree.component.ts          |    2 +-
 .../folder-tree/folder-tree.component.ts           |    2 +-
 .../cluster-details/cluster-details.component.html |   99 +-
 .../cluster-details/cluster-details.component.ts   |   19 +-
 ...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 +-
 .../cost-details-dialog.component.html             |   10 +-
 .../cost-details-dialog.component.scss             |   14 +-
 .../exploratory/cost-details-dialog/index.ts       |    4 +-
 .../create-environment.component.html              |   32 +-
 .../detail-dialog/detail-dialog.component.html     |   40 +-
 .../detail-dialog/detail-dialog.component.ts       |    3 +-
 .../install-libraries.component.html               |   11 +-
 .../install-libraries.component.scss               |   74 +-
 .../install-libraries.component.ts                 |    3 +
 .../manage-ungit/manage-ungit.component.ts         |    2 +-
 .../resources-grid/resources-grid.component.html   |   44 +-
 .../src/app/resources/resources.component.ts       |    2 +-
 .../resources/scheduler/scheduler.calculations.ts  |    8 +
 .../resources/scheduler/scheduler.component.html   |  169 +--
 .../app/resources/scheduler/scheduler.component.ts |   38 +-
 .../access-denied/access-denied.component.ts       |    2 +-
 .../confirmation-dialog.component.html             |   15 +-
 .../confirmation-dialog.component.ts               |    2 +-
 .../notification-dialog.component.ts               |   27 +-
 .../src/app/shared/navbar/navbar.component.html    |    2 +-
 .../src/app/shared/navbar/navbar.component.scss    |    2 +-
 .../src/app/shared/navbar/navbar.component.ts      |   39 +-
 .../webapp/src/app/shared/time-picker/index.ts     |    3 +-
 .../shared/time-picker/time-picker.component.ts    |   18 +-
 .../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/_general.scss         |    1 +
 .../webapp/src/assets/styles/app-loading.scss      |  151 +--
 .../webapp/src/assets/svg/datalab-logo.svg         |   12 +
 .../main/resources/webapp/src/assets/svg/logo.svg  |   11 +-
 .../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 +-
 .../src/main/resources/webapp/src/polyfills.ts     |    4 +
 .../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 --
 .../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        |  262 ----
 .../service/impl/ComputationalServiceImplTest.java |  784 -----------
 .../service/impl/EndpointServiceImplTest.java      |  310 -----
 .../service/impl/EnvironmentServiceImplTest.java   |  367 ------
 .../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 -
 2271 files changed, 82916 insertions(+), 81362 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/app/core/pipes/local-currency-pipe/index.ts
 create mode 100644 services/self-service/src/main/resources/webapp/src/app/core/pipes/local-currency-pipe/local-currency.pipe.ts
 create mode 100644 services/self-service/src/main/resources/webapp/src/app/core/pipes/local-date-pipe/index.ts
 create mode 100644 services/self-service/src/main/resources/webapp/src/app/core/pipes/local-date-pipe/local-date.pipe.ts
 create mode 100644 services/self-service/src/main/resources/webapp/src/app/core/services/localization.service.ts
 create mode 100644 services/self-service/src/main/resources/webapp/src/assets/svg/datalab-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/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] 07/10: [DLAB-1911]: fixed wrong variable name in dlab.ini

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

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

commit 21632e215175cbde856148960571b7319d9b6ebd
Author: leonidfrolov <fr...@gmail.com>
AuthorDate: Fri Oct 2 16:44:35 2020 +0300

    [DLAB-1911]: fixed wrong variable name in dlab.ini
---
 infrastructure-provisioning/src/general/conf/datalab.ini | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/infrastructure-provisioning/src/general/conf/datalab.ini b/infrastructure-provisioning/src/general/conf/datalab.ini
index d9e8af4..ae93aa6 100644
--- a/infrastructure-provisioning/src/general/conf/datalab.ini
+++ b/infrastructure-provisioning/src/general/conf/datalab.ini
@@ -143,7 +143,7 @@ redhat_image_name = RHEL-7.4_HVM-20180103-x86_64-2-Hourly2-GP2
 ### Subnet name
 # subnet_name =
 ### name Will create exploratory environment with edge node as access point as followingof the security group for edge instance
-# edge_security_group =
+# edge_security_group_name =
 ### EC2 instance type for SSN
 ssn_instance_size = Standard_DS2_v2
 ### Instance type for EDGE


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


[incubator-datalab] 08/10: [DLAB-1911]: added missed variable definition

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

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

commit f10bc94e8a892bf4d5c5cf3401a832bf91b2cc4a
Author: leonidfrolov <fr...@gmail.com>
AuthorDate: Fri Oct 2 17:01:33 2020 +0300

    [DLAB-1911]: added missed variable definition
---
 infrastructure-provisioning/src/general/scripts/azure/project_prepare.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/infrastructure-provisioning/src/general/scripts/azure/project_prepare.py b/infrastructure-provisioning/src/general/scripts/azure/project_prepare.py
index c4ad818..a80f9d4 100644
--- a/infrastructure-provisioning/src/general/scripts/azure/project_prepare.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/project_prepare.py
@@ -179,6 +179,7 @@ if __name__ == "__main__":
                 endpoint_ip = AzureMeta.get_instance_public_ip_address(project_conf['resource_group_name'],
                                                          '{}-{}-endpoint'.format(project_conf['service_base_name'], project_conf['endpoint_name']))
             priority = 110
+            priorities = list()
             rules_list = AzureMeta.get_security_group(project_conf['resource_group_name'], os.environ['azure_edge_security_group_name'])
             for rule in rules_list.as_dict()['security_rules']:
                 priorities.append(rule['priority'])


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


[incubator-datalab] 05/10: [DLAB-1911]: added traceback in azure project prepare, edited edge security group variable description in dlab.ini

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

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

commit 25d61392f85de08875627543b6da63ff022ee1a3
Author: leonidfrolov <fr...@gmail.com>
AuthorDate: Wed Sep 30 20:20:22 2020 +0300

    [DLAB-1911]: added traceback in azure project prepare, edited edge security group variable description in dlab.ini
---
 infrastructure-provisioning/src/general/conf/datalab.ini                | 2 +-
 .../src/general/scripts/azure/project_prepare.py                        | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/infrastructure-provisioning/src/general/conf/datalab.ini b/infrastructure-provisioning/src/general/conf/datalab.ini
index cc50cd3..d9e8af4 100644
--- a/infrastructure-provisioning/src/general/conf/datalab.ini
+++ b/infrastructure-provisioning/src/general/conf/datalab.ini
@@ -142,7 +142,7 @@ redhat_image_name = RHEL-7.4_HVM-20180103-x86_64-2-Hourly2-GP2
 # vpc_name =
 ### Subnet name
 # subnet_name =
-### Id of the security group for SSN instance
+### name Will create exploratory environment with edge node as access point as followingof the security group for edge instance
 # edge_security_group =
 ### EC2 instance type for SSN
 ssn_instance_size = Standard_DS2_v2
diff --git a/infrastructure-provisioning/src/general/scripts/azure/project_prepare.py b/infrastructure-provisioning/src/general/scripts/azure/project_prepare.py
index 9f1c3de..784c2d8 100644
--- a/infrastructure-provisioning/src/general/scripts/azure/project_prepare.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/project_prepare.py
@@ -481,6 +481,7 @@ if __name__ == "__main__":
             datalab.fab.append_result("Failed creating security group for edge node.", str(err))
             raise Exception
     except:
+        traceback.print_exc()
         sys.exit(1)
 
     try:


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


[incubator-datalab] 01/10: [DLAB-1911]: fixed wrong ip usage during edge node firewall creation on gcp

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

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

commit ade604f88d64fc2417c8310e1498f240a34f119b
Author: leonidfrolov <fr...@gmail.com>
AuthorDate: Tue Sep 29 10:23:53 2020 +0300

    [DLAB-1911]: fixed wrong ip usage during edge node firewall creation on gcp
---
 infrastructure-provisioning/src/general/scripts/gcp/project_prepare.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/infrastructure-provisioning/src/general/scripts/gcp/project_prepare.py b/infrastructure-provisioning/src/general/scripts/gcp/project_prepare.py
index b029e00..726a2ec 100644
--- a/infrastructure-provisioning/src/general/scripts/gcp/project_prepare.py
+++ b/infrastructure-provisioning/src/general/scripts/gcp/project_prepare.py
@@ -229,7 +229,7 @@ if __name__ == "__main__":
             project_conf['allowed_ip_cidr'] = '{}, {}/32'.format(project_conf['allowed_ip_cidr'], ssn_public_ip).split(', ')
         elif os.environ['conf_allowed_ip_cidr'] != '0.0.0.0/0' and project_conf['endpoint_name'] != 'local':
             endpoint_public_ip = GCPMeta.get_instance_public_ip_by_name('{}-{}-endpoint'.format(project_conf['service_base_name'], project_conf['endpoint_name']))
-            project_conf['allowed_ip_cidr'] = '{}, {}/32'.format(project_conf['allowed_ip_cidr'], ssn_public_ip).split(', ')
+            project_conf['allowed_ip_cidr'] = '{}, {}/32'.format(project_conf['allowed_ip_cidr'], endpoint_public_ip).split(', ')
         else:
             project_conf['allowed_ip_cidr'] = [project_conf['allowed_ip_cidr']]
         ingress_rule['name'] = project_conf['fw_edge_ingress_public']


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


[incubator-datalab] 10/10: Merge branch 'DLAB-1911' of https://github.com/apache/incubator-dlab into DLAB-1911

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

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

commit 5387bb9cdc321e906e0ebf60419c67f8dd7208ad
Merge: c95ce67 729b951
Author: leonidfrolov <fr...@gmail.com>
AuthorDate: Fri Oct 2 18:29:47 2020 +0300

    Merge branch 'DLAB-1911' of https://github.com/apache/incubator-dlab into DLAB-1911



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


[incubator-datalab] 03/10: [DLAB-1911]: added posability to specify predefined security group for edge node on azure, addition of new rule with endpoint ip, and it`s deletion during project termination

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

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

commit f0261f6916ffb17d41bb53dee60f2c2c3f9f2775
Author: leonidfrolov <fr...@gmail.com>
AuthorDate: Wed Sep 30 14:52:04 2020 +0300

    [DLAB-1911]: added posability to specify predefined security group for edge node on azure, addition of new rule with endpoint ip, and it`s deletion during project termination
---
 .../scripts/deploy_datalab.py                      |   6 +-
 .../src/general/conf/datalab.ini                   |   2 +
 .../src/general/lib/azure/actions_lib.py           |  15 +
 .../src/general/scripts/azure/project_prepare.py   | 570 +++++++++++----------
 .../src/general/scripts/azure/project_terminate.py |  21 +-
 5 files changed, 334 insertions(+), 280 deletions(-)

diff --git a/infrastructure-provisioning/scripts/deploy_datalab.py b/infrastructure-provisioning/scripts/deploy_datalab.py
index 096150c..530f19b 100644
--- a/infrastructure-provisioning/scripts/deploy_datalab.py
+++ b/infrastructure-provisioning/scripts/deploy_datalab.py
@@ -72,8 +72,10 @@ parser.add_argument('--azure_subnet_name', type=str, default='', help='Azure Sub
 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('--azure_security_group_name', type=str, default='', help='One Security'
+                                                                              'group name for SSN')
+parser.add_argument('--azure_edge_security_group_name', type=str, default='', help='One Security '
+                                                                              'group name for Edge node')
 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)')
diff --git a/infrastructure-provisioning/src/general/conf/datalab.ini b/infrastructure-provisioning/src/general/conf/datalab.ini
index 3663402..cc50cd3 100644
--- a/infrastructure-provisioning/src/general/conf/datalab.ini
+++ b/infrastructure-provisioning/src/general/conf/datalab.ini
@@ -142,6 +142,8 @@ redhat_image_name = RHEL-7.4_HVM-20180103-x86_64-2-Hourly2-GP2
 # vpc_name =
 ### Subnet name
 # subnet_name =
+### Id of the security group for SSN instance
+# edge_security_group =
 ### EC2 instance type for SSN
 ssn_instance_size = Standard_DS2_v2
 ### Instance type for EDGE
diff --git a/infrastructure-provisioning/src/general/lib/azure/actions_lib.py b/infrastructure-provisioning/src/general/lib/azure/actions_lib.py
index d11e223..597a5ca 100644
--- a/infrastructure-provisioning/src/general/lib/azure/actions_lib.py
+++ b/infrastructure-provisioning/src/general/lib/azure/actions_lib.py
@@ -225,6 +225,21 @@ class AzureActions:
                                    file=sys.stdout)}))
             traceback.print_exc(file=sys.stdout)
 
+    def remove_security_rules(self, resource_group_name, network_security_group_name, security_rule_name):
+        try:
+            result = self.network_client.security_rules.delete(
+                network_security_group_name,
+                resource_group_name,
+                security_rule_name).wait()
+            return result
+        except Exception as err:
+            logging.info(
+                "Unable to remove security rule: " + str(err) + "\n Traceback: " + traceback.print_exc(file=sys.stdout))
+            append_result(str({"error": "Unable to remove security rule",
+                               "error_message": str(err) + "\n Traceback: " + traceback.print_exc(
+                                   file=sys.stdout)}))
+            traceback.print_exc(file=sys.stdout)
+
     def remove_security_group(self, resource_group_name, network_security_group_name):
         try:
             result = self.network_client.network_security_groups.delete(
diff --git a/infrastructure-provisioning/src/general/scripts/azure/project_prepare.py b/infrastructure-provisioning/src/general/scripts/azure/project_prepare.py
index 92db0a2..25577a2 100644
--- a/infrastructure-provisioning/src/general/scripts/azure/project_prepare.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/project_prepare.py
@@ -169,277 +169,305 @@ if __name__ == "__main__":
     print('NEW SUBNET CIDR CREATED: {}'.format(project_conf['private_subnet_cidr']))
 
     try:
-        logging.info('[CREATE SECURITY GROUP FOR EDGE NODE]')
-        print('[CREATE SECURITY GROUP FOR EDGE]')
-        edge_list_rules = [
-            {
-                "name": "in-1",
-                "protocol": "*",
-                "source_port_range": "*",
-                "destination_port_range": "*",
-                "source_address_prefix": project_conf['private_subnet_cidr'],
-                "destination_address_prefix": "*",
-                "access": "Allow",
-                "priority": 100,
-                "direction": "Inbound"
-            },
-            {
-                "name": "in-2",
-                "protocol": "Tcp",
-                "source_port_range": "*",
-                "destination_port_range": "22",
-                "source_address_prefix": "*",
-                "destination_address_prefix": "*",
-                "access": "Allow",
-                "priority": 110,
-                "direction": "Inbound"
-            },
-            {
-                "name": "in-3",
-                "protocol": "Tcp",
-                "source_port_range": "*",
-                "destination_port_range": "3128",
-                "source_address_prefix": "*",
-                "destination_address_prefix": "*",
-                "access": "Allow",
-                "priority": 120,
-                "direction": "Inbound"
-            },
-            {
-                "name": "in-4",
-                "protocol": "Tcp",
-                "source_port_range": "*",
-                "destination_port_range": "80",
-                "source_address_prefix": "*",
-                "destination_address_prefix": "*",
-                "access": "Allow",
-                "priority": 130,
-                "direction": "Inbound"
-            },
-            {
-                "name": "in-5",
-                "protocol": "Tcp",
-                "source_port_range": "*",
-                "destination_port_range": "443",
-                "source_address_prefix": "*",
-                "destination_address_prefix": "*",
-                "access": "Allow",
-                "priority": 140,
-                "direction": "Inbound"
-            },
-            {
-                "name": "out-1",
-                "protocol": "Tcp",
-                "source_port_range": "*",
-                "destination_port_range": "22",
-                "source_address_prefix": "*",
-                "destination_address_prefix": project_conf['private_subnet_cidr'],
-                "access": "Allow",
-                "priority": 100,
-                "direction": "Outbound"
-            },
-            {
-                "name": "out-2",
-                "protocol": "Tcp",
-                "source_port_range": "*",
-                "destination_port_range": "8888",
-                "source_address_prefix": "*",
-                "destination_address_prefix": project_conf['private_subnet_cidr'],
-                "access": "Allow",
-                "priority": 110,
-                "direction": "Outbound"
-            },
-            {
-                "name": "out-3",
-                "protocol": "Tcp",
-                "source_port_range": "*",
-                "destination_port_range": "8080",
-                "source_address_prefix": "*",
-                "destination_address_prefix": project_conf['private_subnet_cidr'],
-                "access": "Allow",
-                "priority": 120,
-                "direction": "Outbound"
-            },
-            {
-                "name": "out-4",
-                "protocol": "Tcp",
-                "source_port_range": "*",
-                "destination_port_range": "8787",
-                "source_address_prefix": "*",
-                "destination_address_prefix": project_conf['private_subnet_cidr'],
-                "access": "Allow",
-                "priority": 130,
-                "direction": "Outbound"
-            },
-            {
-                "name": "out-5",
-                "protocol": "Tcp",
-                "source_port_range": "*",
-                "destination_port_range": "6006",
-                "source_address_prefix": "*",
-                "destination_address_prefix": project_conf['private_subnet_cidr'],
-                "access": "Allow",
-                "priority": 140,
-                "direction": "Outbound"
-            },
-            {
-                "name": "out-6",
-                "protocol": "Tcp",
-                "source_port_range": "*",
-                "destination_port_range": "20888",
-                "source_address_prefix": "*",
-                "destination_address_prefix": project_conf['private_subnet_cidr'],
-                "access": "Allow",
-                "priority": 150,
-                "direction": "Outbound"
-            },
-            {
-                "name": "out-7",
-                "protocol": "Tcp",
-                "source_port_range": "*",
-                "destination_port_range": "8088",
-                "source_address_prefix": "*",
-                "destination_address_prefix": project_conf['private_subnet_cidr'],
-                "access": "Allow",
-                "priority": 160,
-                "direction": "Outbound"
-            },
-            {
-                "name": "out-8",
-                "protocol": "Tcp",
-                "source_port_range": "*",
-                "destination_port_range": "18080",
-                "source_address_prefix": "*",
-                "destination_address_prefix": project_conf['private_subnet_cidr'],
-                "access": "Allow",
-                "priority": 170,
-                "direction": "Outbound"
-            },
-            {
-                "name": "out-9",
-                "protocol": "Tcp",
-                "source_port_range": "*",
-                "destination_port_range": "50070",
-                "source_address_prefix": "*",
-                "destination_address_prefix": project_conf['private_subnet_cidr'],
-                "access": "Allow",
-                "priority": 180,
-                "direction": "Outbound"
-            },
-            {
-                "name": "out-10",
-                "protocol": "Tcp",
-                "source_port_range": "*",
-                "destination_port_range": "8085",
-                "source_address_prefix": "*",
-                "destination_address_prefix": project_conf['private_subnet_cidr'],
-                "access": "Allow",
-                "priority": 190,
-                "direction": "Outbound"
-            },
-            {
-                "name": "out-11",
-                "protocol": "Tcp",
-                "source_port_range": "*",
-                "destination_port_range": "8081",
-                "source_address_prefix": "*",
-                "destination_address_prefix": project_conf['private_subnet_cidr'],
-                "access": "Allow",
-                "priority": 200,
-                "direction": "Outbound"
-            },
-            {
-                "name": "out-12",
-                "protocol": "Tcp",
-                "source_port_range": "*",
-                "destination_port_range": "4040-4140",
-                "source_address_prefix": "*",
-                "destination_address_prefix": project_conf['private_subnet_cidr'],
-                "access": "Allow",
-                "priority": 210,
-                "direction": "Outbound"
-            },
-            {
-                "name": "out-13",
-                "protocol": "Udp",
-                "source_port_range": "*",
-                "destination_port_range": "53",
-                "source_address_prefix": '*',
-                "destination_address_prefix": "*",
-                "access": "Allow",
-                "priority": 220,
-                "direction": "Outbound"
-            },
-            {
-                "name": "out-14",
-                "protocol": "Tcp",
-                "source_port_range": "*",
-                "destination_port_range": "80",
-                "source_address_prefix": '*',
-                "destination_address_prefix": "*",
-                "access": "Allow",
-                "priority": 230,
-                "direction": "Outbound"
-            },
-            {
-                "name": "out-15",
-                "protocol": "Tcp",
-                "source_port_range": "*",
-                "destination_port_range": "443",
-                "source_address_prefix": '*',
-                "destination_address_prefix": "*",
-                "access": "Allow",
-                "priority": 240,
-                "direction": "Outbound"
-            },
-            {
-                "name": "out-16",
-                "protocol": "Tcp",
-                "source_port_range": "*",
-                "destination_port_range": "389",
-                "source_address_prefix": '*',
-                "destination_address_prefix": "*",
-                "access": "Allow",
-                "priority": 250,
-                "direction": "Outbound"
-            },
-            {
-                "name": "out-17",
-                "protocol": "Tcp",
-                "source_port_range": "*",
-                "destination_port_range": "8042",
-                "source_address_prefix": "*",
-                "destination_address_prefix": project_conf['private_subnet_cidr'],
-                "access": "Allow",
-                "priority": 260,
-                "direction": "Outbound"
-            },
-            {
-                "name": "out-18",
-                "protocol": "Udp",
-                "source_port_range": "*",
-                "destination_port_range": "123",
-                "source_address_prefix": "*",
-                "destination_address_prefix": "*",
-                "access": "Allow",
-                "priority": 270,
-                "direction": "Outbound"
-            },
-            {
-                "name": "out-19",
-                "protocol": "*",
-                "source_port_range": "*",
-                "destination_port_range": "*",
-                "source_address_prefix": "*",
-                "destination_address_prefix": "*",
-                "access": "Deny",
-                "priority": 300,
-                "direction": "Outbound"
-            }
-        ]
-        params = "--resource_group_name {} --security_group_name {} --region {} --tags '{}' --list_rules '{}'". \
-            format(project_conf['resource_group_name'], project_conf['edge_security_group_name'],
-                   project_conf['region'], json.dumps(project_conf['instance_tags']), json.dumps(edge_list_rules))
+        if 'azure_edge_security_group_name' in os.environ:
+            logging.info('Security group predefined, adding new rule with endpoint IP')
+            print('Security group predefined, adding new rule with endpoint IP')
+            if project_conf['endpoint_name'] == 'local':
+                endpoint_ip = AzureMeta.get_instance_public_ip_address(edge_conf['resource_group_name'],
+                                                          '{}-ssn'.format(project_conf['service_base_name']))
+            else:
+                endpoint_ip = AzureMeta.get_instance_public_ip_address(edge_conf['resource_group_name'],
+                                                         '{}-{}-endpoint'.format(project_conf['service_base_name'], project_conf['endpoint_name']))
+            edge_list_rules = [
+                {
+                    "name": '{}-{}-{}-rule'.format(project_conf['service_base_name'],
+                                                 project_conf['project_name'],
+                                                 project_conf['endpoint_tag']),
+                    "protocol": "*",
+                    "source_port_range": "*",
+                    "destination_port_range": "*",
+                    "source_address_prefix": endpoint_ip,
+                    "destination_address_prefix": "*",
+                    "access": "Allow",
+                    "priority": 100,
+                    "direction": "Inbound"
+                }
+            ]
+            params = "--resource_group_name {} --security_group_name {} --region {} --list_rules '{}'". \
+                format(project_conf['resource_group_name'], os.environ['azure_edge_security_group_name'],
+                       project_conf['region'], json.dumps(edge_list_rules))
+        else:
+            logging.info('[CREATE SECURITY GROUP FOR EDGE NODE]')
+            print('[CREATE SECURITY GROUP FOR EDGE]')
+            edge_list_rules = [
+                {
+                    "name": "in-1",
+                    "protocol": "*",
+                    "source_port_range": "*",
+                    "destination_port_range": "*",
+                    "source_address_prefix": project_conf['private_subnet_cidr'],
+                    "destination_address_prefix": "*",
+                    "access": "Allow",
+                    "priority": 100,
+                    "direction": "Inbound"
+                },
+                {
+                    "name": "in-2",
+                    "protocol": "Tcp",
+                    "source_port_range": "*",
+                    "destination_port_range": "22",
+                    "source_address_prefix": "*",
+                    "destination_address_prefix": "*",
+                    "access": "Allow",
+                    "priority": 110,
+                    "direction": "Inbound"
+                },
+                {
+                    "name": "in-3",
+                    "protocol": "Tcp",
+                    "source_port_range": "*",
+                    "destination_port_range": "3128",
+                    "source_address_prefix": "*",
+                    "destination_address_prefix": "*",
+                    "access": "Allow",
+                    "priority": 120,
+                    "direction": "Inbound"
+                },
+                {
+                    "name": "in-4",
+                    "protocol": "Tcp",
+                    "source_port_range": "*",
+                    "destination_port_range": "80",
+                    "source_address_prefix": "*",
+                    "destination_address_prefix": "*",
+                    "access": "Allow",
+                    "priority": 130,
+                    "direction": "Inbound"
+                },
+                {
+                    "name": "in-5",
+                    "protocol": "Tcp",
+                    "source_port_range": "*",
+                    "destination_port_range": "443",
+                    "source_address_prefix": "*",
+                    "destination_address_prefix": "*",
+                    "access": "Allow",
+                    "priority": 140,
+                    "direction": "Inbound"
+                },
+                {
+                    "name": "out-1",
+                    "protocol": "Tcp",
+                    "source_port_range": "*",
+                    "destination_port_range": "22",
+                    "source_address_prefix": "*",
+                    "destination_address_prefix": project_conf['private_subnet_cidr'],
+                    "access": "Allow",
+                    "priority": 100,
+                    "direction": "Outbound"
+                },
+                {
+                    "name": "out-2",
+                    "protocol": "Tcp",
+                    "source_port_range": "*",
+                    "destination_port_range": "8888",
+                    "source_address_prefix": "*",
+                    "destination_address_prefix": project_conf['private_subnet_cidr'],
+                    "access": "Allow",
+                    "priority": 110,
+                    "direction": "Outbound"
+                },
+                {
+                    "name": "out-3",
+                    "protocol": "Tcp",
+                    "source_port_range": "*",
+                    "destination_port_range": "8080",
+                    "source_address_prefix": "*",
+                    "destination_address_prefix": project_conf['private_subnet_cidr'],
+                    "access": "Allow",
+                    "priority": 120,
+                    "direction": "Outbound"
+                },
+                {
+                    "name": "out-4",
+                    "protocol": "Tcp",
+                    "source_port_range": "*",
+                    "destination_port_range": "8787",
+                    "source_address_prefix": "*",
+                    "destination_address_prefix": project_conf['private_subnet_cidr'],
+                    "access": "Allow",
+                    "priority": 130,
+                    "direction": "Outbound"
+                },
+                {
+                    "name": "out-5",
+                    "protocol": "Tcp",
+                    "source_port_range": "*",
+                    "destination_port_range": "6006",
+                    "source_address_prefix": "*",
+                    "destination_address_prefix": project_conf['private_subnet_cidr'],
+                    "access": "Allow",
+                    "priority": 140,
+                    "direction": "Outbound"
+                },
+                {
+                    "name": "out-6",
+                    "protocol": "Tcp",
+                    "source_port_range": "*",
+                    "destination_port_range": "20888",
+                    "source_address_prefix": "*",
+                    "destination_address_prefix": project_conf['private_subnet_cidr'],
+                    "access": "Allow",
+                    "priority": 150,
+                    "direction": "Outbound"
+                },
+                {
+                    "name": "out-7",
+                    "protocol": "Tcp",
+                    "source_port_range": "*",
+                    "destination_port_range": "8088",
+                    "source_address_prefix": "*",
+                    "destination_address_prefix": project_conf['private_subnet_cidr'],
+                    "access": "Allow",
+                    "priority": 160,
+                    "direction": "Outbound"
+                },
+                {
+                    "name": "out-8",
+                    "protocol": "Tcp",
+                    "source_port_range": "*",
+                    "destination_port_range": "18080",
+                    "source_address_prefix": "*",
+                    "destination_address_prefix": project_conf['private_subnet_cidr'],
+                    "access": "Allow",
+                    "priority": 170,
+                    "direction": "Outbound"
+                },
+                {
+                    "name": "out-9",
+                    "protocol": "Tcp",
+                    "source_port_range": "*",
+                    "destination_port_range": "50070",
+                    "source_address_prefix": "*",
+                    "destination_address_prefix": project_conf['private_subnet_cidr'],
+                    "access": "Allow",
+                    "priority": 180,
+                    "direction": "Outbound"
+                },
+                {
+                    "name": "out-10",
+                    "protocol": "Tcp",
+                    "source_port_range": "*",
+                    "destination_port_range": "8085",
+                    "source_address_prefix": "*",
+                    "destination_address_prefix": project_conf['private_subnet_cidr'],
+                    "access": "Allow",
+                    "priority": 190,
+                    "direction": "Outbound"
+                },
+                {
+                    "name": "out-11",
+                    "protocol": "Tcp",
+                    "source_port_range": "*",
+                    "destination_port_range": "8081",
+                    "source_address_prefix": "*",
+                    "destination_address_prefix": project_conf['private_subnet_cidr'],
+                    "access": "Allow",
+                    "priority": 200,
+                    "direction": "Outbound"
+                },
+                {
+                    "name": "out-12",
+                    "protocol": "Tcp",
+                    "source_port_range": "*",
+                    "destination_port_range": "4040-4140",
+                    "source_address_prefix": "*",
+                    "destination_address_prefix": project_conf['private_subnet_cidr'],
+                    "access": "Allow",
+                    "priority": 210,
+                    "direction": "Outbound"
+                },
+                {
+                    "name": "out-13",
+                    "protocol": "Udp",
+                    "source_port_range": "*",
+                    "destination_port_range": "53",
+                    "source_address_prefix": '*',
+                    "destination_address_prefix": "*",
+                    "access": "Allow",
+                    "priority": 220,
+                    "direction": "Outbound"
+                },
+                {
+                    "name": "out-14",
+                    "protocol": "Tcp",
+                    "source_port_range": "*",
+                    "destination_port_range": "80",
+                    "source_address_prefix": '*',
+                    "destination_address_prefix": "*",
+                    "access": "Allow",
+                    "priority": 230,
+                    "direction": "Outbound"
+                },
+                {
+                    "name": "out-15",
+                    "protocol": "Tcp",
+                    "source_port_range": "*",
+                    "destination_port_range": "443",
+                    "source_address_prefix": '*',
+                    "destination_address_prefix": "*",
+                    "access": "Allow",
+                    "priority": 240,
+                    "direction": "Outbound"
+                },
+                {
+                    "name": "out-16",
+                    "protocol": "Tcp",
+                    "source_port_range": "*",
+                    "destination_port_range": "389",
+                    "source_address_prefix": '*',
+                    "destination_address_prefix": "*",
+                    "access": "Allow",
+                    "priority": 250,
+                    "direction": "Outbound"
+                },
+                {
+                    "name": "out-17",
+                    "protocol": "Tcp",
+                    "source_port_range": "*",
+                    "destination_port_range": "8042",
+                    "source_address_prefix": "*",
+                    "destination_address_prefix": project_conf['private_subnet_cidr'],
+                    "access": "Allow",
+                    "priority": 260,
+                    "direction": "Outbound"
+                },
+                {
+                    "name": "out-18",
+                    "protocol": "Udp",
+                    "source_port_range": "*",
+                    "destination_port_range": "123",
+                    "source_address_prefix": "*",
+                    "destination_address_prefix": "*",
+                    "access": "Allow",
+                    "priority": 270,
+                    "direction": "Outbound"
+                },
+                {
+                    "name": "out-19",
+                    "protocol": "*",
+                    "source_port_range": "*",
+                    "destination_port_range": "*",
+                    "source_address_prefix": "*",
+                    "destination_address_prefix": "*",
+                    "access": "Deny",
+                    "priority": 300,
+                    "direction": "Outbound"
+                }
+            ]
+            params = "--resource_group_name {} --security_group_name {} --region {} --tags '{}' --list_rules '{}'". \
+                format(project_conf['resource_group_name'], project_conf['edge_security_group_name'],
+                       project_conf['region'], json.dumps(project_conf['instance_tags']), json.dumps(edge_list_rules))
         try:
             local("~/scripts/{}.py {}".format('common_create_security_group', params))
         except Exception as err:
diff --git a/infrastructure-provisioning/src/general/scripts/azure/project_terminate.py b/infrastructure-provisioning/src/general/scripts/azure/project_terminate.py
index 7549eac..691d7b2 100644
--- a/infrastructure-provisioning/src/general/scripts/azure/project_terminate.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/project_terminate.py
@@ -124,13 +124,20 @@ def terminate_edge_node(resource_group_name, service_base_name, project_tag, sub
 
     print("Removing security groups")
     try:
-        for sg in AzureMeta.network_client.network_security_groups.list(resource_group_name):
-            try:
-                if project_tag == sg.tags["project_tag"]:
-                    AzureActions.remove_security_group(resource_group_name, sg.name)
-                    print("Security group {} has been terminated".format(sg.name))
-            except:
-                pass
+        if 'azure_edge_security_group_name' in os.environ:
+            AzureActions.remove_security_rules(resource_group_name,
+                                               os.environ['azure_edge_security_group_name'],
+                                               '{}-{}-{}-rule'.format(project_conf['service_base_name'],
+                                                                      project_conf['project_name'],
+                                                                      project_conf['endpoint_name']))
+        else:
+            for sg in AzureMeta.network_client.network_security_groups.list(resource_group_name):
+                try:
+                    if project_tag == sg.tags["project_tag"]:
+                        AzureActions.remove_security_group(resource_group_name, sg.name)
+                        print("Security group {} has been terminated".format(sg.name))
+                except:
+                    pass
     except Exception as err:
         datalab.fab.append_result("Failed to remove security groups.", str(err))
         sys.exit(1)


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


[incubator-datalab] 09/10: [DLAB-1911]: changed api call in remove security rule function

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

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

commit c95ce67ee7e380dcfdae116a7bdb3e92f96334e3
Author: leonidfrolov <fr...@gmail.com>
AuthorDate: Fri Oct 2 18:16:27 2020 +0300

    [DLAB-1911]: changed api call in remove security rule function
---
 infrastructure-provisioning/src/general/lib/azure/actions_lib.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/infrastructure-provisioning/src/general/lib/azure/actions_lib.py b/infrastructure-provisioning/src/general/lib/azure/actions_lib.py
index 1d29ed3..3c2c508 100644
--- a/infrastructure-provisioning/src/general/lib/azure/actions_lib.py
+++ b/infrastructure-provisioning/src/general/lib/azure/actions_lib.py
@@ -228,12 +228,12 @@ class AzureActions:
                                    file=sys.stdout)}))
             traceback.print_exc(file=sys.stdout)
 
-    def remove_security_rules(self, network_security_group_name, resource_group_name, security_rule_name):
+    def remove_security_rules(self, network_security_group, resource_group, security_rule):
         try:
             result = self.network_client.security_rules.delete(
-                network_security_group_name,
-                resource_group_name,
-                security_rule_name).wait()
+                network_security_group_name = network_security_group,
+                resource_group_name = resource_group,
+                security_rule_name = security_rule).wait()
             return result
         except Exception as err:
             logging.info(


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


[incubator-datalab] 04/10: [DLAB-1911]: removed priority for edge rule

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

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

commit a29af3d4014443720622eed56d1f61ead744ef42
Author: leonidfrolov <fr...@gmail.com>
AuthorDate: Wed Sep 30 14:58:18 2020 +0300

    [DLAB-1911]: removed priority for edge rule
---
 infrastructure-provisioning/src/general/scripts/azure/project_prepare.py | 1 -
 1 file changed, 1 deletion(-)

diff --git a/infrastructure-provisioning/src/general/scripts/azure/project_prepare.py b/infrastructure-provisioning/src/general/scripts/azure/project_prepare.py
index 25577a2..9f1c3de 100644
--- a/infrastructure-provisioning/src/general/scripts/azure/project_prepare.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/project_prepare.py
@@ -189,7 +189,6 @@ if __name__ == "__main__":
                     "source_address_prefix": endpoint_ip,
                     "destination_address_prefix": "*",
                     "access": "Allow",
-                    "priority": 100,
                     "direction": "Inbound"
                 }
             ]


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


[incubator-datalab] 02/10: [DLAB-1911]: fixed wrong variable usage during edge node firewall creation on gcp

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

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

commit d7fc98a6e24fd3b3bc6cb65b92a3655b0ceb48c5
Author: leonidfrolov <fr...@gmail.com>
AuthorDate: Tue Sep 29 12:37:31 2020 +0300

    [DLAB-1911]: fixed wrong variable usage during edge node firewall creation on gcp
---
 infrastructure-provisioning/src/general/scripts/gcp/project_prepare.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/infrastructure-provisioning/src/general/scripts/gcp/project_prepare.py b/infrastructure-provisioning/src/general/scripts/gcp/project_prepare.py
index 726a2ec..3a1a8d4 100644
--- a/infrastructure-provisioning/src/general/scripts/gcp/project_prepare.py
+++ b/infrastructure-provisioning/src/general/scripts/gcp/project_prepare.py
@@ -231,7 +231,7 @@ if __name__ == "__main__":
             endpoint_public_ip = GCPMeta.get_instance_public_ip_by_name('{}-{}-endpoint'.format(project_conf['service_base_name'], project_conf['endpoint_name']))
             project_conf['allowed_ip_cidr'] = '{}, {}/32'.format(project_conf['allowed_ip_cidr'], endpoint_public_ip).split(', ')
         else:
-            project_conf['allowed_ip_cidr'] = [project_conf['allowed_ip_cidr']]
+            project_conf['allowed_ip_cidr'] = [os.environ['conf_allowed_ip_cidr']]
         ingress_rule['name'] = project_conf['fw_edge_ingress_public']
         ingress_rule['targetTags'] = [project_conf['network_tag']]
         ingress_rule['sourceRanges'] = project_conf['allowed_ip_cidr']


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


[incubator-datalab] 06/10: [DLAB-1911]: added creation of separate security rules in predefined edge sg in azure

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

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

commit c5a14296830ae673addf1a6fe573e48f550c4acf
Author: leonidfrolov <fr...@gmail.com>
AuthorDate: Thu Oct 1 17:32:45 2020 +0300

    [DLAB-1911]: added creation of separate security rules in predefined edge sg in azure
---
 .../src/general/lib/azure/actions_lib.py           | 25 ++++----
 .../scripts/azure/common_create_security_group.py  |  5 +-
 .../src/general/scripts/azure/project_prepare.py   | 67 ++++++++++++++--------
 .../src/general/scripts/azure/project_terminate.py | 19 +++---
 4 files changed, 71 insertions(+), 45 deletions(-)

diff --git a/infrastructure-provisioning/src/general/lib/azure/actions_lib.py b/infrastructure-provisioning/src/general/lib/azure/actions_lib.py
index 597a5ca..1d29ed3 100644
--- a/infrastructure-provisioning/src/general/lib/azure/actions_lib.py
+++ b/infrastructure-provisioning/src/general/lib/azure/actions_lib.py
@@ -199,16 +199,18 @@ class AzureActions:
                                    file=sys.stdout)}))
             traceback.print_exc(file=sys.stdout)
 
-    def create_security_group(self, resource_group_name, network_security_group_name, region, tags, list_rules):
+    def create_security_group(self, resource_group_name, network_security_group_name, region, tags, list_rules, preexisting_sg = False):
         try:
-            result = self.network_client.network_security_groups.create_or_update(
-                resource_group_name,
-                network_security_group_name,
-                {
-                    'location': region,
-                    'tags': tags,
-                }
-            ).wait()
+            result = ''
+            if not preexisting_sg:
+                result = self.network_client.network_security_groups.create_or_update(
+                    resource_group_name,
+                    network_security_group_name,
+                    {
+                        'location': region,
+                        'tags': tags,
+                    }
+                ).wait()
             for rule in list_rules:
                 self.network_client.security_rules.create_or_update(
                     resource_group_name,
@@ -216,7 +218,8 @@ class AzureActions:
                     security_rule_name=rule['name'],
                     security_rule_parameters=rule
                 ).wait()
-            return result
+            if result:
+                return result
         except Exception as err:
             logging.info(
                 "Unable to create security group: " + str(err) + "\n Traceback: " + traceback.print_exc(file=sys.stdout))
@@ -225,7 +228,7 @@ class AzureActions:
                                    file=sys.stdout)}))
             traceback.print_exc(file=sys.stdout)
 
-    def remove_security_rules(self, resource_group_name, network_security_group_name, security_rule_name):
+    def remove_security_rules(self, network_security_group_name, resource_group_name, security_rule_name):
         try:
             result = self.network_client.security_rules.delete(
                 network_security_group_name,
diff --git a/infrastructure-provisioning/src/general/scripts/azure/common_create_security_group.py b/infrastructure-provisioning/src/general/scripts/azure/common_create_security_group.py
index 6e7e026..f39a5de 100644
--- a/infrastructure-provisioning/src/general/scripts/azure/common_create_security_group.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/common_create_security_group.py
@@ -39,7 +39,10 @@ args = parser.parse_args()
 if __name__ == "__main__":
     try:
         if AzureMeta().get_security_group(args.resource_group_name, args.security_group_name):
-            print("REQUESTED SECURITY GROUP {} ALREADY EXISTS".format(args.security_group_name))
+            print("REQUESTED SECURITY GROUP {} ALREADY EXISTS. Updating rules".format(args.security_group_name))
+            security_group = AzureActions().create_security_group(args.resource_group_name, args.security_group_name,
+                                                                  args.region, json.loads(args.tags),
+                                                                  json.loads(args.list_rules), True)
         else:
             print("Creating security group {}.".format(args.security_group_name))
             security_group = AzureActions().create_security_group(args.resource_group_name, args.security_group_name,
diff --git a/infrastructure-provisioning/src/general/scripts/azure/project_prepare.py b/infrastructure-provisioning/src/general/scripts/azure/project_prepare.py
index 784c2d8..c4ad818 100644
--- a/infrastructure-provisioning/src/general/scripts/azure/project_prepare.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/project_prepare.py
@@ -173,11 +173,17 @@ if __name__ == "__main__":
             logging.info('Security group predefined, adding new rule with endpoint IP')
             print('Security group predefined, adding new rule with endpoint IP')
             if project_conf['endpoint_name'] == 'local':
-                endpoint_ip = AzureMeta.get_instance_public_ip_address(edge_conf['resource_group_name'],
+                endpoint_ip = AzureMeta.get_instance_public_ip_address(project_conf['resource_group_name'],
                                                           '{}-ssn'.format(project_conf['service_base_name']))
             else:
-                endpoint_ip = AzureMeta.get_instance_public_ip_address(edge_conf['resource_group_name'],
+                endpoint_ip = AzureMeta.get_instance_public_ip_address(project_conf['resource_group_name'],
                                                          '{}-{}-endpoint'.format(project_conf['service_base_name'], project_conf['endpoint_name']))
+            priority = 110
+            rules_list = AzureMeta.get_security_group(project_conf['resource_group_name'], os.environ['azure_edge_security_group_name'])
+            for rule in rules_list.as_dict()['security_rules']:
+                priorities.append(rule['priority'])
+            while priority in priorities:
+                priority += 10
             edge_list_rules = [
                 {
                     "name": '{}-{}-{}-rule'.format(project_conf['service_base_name'],
@@ -189,12 +195,18 @@ if __name__ == "__main__":
                     "source_address_prefix": endpoint_ip,
                     "destination_address_prefix": "*",
                     "access": "Allow",
+                    "priority": priority,
                     "direction": "Inbound"
                 }
             ]
-            params = "--resource_group_name {} --security_group_name {} --region {} --list_rules '{}'". \
+            params = "--resource_group_name {} --security_group_name {} --region {} --tags '{}' --list_rules '{}'". \
                 format(project_conf['resource_group_name'], os.environ['azure_edge_security_group_name'],
-                       project_conf['region'], json.dumps(edge_list_rules))
+                       project_conf['region'], json.dumps({"product": "datalab"}), json.dumps(edge_list_rules))
+            try:
+                local("~/scripts/{}.py {}".format('common_create_security_group', params))
+            except Exception as err:
+                AzureActions.remove_subnet(project_conf['resource_group_name'], project_conf['vpc_name'],
+                                           project_conf['private_subnet_name'])
         else:
             logging.info('[CREATE SECURITY GROUP FOR EDGE NODE]')
             print('[CREATE SECURITY GROUP FOR EDGE]')
@@ -467,19 +479,19 @@ if __name__ == "__main__":
             params = "--resource_group_name {} --security_group_name {} --region {} --tags '{}' --list_rules '{}'". \
                 format(project_conf['resource_group_name'], project_conf['edge_security_group_name'],
                        project_conf['region'], json.dumps(project_conf['instance_tags']), json.dumps(edge_list_rules))
-        try:
-            local("~/scripts/{}.py {}".format('common_create_security_group', params))
-        except Exception as err:
-            AzureActions.remove_subnet(project_conf['resource_group_name'], project_conf['vpc_name'],
-                                       project_conf['private_subnet_name'])
             try:
-                AzureActions.remove_security_group(project_conf['resource_group_name'],
-                                                   project_conf['edge_security_group_name'])
-            except:
-                print("Edge Security group hasn't been created.")
-            traceback.print_exc()
-            datalab.fab.append_result("Failed creating security group for edge node.", str(err))
-            raise Exception
+                local("~/scripts/{}.py {}".format('common_create_security_group', params))
+            except Exception as err:
+                AzureActions.remove_subnet(project_conf['resource_group_name'], project_conf['vpc_name'],
+                                           project_conf['private_subnet_name'])
+                try:
+                    AzureActions.remove_security_group(project_conf['resource_group_name'],
+                                                       project_conf['edge_security_group_name'])
+                except:
+                    print("Edge Security group hasn't been created.")
+                traceback.print_exc()
+                dlab.fab.append_result("Failed creating security group for edge node.", str(err))
+                raise Exception
     except:
         traceback.print_exc()
         sys.exit(1)
@@ -582,7 +594,8 @@ if __name__ == "__main__":
         datalab.fab.append_result("Failed creating security group for private subnet.", str(err))
         AzureActions.remove_subnet(project_conf['resource_group_name'], project_conf['vpc_name'],
                                    project_conf['private_subnet_name'])
-        AzureActions.remove_security_group(project_conf['resource_group_name'],
+        if 'azure_edge_security_group_name' not in os.environ:
+            AzureActions.remove_security_group(project_conf['resource_group_name'],
                                            project_conf['edge_security_group_name'])
         try:
             AzureActions.remove_security_group(project_conf['resource_group_name'],
@@ -688,7 +701,8 @@ if __name__ == "__main__":
     except Exception as err:
         AzureActions.remove_subnet(project_conf['resource_group_name'], project_conf['vpc_name'],
                                    project_conf['private_subnet_name'])
-        AzureActions.remove_security_group(project_conf['resource_group_name'],
+        if 'azure_edge_security_group_name' not in os.environ:
+            AzureActions.remove_security_group(project_conf['resource_group_name'],
                                            project_conf['edge_security_group_name'])
         AzureActions.remove_security_group(project_conf['resource_group_name'],
                                            project_conf['notebook_security_group_name'])
@@ -714,7 +728,8 @@ if __name__ == "__main__":
     except Exception as err:
         AzureActions.remove_subnet(project_conf['resource_group_name'], project_conf['vpc_name'],
                                    project_conf['private_subnet_name'])
-        AzureActions.remove_security_group(project_conf['resource_group_name'],
+        if 'azure_edge_security_group_name' not in os.environ:
+            AzureActions.remove_security_group(project_conf['resource_group_name'],
                                            project_conf['edge_security_group_name'])
         AzureActions.remove_security_group(project_conf['resource_group_name'],
                                            project_conf['notebook_security_group_name'])
@@ -739,7 +754,8 @@ if __name__ == "__main__":
         datalab.fab.append_result("Failed to create storage account.", str(err))
         AzureActions.remove_subnet(project_conf['resource_group_name'], project_conf['vpc_name'],
                                    project_conf['private_subnet_name'])
-        AzureActions.remove_security_group(project_conf['resource_group_name'],
+        if 'azure_edge_security_group_name' not in os.environ:
+            AzureActions.remove_security_group(project_conf['resource_group_name'],
                                            project_conf['edge_security_group_name'])
         AzureActions.remove_security_group(project_conf['resource_group_name'],
                                            project_conf['notebook_security_group_name'])
@@ -768,7 +784,8 @@ if __name__ == "__main__":
         datalab.fab.append_result("Failed to create storage account.", str(err))
         AzureActions.remove_subnet(project_conf['resource_group_name'], project_conf['vpc_name'],
                                    project_conf['private_subnet_name'])
-        AzureActions.remove_security_group(project_conf['resource_group_name'],
+        if 'azure_edge_security_group_name' not in os.environ:
+            AzureActions.remove_security_group(project_conf['resource_group_name'],
                                            project_conf['edge_security_group_name'])
         AzureActions.remove_security_group(project_conf['resource_group_name'],
                                            project_conf['notebook_security_group_name'])
@@ -802,7 +819,8 @@ if __name__ == "__main__":
             datalab.fab.append_result("Failed to create Data Lake Store directory.", str(err))
             AzureActions.remove_subnet(project_conf['resource_group_name'], project_conf['vpc_name'],
                                        project_conf['private_subnet_name'])
-            AzureActions.remove_security_group(project_conf['resource_group_name'],
+            if 'azure_edge_security_group_name' not in os.environ:
+                AzureActions.remove_security_group(project_conf['resource_group_name'],
                                                project_conf['edge_security_group_name'])
             AzureActions.remove_security_group(project_conf['resource_group_name'],
                                                project_conf['notebook_security_group_name'])
@@ -834,6 +852,8 @@ if __name__ == "__main__":
     try:
         logging.info('[CREATE EDGE INSTANCE]')
         print('[CREATE EDGE INSTANCE]')
+        if 'azure_edge_security_group_name' in os.environ:
+            project_conf['edge_security_group_name'] = os.environ['azure_edge_security_group_name']
         params = "--instance_name {} --instance_size {} --region {} --vpc_name {} --network_interface_name {} \
             --security_group_name {} --subnet_name {} --service_base_name {} --resource_group_name {} \
             --datalab_ssh_user_name {} --public_ip_name {} --public_key '''{}''' --primary_disk_size {} \
@@ -858,7 +878,8 @@ if __name__ == "__main__":
             print("The instance hasn't been created.")
         AzureActions.remove_subnet(project_conf['resource_group_name'], project_conf['vpc_name'],
                                    project_conf['private_subnet_name'])
-        AzureActions.remove_security_group(project_conf['resource_group_name'],
+        if 'azure_edge_security_group_name' not in os.environ:
+            AzureActions.remove_security_group(project_conf['resource_group_name'],
                                            project_conf['edge_security_group_name'])
         AzureActions.remove_security_group(project_conf['resource_group_name'],
                                            project_conf['notebook_security_group_name'])
diff --git a/infrastructure-provisioning/src/general/scripts/azure/project_terminate.py b/infrastructure-provisioning/src/general/scripts/azure/project_terminate.py
index 691d7b2..86e7917 100644
--- a/infrastructure-provisioning/src/general/scripts/azure/project_terminate.py
+++ b/infrastructure-provisioning/src/general/scripts/azure/project_terminate.py
@@ -125,19 +125,18 @@ def terminate_edge_node(resource_group_name, service_base_name, project_tag, sub
     print("Removing security groups")
     try:
         if 'azure_edge_security_group_name' in os.environ:
-            AzureActions.remove_security_rules(resource_group_name,
-                                               os.environ['azure_edge_security_group_name'],
+            AzureActions.remove_security_rules(os.environ['azure_edge_security_group_name'],
+                                               resource_group_name,
                                                '{}-{}-{}-rule'.format(project_conf['service_base_name'],
                                                                       project_conf['project_name'],
                                                                       project_conf['endpoint_name']))
-        else:
-            for sg in AzureMeta.network_client.network_security_groups.list(resource_group_name):
-                try:
-                    if project_tag == sg.tags["project_tag"]:
-                        AzureActions.remove_security_group(resource_group_name, sg.name)
-                        print("Security group {} has been terminated".format(sg.name))
-                except:
-                    pass
+        for sg in AzureMeta.network_client.network_security_groups.list(resource_group_name):
+            try:
+                if project_tag == sg.tags["project_tag"]:
+                    AzureActions.remove_security_group(resource_group_name, sg.name)
+                    print("Security group {} has been terminated".format(sg.name))
+            except:
+                pass
     except Exception as err:
         datalab.fab.append_result("Failed to remove security groups.", str(err))
         sys.exit(1)


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