Metadata-Version: 2.1
Name: ws-copy-policy
Version: 23.1.5.2
Summary: WS Copy Policy
Home-page: https://github.com/whitesource-ps/ws-copy-policy
Author: Mend Professional Services
Author-email: ps@whitesourcesoftware.com
License: LICENSE
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: configparser (~=5.3.0)
Requires-Dist: requests (~=2.28.1)

[![Logo](https://resources.mend.io/mend-sig/logo/mend-dark-logo-horizontal.png)](https://www.mend.io/)

[![License](https://img.shields.io/badge/License-Apache%202.0-yellowgreen.svg)](https://opensource.org/licenses/Apache-2.0)
[![GitHub release](https://img.shields.io/github/v/release/whitesource-ps/ws-copy-policy)](https://github.com/whitesource-ps/ws-copy-policy/releases/latest)
[![WS Copy Policy Build and Publish](https://github.com/whitesource-ps/ws-copy-policy/actions/workflows/ci.yml/badge.svg)](https://github.com/whitesource-ps/ws-copy-policy/actions/workflows/ci.yml)
[![Python 3.6](https://upload.wikimedia.org/wikipedia/commons/thumb/8/8c/Blue_Python_3.6%2B_Shield_Badge.svg/86px-Blue_Python_3.6%2B_Shield_Badge.svg.png)](https://www.python.org/downloads/release/python-360/)


# MEND copy policy tool
The script allows copying policies automatically, from the template project/product to the newly created projects/products, and update existing projects with the template policy.
It should run periodically, in order to make sure that all the policies under the required projects/products are up to date.

### How to use the script
1. Create an empty project/product or few with the required template policy.
2. Tag an empty project/product with the following project tag: `key=Policy.Template.Source,  value=<yourUniqueTemplateName>`.
3. For a new project/product creation that requires the template policy, add the following project/product tag: `key=Policy.Template.Destination, value=<yourUniqueTemplateName>`. It can be added via the UI or as part of the Unified Agent run.
4. The template policy will be updated for the required projects/products.
   **Note:** Make sure that the tag `Policy.Template.Source` value is unique and is presented only in one project/product.

### What does the script do?
For each project/product in the system, the script extracts the Tag key called: `Policy.Template.Source`, and the tag key called `Policy.Template.Destination`. 
In the event, the tag value of the project/product with `Policy.Template.Source` tag key equals the tag value of the project/product with `Policy.Template.Destination` tag key, the script will do the following:
- Delete the existing policies from the project/product with `Policy.Template.Destination` tag key.
- Copy the project/product policies of the project/product with `Policy.Template.Source` tag key to the project/product with `Policy.Template.Destination` tag key.


### Supported Operating Systems
- **Linux (Bash):**	CentOS, Debian, Ubuntu, RedHat
- **Windows (PowerShell):**	10, 2012, 2016

### Prerequisites
- Python 3.9 or above

## Installation and Execution by pulling package from PyPi:
1. Execute `pip install ws-copy-policy`
* **Note**:  If installing packages as a non-root be sure to include the path to the executables within the Operating System paths.
2. Run report:
   `ws-copy-policy --wssURL <URL> --userKey <USER_KEY> --apiKey <ORG_TOKEN> --scope <COPY_SCOPE> --thread <THREAD_NUMBER>`
   or
   `ws-copy-policy <CONFIG_FILE_PATH>`
* **Note**:  If installing packages as a non-root be sure to include the path to the executables within the Operating System paths.

### Configuration Parameters
```
===============================================================================================================
| Group         | Parameter            | Description                                                          |
===============================================================================================================
| DEFAULT       | wssUrl                | Mend server URL. Can be found under the 'Integrate' tab in          |   
|               |                      | your Mend organization under Server URL:                             |
|               |                      | https://<domain>.whitesourcesoftware.com                             |
---------------------------------------------------------------------------------------------------------------
| DEFAULT       | userKey              | Mend User Key. Can be found under the 'Profile' section in           |
|               |                      | your Mend organization.                                              |
---------------------------------------------------------------------------------------------------------------
| DEFAULT       | apiKey               | Mend API Key. Can be found under the 'Integrate' tab in your         |
|               |                      | your Mend organization.                                              |
---------------------------------------------------------------------------------------------------------------
| DEFAULT       | scope                | The scope where the copying policies should be performed on.         |
|               |                      | Possible values: project/product.                                    |
---------------------------------------------------------------------------------------------------------------
| DEFAULT       | thread               | Multi-threading - speeds up the copying, but it depends              |
|               |                      | on your environment capabilities (default: 5).                       |
===============================================================================================================
```

### Author
Mend.io ©




