diff --git a/cloudshell-L1-{{cookiecutter.project_slug}}/.coveragerc b/cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/.coveragerc similarity index 100% rename from cloudshell-L1-{{cookiecutter.project_slug}}/.coveragerc rename to cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/.coveragerc diff --git a/cloudshell-L1-{{cookiecutter.project_slug}}/.gitignore b/cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/.gitignore similarity index 100% rename from cloudshell-L1-{{cookiecutter.project_slug}}/.gitignore rename to cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/.gitignore diff --git a/cloudshell-L1-{{cookiecutter.project_slug}}/.travis.yml b/cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/.travis.yml similarity index 100% rename from cloudshell-L1-{{cookiecutter.project_slug}}/.travis.yml rename to cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/.travis.yml diff --git a/cloudshell-L1-{{cookiecutter.project_slug}}/INSTALL.txt b/cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/INSTALL.txt similarity index 100% rename from cloudshell-L1-{{cookiecutter.project_slug}}/INSTALL.txt rename to cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/INSTALL.txt diff --git a/cloudshell-L1-{{cookiecutter.project_slug}}/README.md b/cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/README.md similarity index 88% rename from cloudshell-L1-{{cookiecutter.project_slug}}/README.md rename to cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/README.md index f3a0fb5..d9b2489 100644 --- a/cloudshell-L1-{{cookiecutter.project_slug}}/README.md +++ b/cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/README.md @@ -34,7 +34,7 @@ The {{cookiecutter.model_name}} L1 shell provides you with the capability to com The shell allows CloudShell users to interact with the device, for example, create and modify route mappings, get device information, and more. -For more information on the **{{cookiecutter.model_name}}**, see the official **[Device Manufacturer]** product documentation. +For more information on the **{{cookiecutter.model_name}}**, see the official product documentation. ### Standard version The {{cookiecutter.model_name}} L1 shell is based on the [**Layer 1 Switch Shell Standard**](https://github.com/QualiSystems/shell-L1-template). @@ -118,7 +118,7 @@ The shell comprises: |File name|Description| |:---|:---| -|cloudshell-L1-{{cookiecutter.project_slug}}-x.x.x.zip|{{cookiecutter.model_name}} L1 shell package| +|cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}-x.x.x.zip|{{cookiecutter.model_name}} L1 shell package| |install_driver.bat|{{cookiecutter.model_name}} L1 shell installation script| |{{cookiecutter.project_slug}}_runtime_config.yml|{{cookiecutter.model_name}} L1 shell configuration file| |{{cookiecutter.project_slug}}_ResourceConfiguration.xml|XML file containing the resource structure, attributes and capabilities of the L1 switches of the same vendor| @@ -134,26 +134,30 @@ This section describes how to import the L1 shell and configure and modify the s 2. Extract the *{{cookiecutter.model_name}} L1 shell zip* package to the following location on the Quali Server machine: *C:\Program Files (x86)\QualiSystems\CloudShell\Server\Drivers* - 3. Run the *C:\Program Files (x86)\QualiSystems\CloudShell\Server\Drivers\cloudshell-L1-{{cookiecutter.project_slug}}\install_driver.bat* file. - - 4. Import the new data model. + 3. Run the *C:\Program Files (x86)\QualiSystems\CloudShell\Server\Drivers\cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}\install_driver.bat* file. + + 4. Make sure the *C:\Program Files (x86)\QualiSystems\CloudShell\Server\Drivers\{{cookiecutter.project_name.replace(' ', '-')}}.exe* file is unblocked. + 1. Right-click the file and select **Properties**. + 2. If you see an **Unblock** option, select it and click **OK**. + + 5. Import the new data model. 1. In **Resource Manager Client>Admin**, right-click **Resource Families** and select **Import**. - 2. Select the *C:\Program Files (x86)\QualiSystems\CloudShell\Server\Drivers\cloudshell-L1-{{cookiecutter.project_slug}}\datamodel\{{cookiecutter.project_slug}}_ResourceConfiguration.xml* file. + 2. Select the *C:\Program Files (x86)\QualiSystems\CloudShell\Server\Drivers\cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}\datamodel\{{cookiecutter.project_slug}}_ResourceConfiguration.xml* file. 3. Click **Open**. - 5. Create an L1 resource. + 6. Create an L1 resource. 1. In **Resource Explorer**, right-click **Root** and select **New>Resource**. 2. Enter the **Name** and **Address**. 3. Select the **L1 Switch** family. 4. Ensure that the correct **Model** {{cookiecutter.model_name}} Chassis and **Driver** {{cookiecutter.model_name.upper()}} are selected. 5. Click **OK**. - 6. Auto Load the new resource. + 7. Auto Load the new resource. 1. In **Resource Explorer**, right-click the new resource and select **Configuration**. 2. In the **Internal Resources** pane, right-click the switch and select **Exclude**. 3. Click the **Auto Load** button at the bottom of the **Configuration** tab. - 7. Define the resource connections on the L1 switch. + 8. Define the resource connections on the L1 switch. 1. Right-click the resource and select **Configuration>Connections**. 2. Connect a resource's port to a different port in the switch resource by clicking each port's **Connected To** button, selecting the resource's **Family** and **Resource**, and selecting the port to connect. 3. Click **OK** in the **Resource connection** dialog box. @@ -163,7 +167,7 @@ This section describes how to import the L1 shell and configure and modify the s ### Offline installation of a shell Shell installation installs the required dependencies from the shell's zip package. -The *install_driver.bat* script creates a virtual environment on the Quali Server machine under *C:\Program Files (x86)\QualiSystems\CloudShell\Server\Drivers\cloudshell-L1-{{cookiecutter.project_slug}}* and installs the required dependencies in this virtual environment from the extracted L1 shell folder (under *~cloudshell-L1-{{cookiecutter.project_slug}}\packages*). +The *install_driver.bat* script creates a virtual environment on the Quali Server machine under *C:\Program Files (x86)\QualiSystems\CloudShell\Server\Drivers\cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}* and installs the required dependencies in this virtual environment from the extracted L1 shell folder (under *~cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}\packages*). # Updating Python Dependencies for Shells This section explains how to update your Python dependencies folder. This is required when you upgrade a shell that uses new/updated dependencies. It applies to both online and offline dependencies. @@ -185,7 +189,7 @@ L1 shells do not have separate Python dependencies files. All dependencies are i 5. Copy the upgraded shell's datamodel file from: - *C:\Program Files (x86)\QualiSystems\CloudShell\Server\Drivers\cloudshell-L1-{{cookiecutter.project_slug}}\datamodel\{{cookiecutter.project_slug}}_ResourceConfiguration.xml* + *C:\Program Files (x86)\QualiSystems\CloudShell\Server\Drivers\cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}\datamodel\{{cookiecutter.project_slug}}_ResourceConfiguration.xml* to: @@ -211,4 +215,4 @@ To connect with Quali users and experts from around the world, ask questions and ### What's New -For release updates, see the shell's [GitHub releases page](https://github.com/QualiSystems/cloudshell-L1-{{cookiecutter.project_slug}}/releases). +For release updates, see the shell's [GitHub releases page](https://github.com/QualiSystems/cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/releases). diff --git a/cloudshell-L1-{{cookiecutter.project_slug}}/cloudshell_logo.png b/cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/cloudshell_logo.png similarity index 100% rename from cloudshell-L1-{{cookiecutter.project_slug}}/cloudshell_logo.png rename to cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/cloudshell_logo.png diff --git a/cloudshell-L1-{{cookiecutter.project_slug}}/datamodel/{{cookiecutter.project_slug}}_ResourceConfiguration.xml b/cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/datamodel/{{cookiecutter.project_slug}}_ResourceConfiguration.xml similarity index 97% rename from cloudshell-L1-{{cookiecutter.project_slug}}/datamodel/{{cookiecutter.project_slug}}_ResourceConfiguration.xml rename to cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/datamodel/{{cookiecutter.project_slug}}_ResourceConfiguration.xml index a27e556..51a2a03 100644 --- a/cloudshell-L1-{{cookiecutter.project_slug}}/datamodel/{{cookiecutter.project_slug}}_ResourceConfiguration.xml +++ b/cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/datamodel/{{cookiecutter.project_slug}}_ResourceConfiguration.xml @@ -251,6 +251,6 @@ + CustomParams="{{cookiecutter.project_name.replace(' ', '-')}}.exe"/> diff --git a/cloudshell-L1-{{cookiecutter.project_slug}}/dev_instructions.txt b/cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/dev_instructions.txt similarity index 100% rename from cloudshell-L1-{{cookiecutter.project_slug}}/dev_instructions.txt rename to cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/dev_instructions.txt diff --git a/cloudshell-L1-{{cookiecutter.project_slug}}/driver_exe_template b/cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/driver_exe_template similarity index 100% rename from cloudshell-L1-{{cookiecutter.project_slug}}/driver_exe_template rename to cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/driver_exe_template diff --git a/cloudshell-L1-{{cookiecutter.project_slug}}/install_driver.bat b/cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/install_driver.bat similarity index 93% rename from cloudshell-L1-{{cookiecutter.project_slug}}/install_driver.bat rename to cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/install_driver.bat index fc8d752..92c2c90 100644 --- a/cloudshell-L1-{{cookiecutter.project_slug}}/install_driver.bat +++ b/cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/install_driver.bat @@ -1,7 +1,7 @@ @ECHO OFF setlocal set DRIVER_FOLDER=%~dp0 -set DRIVER_NAME="{{cookiecutter.project_slug}}" +set DRIVER_NAME="{{cookiecutter.project_name.replace(' ', '-')}}" set DRIVER_PYTHON="%DRIVER_FOLDER%\Scripts\python.exe" set PACKAGES="%DRIVER_FOLDER%\packages" set QS_PYTHON_PATH="%DRIVER_FOLDER%\..\..\python" diff --git a/cloudshell-L1-{{cookiecutter.project_slug}}/main.py b/cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/main.py similarity index 100% rename from cloudshell-L1-{{cookiecutter.project_slug}}/main.py rename to cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/main.py diff --git a/cloudshell-L1-{{cookiecutter.project_slug}}/package_config.yml b/cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/package_config.yml similarity index 100% rename from cloudshell-L1-{{cookiecutter.project_slug}}/package_config.yml rename to cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/package_config.yml diff --git a/cloudshell-L1-{{cookiecutter.project_slug}}/requirements.txt b/cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/requirements.txt similarity index 100% rename from cloudshell-L1-{{cookiecutter.project_slug}}/requirements.txt rename to cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/requirements.txt diff --git a/cloudshell-L1-{{cookiecutter.project_slug}}/test_requiremets.txt b/cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/test_requiremets.txt similarity index 100% rename from cloudshell-L1-{{cookiecutter.project_slug}}/test_requiremets.txt rename to cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/test_requiremets.txt diff --git a/cloudshell-L1-{{cookiecutter.project_slug}}/tests/__init__.py b/cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/tests/__init__.py similarity index 100% rename from cloudshell-L1-{{cookiecutter.project_slug}}/tests/__init__.py rename to cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/tests/__init__.py diff --git a/cloudshell-L1-{{cookiecutter.project_slug}}/tests/test_main.py b/cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/tests/test_main.py similarity index 100% rename from cloudshell-L1-{{cookiecutter.project_slug}}/tests/test_main.py rename to cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/tests/test_main.py diff --git a/cloudshell-L1-{{cookiecutter.project_slug}}/tests/{{cookiecutter.project_slug}}/__init__.py b/cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/tests/{{cookiecutter.project_slug}}/__init__.py similarity index 100% rename from cloudshell-L1-{{cookiecutter.project_slug}}/tests/{{cookiecutter.project_slug}}/__init__.py rename to cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/tests/{{cookiecutter.project_slug}}/__init__.py diff --git a/cloudshell-L1-{{cookiecutter.project_slug}}/tests/{{cookiecutter.project_slug}}/test_driver_commands.py b/cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/tests/{{cookiecutter.project_slug}}/test_driver_commands.py similarity index 100% rename from cloudshell-L1-{{cookiecutter.project_slug}}/tests/{{cookiecutter.project_slug}}/test_driver_commands.py rename to cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/tests/{{cookiecutter.project_slug}}/test_driver_commands.py diff --git a/cloudshell-L1-{{cookiecutter.project_slug}}/version.txt b/cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/version.txt similarity index 100% rename from cloudshell-L1-{{cookiecutter.project_slug}}/version.txt rename to cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/version.txt diff --git a/cloudshell-L1-{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}.cpp b/cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/{{cookiecutter.project_slug}}.cpp similarity index 100% rename from cloudshell-L1-{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}.cpp rename to cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/{{cookiecutter.project_slug}}.cpp diff --git a/cloudshell-L1-{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/__init__.py b/cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/{{cookiecutter.project_slug}}/__init__.py similarity index 100% rename from cloudshell-L1-{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/__init__.py rename to cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/{{cookiecutter.project_slug}}/__init__.py diff --git a/cloudshell-L1-{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/driver_commands.py b/cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/{{cookiecutter.project_slug}}/driver_commands.py similarity index 100% rename from cloudshell-L1-{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/driver_commands.py rename to cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/{{cookiecutter.project_slug}}/driver_commands.py diff --git a/cloudshell-L1-{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}_runtime_config.yml b/cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/{{cookiecutter.project_slug}}_runtime_config.yml similarity index 100% rename from cloudshell-L1-{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}_runtime_config.yml rename to cloudshell-L1-{{cookiecutter.project_name.replace(' ', '-')}}/{{cookiecutter.project_slug}}_runtime_config.yml