Skip to content

Commit 890a269

Browse files
authored
Add files via upload
1 parent e53fd7d commit 890a269

File tree

2 files changed

+264
-0
lines changed

2 files changed

+264
-0
lines changed

Pure_Create_Volume.py

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
import purestorage
2+
import requests
3+
from requests.packages.urllib3.exceptions import InsecureRequestWarning
4+
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
5+
from base64 import b64encode
6+
import os
7+
import sys
8+
import json
9+
import getpass
10+
from optparse import OptionParser
11+
from datetime import datetime, timedelta
12+
import time
13+
from time import gmtime, strftime, strptime
14+
from operator import itemgetter, attrgetter
15+
16+
# Global Variables
17+
VERSION = '1.0.0'
18+
HEADER = 'Pure Storage Simple List Volumes (' + VERSION + ')'
19+
BANNER = ('=' * 100)
20+
DEBUG_LEVEL = 0
21+
VERBOSE_FLAG = False
22+
COOKIE = ''
23+
24+
def create_session(flashArray, user, password):
25+
26+
jsonData = purestorage.FlashArray(flashArray, user, password)
27+
return(jsonData)
28+
29+
def parsecl():
30+
usage = 'usage: %prog [options]'
31+
version = '%prog ' + VERSION
32+
description = "This application has been developed using Pure Storage v1.4 RESTful Web Service interfaces. Developed and tested using Python 3.6 on Mac OS 10.12. Please contact ron@purestorage.com for assistance."
33+
34+
parser = OptionParser(usage=usage, version=version, description=description)
35+
36+
37+
parser.add_option('-d', '--debug',
38+
type = 'int',
39+
dest = 'DEBUG_LEVEL',
40+
default = 0,
41+
help = 'Debug level, used for HTTP debugging')
42+
43+
parser.add_option('-p', '--password',
44+
action = 'store',
45+
type = 'string',
46+
dest = 'password',
47+
help = 'Pure password')
48+
49+
parser.add_option('-s', '--server',
50+
action = 'store',
51+
type = 'string',
52+
dest = 'flashArray',
53+
help = 'Pure FlashArray')
54+
55+
parser.add_option('--size',
56+
action = 'store',
57+
type = 'string',
58+
dest = 'size',
59+
help = 'Volume size S,K,M,G,T,P')
60+
61+
parser.add_option('-u', '--user',
62+
action = 'store',
63+
type = 'string',
64+
dest = 'user',
65+
help = 'Pure user name')
66+
67+
parser.add_option('-v', '--verbose',
68+
action = 'store_true',
69+
dest = 'VERBOSE_FLAG',
70+
default = False,
71+
help = 'Verbose [default: %default]')
72+
73+
parser.add_option('--volume',
74+
action = 'store',
75+
dest = 'volume',
76+
default = False,
77+
help = 'Volume name')
78+
79+
(options, args) = parser.parse_args()
80+
81+
'''
82+
print("Options:", options)
83+
print("Args:", args)
84+
'''
85+
86+
return(options)
87+
88+
def main():
89+
# Setup variables
90+
global DEBUG_LEVEL
91+
exit_code = 0
92+
93+
# Check for command line parameters
94+
options = parsecl()
95+
password = options.password
96+
user = options.user
97+
flashArray = options.flashArray
98+
volsize = options.size
99+
volume = options.volume
100+
DEBUG_LEVEL = options.DEBUG_LEVEL
101+
VERBOSE_FLAG = options.VERBOSE_FLAG
102+
103+
if DEBUG_LEVEL != 0:
104+
print('Password', password)
105+
print('User', user)
106+
print('Flash Array', flashArray)
107+
print('Volume name', volume)
108+
print('Volume size', volsize)
109+
print('Debug Level:', DEBUG_LEVEL)
110+
111+
if flashArray == None:
112+
sys.exit('Exiting: You must provide FlashArray details')
113+
114+
if user and password == None:
115+
sys.exit('Exiting: You must provide password if using username')
116+
117+
print(BANNER)
118+
print(HEADER + ' - ' + flashArray)
119+
print(strftime('%Y/%m/%d %H:%M:%S %Z', gmtime()))
120+
print(BANNER)
121+
122+
# Create session
123+
array = create_session(flashArray, user, password)
124+
125+
# Create Volume
126+
jsonData = array.create_volume(volume, size=volsize)
127+
128+
#jsonData = array.list_volumes()
129+
if VERBOSE_FLAG:
130+
print(BANNER)
131+
print(json.dumps(jsonData, sort_keys=False, indent=4))
132+
133+
# Close API session
134+
array.invalidate_cookie()
135+
136+
print(BANNER)
137+
print(strftime('%Y/%m/%d %H:%M:%S %Z', gmtime()))
138+
print(BANNER)
139+
sys.exit(exit_code)
140+
141+
main()
142+
143+

