Skip to content

Commit 536cf56

Browse files
committed
Updated to support overwrite using -o option
Usage: Pure_Copy_Volume.py [options] This application has been developed using Pure Storage v1.7 RESTful Web Service interfaces. Developed and tested using Python 3.6 on Mac OS 10.12. Please contact ron@purestorage.com for assistance. Options: --version show program's version number and exit -h, --help show this help message and exit -d DEBUG_LEVEL, --debug=DEBUG_LEVEL Debug level, used for HTTP debugging -o, --overwrite Pure password [default: False] -p PASSWORD, --password=PASSWORD Pure password -s FLASHARRAY, --server=FLASHARRAY Pure FlashArray -S SOURCEV, --source=SOURCEV Source Volume Name -T TARGETV, --target=TARGETV Target Volume Name -u USER, --user=USER Pure user name -v, --verbose Verbose [default: False]
1 parent 9b23143 commit 536cf56

File tree

1 file changed

+21
-10
lines changed

1 file changed

+21
-10
lines changed

Pure_Copy_Volume.py

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
from operator import itemgetter, attrgetter
1515

1616
# Global Variables
17-
VERSION = '1.0.0'
17+
VERSION = '1.1.0'
1818
HEADER = 'Pure Storage Copy Volume (' + VERSION + ')'
1919
BANNER = ('=' * 100)
2020
DEBUG_LEVEL = 0
@@ -40,6 +40,12 @@ def parsecl():
4040
default = 0,
4141
help = 'Debug level, used for HTTP debugging')
4242

43+
parser.add_option('-o', '--overwrite',
44+
action = 'store_true',
45+
dest = 'overwrite',
46+
default = False,
47+
help = 'Pure password [default: %default]')
48+
4349
parser.add_option('-p', '--password',
4450
action = 'store',
4551
type = 'string',
@@ -52,13 +58,13 @@ def parsecl():
5258
dest = 'flashArray',
5359
help = 'Pure FlashArray')
5460

55-
parser.add_option('--source',
61+
parser.add_option('-S', '--source',
5662
action = 'store',
5763
type = 'string',
5864
dest = 'sourcev',
5965
help = 'Source Volume Name')
6066

61-
parser.add_option('--target',
67+
parser.add_option('-T', '--target',
6268
action = 'store',
6369
type = 'string',
6470
dest = 'targetv',
@@ -71,10 +77,10 @@ def parsecl():
7177
help = 'Pure user name')
7278

7379
parser.add_option('-v', '--verbose',
74-
action = 'store_true',
75-
dest = 'VERBOSE_FLAG',
76-
default = False,
77-
help = 'Verbose [default: %default]')
80+
action = 'store_true',
81+
dest = 'VERBOSE_FLAG',
82+
default = False,
83+
help = 'Verbose [default: %default]')
7884

7985
(options, args) = parser.parse_args()
8086

@@ -97,6 +103,7 @@ def main():
97103
flashArray = options.flashArray
98104
sourcev = options.sourcev
99105
targetv = options.targetv
106+
overwrite = options.overwrite
100107
DEBUG_LEVEL = options.DEBUG_LEVEL
101108
VERBOSE_FLAG = options.VERBOSE_FLAG
102109

@@ -106,7 +113,9 @@ def main():
106113
print('Flash Array', flashArray)
107114
print('Source Volume name', sourcev)
108115
print('Target Volume name', targetv)
116+
print('Overwrite', overwrite)
109117
print('Debug Level:', DEBUG_LEVEL)
118+
print('Verbose Flag:', VERBOSE_FLAG)
110119

111120
if flashArray == None:
112121
sys.exit('Exiting: You must provide FlashArray details')
@@ -123,14 +132,16 @@ def main():
123132
array = create_session(flashArray, user, password)
124133

125134
# Create Volume
126-
jsonData = array.copy_volume(sourcev, targetv)
135+
jsonData = array.copy_volume(sourcev, targetv, overwrite=overwrite)
127136

128-
#jsonData = array.list_volumes()
129137
if VERBOSE_FLAG:
130138
print(BANNER)
131139
print(json.dumps(jsonData, sort_keys=False, indent=4))
132140

133-
print('Copied Volume ' + sourcev + ' To ' + targetv)
141+
if overwrite == False:
142+
print('Copied Volume ' + sourcev + ' To ' + targetv)
143+
else:
144+
print('Overwritten Volume ' + targetv + ' With ' + sourcev)
134145

135146
# Close API session
136147
array.invalidate_cookie()

0 commit comments

Comments
 (0)