scm-config-clone


Namescm-config-clone JSON
Version 0.2.5 PyPI version JSON
download
home_pageNone
SummaryA command-line tool to clone configuration objects between Palo Alto Networks Strata Cloud Manager (SCM) tenants.
upload_time2024-12-20 03:01:04
maintainerNone
docs_urlNone
authorCalvin Remsburg
requires_python<4.0,>=3.10
licenseApache 2.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # SCM Config Clone

![Banner Image](https://raw.githubusercontent.com/cdot65/scm-config-clone/refs/heads/main/docs/images/logo.svg)

[![Build Status](https://github.com/cdot65/scm-config-clone/actions/workflows/ci.yml/badge.svg)](https://github.com/cdot65/scm-config-clone/actions/workflows/ci.yml)
[![PyPI version](https://badge.fury.io/py/scm-config-clone.svg)](https://badge.fury.io/py/scm-config-clone)
[![Python versions](https://img.shields.io/pypi/pyversions/scm-config-clone.svg)](https://pypi.org/project/scm-config-clone/)
[![License](https://img.shields.io/github/license/cdot65/scm-config-clone.svg)](https://github.com/cdot65/scm-config-clone/blob/main/LICENSE)

`scm-config-clone` is a command-line tool designed to seamlessly clone configuration objects between Palo Alto Networks
Strata Cloud Manager (SCM) tenants. From addresses and tags to application groups and security rules, this tool
streamlines migration tasks and reduces manual errors.

## Table of Contents

- [Features](#features)
- [Installation](#installation)
- [Basic Usage](#basic-usage)
- [Creating the Settings File](#creating-the-settings-file)
- [Cloning Objects](#cloning-objects)
- [Further Reading](#further-reading)
- [Contributing](#contributing)
- [License](#license)

## Features

- **Simple Setup**: Store credentials and defaults in a `settings.yaml` file for reuse.
- **Robust Cloning**: Supports multiple object types (addresses, tags, services, security rules, and more).
- **Extensive Filters**: Exclude specific folders, snippets, or devices to narrow down cloned objects.
- **Flexible Controls**: Run in `dry-run` mode, auto-approve changes, suppress console output, and create reports.
- **Commit & Push**: Automatically commit changes after objects are cloned.

## Installation

**Requirements**:

- Python 3.10 or higher

Install directly from PyPI:

```bash
pip install scm-config-clone
```

## Basic Usage

Once installed, the primary command is `scm-clone`. Running `--help` displays global options and available sub-commands:

```bash
scm-clone --help
```

You’ll see a list of commands like `addresses`, `tags`, `services`, `security-rules`, and `settings`.

## Creating the Settings File

Before cloning, create a `settings.yaml` file to store SCM credentials and defaults:

```bash
scm-clone settings
```

You’ll be prompted for source/destination credentials, logging level, and defaults for `auto_approve`, `create_report`,
`dry_run`, and `quiet`. Once done, `settings.yaml` will be created in the current directory. Subsequent commands read
from it, eliminating the need to re-enter credentials or defaults.

## Cloning Objects

With `settings.yaml` ready, cloning objects typically involves specifying a folder and object type. For example, to
clone address objects:

```bash
scm-clone addresses --source-folder "Texas"
```

If `auto_approve` is disabled by default in `settings.yaml`, you’ll be prompted before actual creation. If you wish to
override this at runtime:

```bash
scm-clone addresses --source-folder "Texas" -A
```

This command auto-approves without prompting. Similarly, to run in dry-run mode or commit after creation:

```bash
scm-clone addresses --source-folder "Texas" -D --commit-and-push
```

This simulates the creation without applying changes (`-D`) and would commit changes if actually applied. Remove `-D` to
run it for real.

## Further Reading

- [Commands Reference](https://cdot65.github.io/scm-config-clone/user-guide/python/commands/): Detailed command flags,
  workflows, and parameters.
- [Examples](https://cdot65.github.io/scm-config-clone/user-guide/python/examples/): Practical, real-world usage
  patterns and integrations.
- [Getting Started](https://cdot65.github.io/scm-config-clone/user-guide/python/getting-started/): Step-by-step guide to
  initial setup and cloning workflows.

## Contributing

Contributions are welcome! Please see the [CONTRIBUTING](CONTRIBUTING.md) file for guidelines.

## License

`scm-config-clone` is licensed under the Apache 2.0 License. See the [LICENSE](./LICENSE) file for more details.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "scm-config-clone",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.10",
    "maintainer_email": null,
    "keywords": null,
    "author": "Calvin Remsburg",
    "author_email": "calvin@cdot.io",
    "download_url": "https://files.pythonhosted.org/packages/4c/48/5720f5419677b129609a9fc6cc16363f56cf6ec5c23d2fa126fa9179c2d1/scm_config_clone-0.2.5.tar.gz",
    "platform": null,
    "description": "# SCM Config Clone\n\n![Banner Image](https://raw.githubusercontent.com/cdot65/scm-config-clone/refs/heads/main/docs/images/logo.svg)\n\n[![Build Status](https://github.com/cdot65/scm-config-clone/actions/workflows/ci.yml/badge.svg)](https://github.com/cdot65/scm-config-clone/actions/workflows/ci.yml)\n[![PyPI version](https://badge.fury.io/py/scm-config-clone.svg)](https://badge.fury.io/py/scm-config-clone)\n[![Python versions](https://img.shields.io/pypi/pyversions/scm-config-clone.svg)](https://pypi.org/project/scm-config-clone/)\n[![License](https://img.shields.io/github/license/cdot65/scm-config-clone.svg)](https://github.com/cdot65/scm-config-clone/blob/main/LICENSE)\n\n`scm-config-clone` is a command-line tool designed to seamlessly clone configuration objects between Palo Alto Networks\nStrata Cloud Manager (SCM) tenants. From addresses and tags to application groups and security rules, this tool\nstreamlines migration tasks and reduces manual errors.\n\n## Table of Contents\n\n- [Features](#features)\n- [Installation](#installation)\n- [Basic Usage](#basic-usage)\n- [Creating the Settings File](#creating-the-settings-file)\n- [Cloning Objects](#cloning-objects)\n- [Further Reading](#further-reading)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Features\n\n- **Simple Setup**: Store credentials and defaults in a `settings.yaml` file for reuse.\n- **Robust Cloning**: Supports multiple object types (addresses, tags, services, security rules, and more).\n- **Extensive Filters**: Exclude specific folders, snippets, or devices to narrow down cloned objects.\n- **Flexible Controls**: Run in `dry-run` mode, auto-approve changes, suppress console output, and create reports.\n- **Commit & Push**: Automatically commit changes after objects are cloned.\n\n## Installation\n\n**Requirements**:\n\n- Python 3.10 or higher\n\nInstall directly from PyPI:\n\n```bash\npip install scm-config-clone\n```\n\n## Basic Usage\n\nOnce installed, the primary command is `scm-clone`. Running `--help` displays global options and available sub-commands:\n\n```bash\nscm-clone --help\n```\n\nYou\u2019ll see a list of commands like `addresses`, `tags`, `services`, `security-rules`, and `settings`.\n\n## Creating the Settings File\n\nBefore cloning, create a `settings.yaml` file to store SCM credentials and defaults:\n\n```bash\nscm-clone settings\n```\n\nYou\u2019ll be prompted for source/destination credentials, logging level, and defaults for `auto_approve`, `create_report`,\n`dry_run`, and `quiet`. Once done, `settings.yaml` will be created in the current directory. Subsequent commands read\nfrom it, eliminating the need to re-enter credentials or defaults.\n\n## Cloning Objects\n\nWith `settings.yaml` ready, cloning objects typically involves specifying a folder and object type. For example, to\nclone address objects:\n\n```bash\nscm-clone addresses --source-folder \"Texas\"\n```\n\nIf `auto_approve` is disabled by default in `settings.yaml`, you\u2019ll be prompted before actual creation. If you wish to\noverride this at runtime:\n\n```bash\nscm-clone addresses --source-folder \"Texas\" -A\n```\n\nThis command auto-approves without prompting. Similarly, to run in dry-run mode or commit after creation:\n\n```bash\nscm-clone addresses --source-folder \"Texas\" -D --commit-and-push\n```\n\nThis simulates the creation without applying changes (`-D`) and would commit changes if actually applied. Remove `-D` to\nrun it for real.\n\n## Further Reading\n\n- [Commands Reference](https://cdot65.github.io/scm-config-clone/user-guide/python/commands/): Detailed command flags,\n  workflows, and parameters.\n- [Examples](https://cdot65.github.io/scm-config-clone/user-guide/python/examples/): Practical, real-world usage\n  patterns and integrations.\n- [Getting Started](https://cdot65.github.io/scm-config-clone/user-guide/python/getting-started/): Step-by-step guide to\n  initial setup and cloning workflows.\n\n## Contributing\n\nContributions are welcome! Please see the [CONTRIBUTING](CONTRIBUTING.md) file for guidelines.\n\n## License\n\n`scm-config-clone` is licensed under the Apache 2.0 License. See the [LICENSE](./LICENSE) file for more details.\n",
    "bugtrack_url": null,
    "license": "Apache 2.0",
    "summary": "A command-line tool to clone configuration objects between Palo Alto Networks Strata Cloud Manager (SCM) tenants.",
    "version": "0.2.5",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c54866facbcfbdde69472015a628b9e08d069f784fdd78b3d96064ea74a544b4",
                "md5": "a6341467f1e65e5e0186ca120c8b6611",
                "sha256": "294be9dc5139b27d40b8ab2cbf89f7cb7ec6dbf375fcb16fa50a7eb884fbd76e"
            },
            "downloads": -1,
            "filename": "scm_config_clone-0.2.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a6341467f1e65e5e0186ca120c8b6611",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.10",
            "size": 84655,
            "upload_time": "2024-12-20T03:01:02",
            "upload_time_iso_8601": "2024-12-20T03:01:02.590827Z",
            "url": "https://files.pythonhosted.org/packages/c5/48/66facbcfbdde69472015a628b9e08d069f784fdd78b3d96064ea74a544b4/scm_config_clone-0.2.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4c485720f5419677b129609a9fc6cc16363f56cf6ec5c23d2fa126fa9179c2d1",
                "md5": "3b5827652c11fa5a4ac823f52a327e1e",
                "sha256": "014ec67f4b1f645357f953567e79d4ec80823d5987d6217dcef0ca0eab0a4db0"
            },
            "downloads": -1,
            "filename": "scm_config_clone-0.2.5.tar.gz",
            "has_sig": false,
            "md5_digest": "3b5827652c11fa5a4ac823f52a327e1e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.10",
            "size": 25431,
            "upload_time": "2024-12-20T03:01:04",
            "upload_time_iso_8601": "2024-12-20T03:01:04.827274Z",
            "url": "https://files.pythonhosted.org/packages/4c/48/5720f5419677b129609a9fc6cc16363f56cf6ec5c23d2fa126fa9179c2d1/scm_config_clone-0.2.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-20 03:01:04",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "scm-config-clone"
}
        
Elapsed time: 0.49684s