Pure_List_Volumes.py

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
import purestorage
2+
import requests
3+
from requests.packages.urllib3.exceptions import InsecureRequestWarning
4+
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
5+
from base64 import b64encode
6+
import os
7+
import sys
8+
import json
9+
import getpass
10+
from optparse import OptionParser
11+
from datetime import datetime, timedelta
12+
import time
13+
from time import gmtime, strftime, strptime
14+
from operator import itemgetter, attrgetter
15+
16+
# Global Variables
17+
VERSION = '1.0.0'
18+
HEADER = 'Pure Storage Simple Create Volume (' + VERSION + ')'
19+
BANNER = ('=' * 100)
20+
DEBUG_LEVEL = 0
21+
VERBOSE_FLAG = False
22+
COOKIE = ''
23+
24+
def create_session(flashArray, user, password):
25+
26+
jsonData = purestorage.FlashArray(flashArray, user, password)
27+
return(jsonData)
28+
29+
def parsecl():
30+
usage = 'usage: %prog [options]'
31+
version = '%prog ' + VERSION
32+
description = "This application has been developed using Pure Storage v1.4 RESTful Web Service interfaces. Developed and tested using Python 3.6 on Mac OS 10.12. Please contact ron@purestorage.com for assistance."
33+
34+
parser = OptionParser(usage=usage, version=version, description=description)
35+
36+
37+
parser.add_option('-d', '--debug',
38+
type = 'int',
39+
dest = 'DEBUG_LEVEL',
40+
default = 0,
41+
help = 'Debug level, used for HTTP debugging')
42+
43+
parser.add_option('-p', '--password',
44+
action = 'store',
45+
type = 'string',
46+
dest = 'password',
47+
help = 'Pure password')
48+
49+
parser.add_option('-s', '--server',
50+
action = 'store',
51+
type = 'string',
52+
dest = 'flashArray',
53+
help = 'Pure FlashArray')
54+
55+
parser.add_option('-u', '--user',
56+
action = 'store',
57+
type = 'string',
58+
dest = 'user',
59+
help = 'Pure user name')
60+
61+
parser.add_option('-v', '--verbose',
62+
action = 'store_true',
63+
dest = 'VERBOSE_FLAG',
64+
default = False,
65+
help = 'Verbose [default: %default]')
66+
67+
(options, args) = parser.parse_args()
68+
69+
'''
70+
print("Options:", options)
71+
print("Args:", args)
72+
'''
73+
74+
return(options)
75+
76+
def main():
77+
# Setup variables
78+
global DEBUG_LEVEL
79+
exit_code = 0
80+
81+
# Check for command line parameters
82+
options = parsecl()
83+
password = options.password
84+
user = options.user
85+
flashArray = options.flashArray
86+
DEBUG_LEVEL = options.DEBUG_LEVEL
87+
88+
if DEBUG_LEVEL != 0:
89+
print('Password', password)
90+
print('User', user)
91+
print('Flash Array', flashArray)
92+
print('Debug Level:', DEBUG_LEVEL)
93+
94+
if flashArray == None:
95+
sys.exit('Exiting: You must provide FlashArray details')
96+
97+
if user and password == None:
98+
sys.exit('Exiting: You must provide password if using username')
99+
100+
print(BANNER)
101+
print(HEADER + ' - ' + flashArray)
102+
print(strftime('%Y/%m/%d %H:%M:%S %Z', gmtime()))
103+
print(BANNER)
104+
105+
# Create session
106+
array = create_session(flashArray, user, password)
107+
108+
jsonData = array.list_volumes()
109+
print(json.dumps(jsonData, sort_keys=False, indent=4))
110+
111+
# Close API session
112+
array.invalidate_cookie()
113+
114+
print(BANNER)
115+
print(strftime('%Y/%m/%d %H:%M:%S %Z', gmtime()))
116+
print(BANNER)
117+
sys.exit(exit_code)
118+
119+
main()
120+
121+

0 commit comments

Comments
 (0)