Metadata-Version: 2.1
Name: tccbsmig
Version: 1.1b2
Summary: CBS Data Migration to Encrypted Disk
Home-page: UNKNOWN
Author: Minze Tao
Author-email: minzetaos@tencent.com
License: MIT
Description: # Tccbsmig
        Tccbsmig is designed to batch transfer all the data on an unencrypted CBS mounted on a CVM to an encrypted CBS for Tencent Cloud. To use it, you need to prepare a JSON file as an input, which includes your account SecrectID, SecrectKey, and all related CVM Instances and storages information.  
        
        For each disk needs to be encrypted, tccbsmig automatically calls CBS APIs to create a new encrypted CBS disk and mount it on the instance where unencrypted disk is attached, and then copies the data from unencrypted disk to the encrypted, and detaches the unencrypted disk after data transfer has been completed, and the new encrypted disk will be mounted at the same file path as the unencrypted disk in the end.
        
        # How to use tccbsmig
        usage: tccbsmig [-h] -f FILE [-V]
        
        # How to install tccbsmig on Linux
        1. Install the package use `pip`. On a Linux system, use `pip3` to install:  
        .  
        　`pip3 install tccbsmig`  
        .  
        2. On Linux `pip install ... ` put scripts into `~/.local/bin` and this is not on the default Debian or Ubuntu `$PATH`. To fix, you need to add `~/.local/bin` to your $PATH:  
        .    
        　`export PATH="$HOME/.local/bin:$PATH"`
        
        # How to prepare the JSON file
        Attributes' value share the same rules of the APIs that used in this program if applicable.  
        API used in this program:  
        CreateDisks: https://intl.cloud.tencent.com/document/api/362/16312  
        AttachDisks: https://intl.cloud.tencent.com/document/api/362/16313  
        DetachDisks: https://intl.cloud.tencent.com/document/api/362/16316
        
        
        ***An example of qualified JSON file is on the end of this doc.***
        
        
        ### JSON file structure explaination:
        　**Credentials** - this attribute is used to store credentials  
        　　   **SecrectID** - your account SecrectID  
        　　　　**SecrectKey** - your account SecrectKey  
        　**CBS_Cases** - stores all instances and block storages details  
        　　　　**Case_Name** - the name of each case. You can modify case's name to whatever you want.  
        　　　　　　　　**InstanceDetail** - instance Detail  
        　　　　　　　　　　　　**InstanceId** (String)- instance ID of your instance  
        　　　　　　　　　　　　**InstancePublicIP** (String)- public IP address of your instance  
        　　　　　　　　　　　　**InstanceName** (String)- your instance's name  
        　　　　　　　　　　　　**Region** (String)- the region your instance is in  
        　　　　　　　　　　　　**Zone** (String)- the availability zone your instance is in  
        　　　　　　　　　　　　**ProjectId** (*Int*)- the project ID of your instance  
        　　　　　　　　　　　　**Username** (String)- username that used to log in your instance  
        　　　　　　　　　　　　**SSHKeyPath** (String)- SSH Key file location  
        　　　　　　　　**CBSDetail** - CBS detail  
        　　　　　　　　　　　　**DiskId** (String)- the disk ID of your CBS  
        　　　　　　　　　　　　**DiskType** (String)- the disk type of your CBS  
        　　　　　　　　　　　　**DiskSize** (*Int*)- the size of your disk  
        　　　　　　　　　　　　**CBSPathOnCVM** (String)- mount point of your disk  
        　　　　　　　　　　　　**FileSystem** (String)- the file system your disk uses  
        　　　　　　　　　　　　**DiskName** (String)- your disk name  
        　　　　　　　　　　　　**Tags** (String)- tag of your disk. ***If you don't want to set this value, leave an empty string here.***   
        
        ### JSON file example
        
            {  
              "Credentials":{  
                "SecrectID":"AKID****************",  
                "SecrectKey":"1nKc*****************"  
              },  
              "CBS_Cases":{  
                "CBS_1":  
                {  
                  "InstanceDetail":{  
                    "InstanceId": "ins-3u***yg1",  
                    "InstancePublicIP": "175.***.***.101",  
                    "InstanceName":"ebs-en-test",  
                    "Region": "ap-shanghai",  
                    "Zone": "ap-shanghai-3",  
                    "ProjectId": 111***1,  
                    "Username": "ubuntu",  
                    "SSHKeyPath": "/Path-to-SSHKey/SSHKey.dms"  
                  },  
                  "CBSDetail":{  
                    "DiskId": "disk-q9***f8n",  
                    "DiskType": "CLOUD_PREMIUM",  
                    "DiskSize": 50,  
                    "CBSPathOnCVM": "/data",  
                    "FileSystem":"ext4",  
                    "DiskName": "diskname",  
                    "Tags": ""  
                  }  
                },  
                "CBS_2":  
                {  
                  "InstanceDetail":{  
                    "InstanceId": "ins-3b***6e8",  
                    "InstancePublicIP": "106.***.***.136",  
                    "InstanceName":"un-en-test",  
                    "Region": "ap-guangzhou",  
                    "Zone": "ap-guangzhou-3",  
                    "ProjectId": 111***1,  
                    "Username": "ubuntu",  
                    "SSHKeyPath": "/Path-to-SSHKey/SSHKey.dms"  
                  },  
                  "CBSDetail":{  
                    "DiskId": "disk-ef***3pe",  
                    "DiskType": "CLOUD_PREMIUM",  
                    "DiskSize": 30,  
                    "CBSPathOnCVM": "/data",  
                    "FileSystem":"ext4",  
                    "DiskName": "un-test",  
                    "Tags": "[{\"Key\":\"TagKey\",\"Value\":\"TagValue\"}]"  
                  }  
                }  
              }  
            }  
        
        For more information about Tencent Cloud, please visit: https://intl.cloud.tencent.com  
        Cloud Virtual Machine: https://intl.cloud.tencent.com/product/cvm  
        Cloud Block Storage: https://intl.cloud.tencent.com/product/cbs  
        
Keywords: Python CBS Ecryption Migration
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
