Skip to content

Commit 8e2ed4f

Browse files
authored
Merge pull request #51 from PureStorage-OpenConnect/add_fb2dot7_fb2dot8
Release 1.31.0: Added FlashBlade REST 2.7 and 2.8
2 parents 9ab1f45 + 2418d65 commit 8e2ed4f

File tree

834 files changed

+194240
-32
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

834 files changed

+194240
-32
lines changed

docs/changelog.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ A log of changes by version and date.
66
======= ========== =====
77
Version Date Notes
88
======= ========== =====
9+
1.31.0 01/25/2023 Added FlashBlade 2.7 and 2.8 clients
910
1.30.0 01/12/2023 Added FlashArray 2.20 client
1011
1.29.0 12/09/2022 Added FlashArray 2.17 and 2.19 clients
1112
1.28.0 10/07/2022 Added FlashBlade 2.5 and 2.6 clients

docs/conf.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@
2727
author = u'Pure Storage, Inc.'
2828

2929
# The short X.Y version
30-
version = u'1.30'
30+
version = u'1.31'
3131
# The full version, including alpha/beta/rc tags
32-
release = u'1.30.0'
32+
release = u'1.31.0'
3333

3434

3535
# -- General configuration ---------------------------------------------------

docs/fb_reference.rst

Lines changed: 156 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,16 @@ FlashBlade REST 2.6 Client
5252
~~~~~~~~~~~~~~~~~~~~~~~~~~
5353

5454
.. autoclass:: pypureclient.flashblade.FB_2_6.client.Client
55+
56+
FlashBlade REST 2.7 Client
57+
~~~~~~~~~~~~~~~~~~~~~~~~~~
58+
59+
.. autoclass:: pypureclient.flashblade.FB_2_7.client.Client
60+
61+
FlashBlade REST 2.8 Client
62+
~~~~~~~~~~~~~~~~~~~~~~~~~~
63+
64+
.. autoclass:: pypureclient.flashblade.FB_2_8.client.Client
5565
:members:
5666

5767

@@ -305,6 +315,30 @@ Bucket
305315
.. autoclass:: pypureclient.flashblade.Bucket
306316
:members:
307317

318+
BucketDefaults
319+
~~~~~~~~~~~~~~
320+
321+
.. autoclass:: pypureclient.flashblade.BucketDefaults
322+
:members:
323+
324+
BucketDefaultsReadonly
325+
~~~~~~~~~~~~~~~~~~~~~~
326+
327+
.. autoclass:: pypureclient.flashblade.BucketDefaultsReadonly
328+
:members:
329+
330+
BucketEradicationConfig
331+
~~~~~~~~~~~~~~~~~~~~~~~
332+
333+
.. autoclass:: pypureclient.flashblade.BucketEradicationConfig
334+
:members:
335+
336+
BucketPatch
337+
~~~~~~~~~~~
338+
339+
.. autoclass:: pypureclient.flashblade.BucketPatch
340+
:members:
341+
308342
BucketPerformance
309343
~~~~~~~~~~~~~~~~~
310344

@@ -485,18 +519,36 @@ FileInfo
485519
.. autoclass:: pypureclient.flashblade.FileInfo
486520
:members:
487521

522+
FileLock
523+
~~~~~~~~
524+
525+
.. autoclass:: pypureclient.flashblade.FileLock
526+
:members:
527+
488528
FileSystem
489529
~~~~~~~~~~
490530

491531
.. autoclass:: pypureclient.flashblade.FileSystem
492532
:members:
493533

534+
FileSystemClient
535+
~~~~~~~~~~~~~~~~
536+
537+
.. autoclass:: pypureclient.flashblade.FileSystemClient
538+
:members:
539+
494540
FileSystemGroupPerformance
495541
~~~~~~~~~~~~~~~~~~~~~~~~~~
496542

497543
.. autoclass:: pypureclient.flashblade.FileSystemGroupPerformance
498544
:members:
499545

546+
FileSystemLockNlmReclamation
547+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
548+
549+
.. autoclass:: pypureclient.flashblade.FileSystemLockNlmReclamation
550+
:members:
551+
500552
FileSystemPatch
501553
~~~~~~~~~~~~~~~
502554

@@ -545,6 +597,12 @@ FileSystemUserPerformance
545597
.. autoclass:: pypureclient.flashblade.FileSystemUserPerformance
546598
:members:
547599

600+
FilelockRange
601+
~~~~~~~~~~~~~
602+
603+
.. autoclass:: pypureclient.flashblade.FilelockRange
604+
:members:
605+
548606
FixedLocationReference
549607
~~~~~~~~~~~~~~~~~~~~~~
550608

@@ -563,6 +621,12 @@ FixedReferenceNameOnly
563621
.. autoclass:: pypureclient.flashblade.FixedReferenceNameOnly
564622
:members:
565623

624+
FixedReferenceNoId
625+
~~~~~~~~~~~~~~~~~~
626+
627+
.. autoclass:: pypureclient.flashblade.FixedReferenceNoId
628+
:members:
629+
566630
FixedReferenceNoResourceType
567631
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
568632

@@ -803,6 +867,18 @@ ObjectBacklog
803867
.. autoclass:: pypureclient.flashblade.ObjectBacklog
804868
:members:
805869

870+
ObjectLockConfigBase
871+
~~~~~~~~~~~~~~~~~~~~
872+
873+
.. autoclass:: pypureclient.flashblade.ObjectLockConfigBase
874+
:members:
875+
876+
ObjectLockConfigRequestBody
877+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
878+
879+
.. autoclass:: pypureclient.flashblade.ObjectLockConfigRequestBody
880+
:members:
881+
806882
ObjectStoreAccessKey
807883
~~~~~~~~~~~~~~~~~~~~
808884

@@ -851,6 +927,18 @@ ObjectStoreAccount
851927
.. autoclass:: pypureclient.flashblade.ObjectStoreAccount
852928
:members:
853929

930+
ObjectStoreAccountPatch
931+
~~~~~~~~~~~~~~~~~~~~~~~
932+
933+
.. autoclass:: pypureclient.flashblade.ObjectStoreAccountPatch
934+
:members:
935+
936+
ObjectStoreAccountPost
937+
~~~~~~~~~~~~~~~~~~~~~~
938+
939+
.. autoclass:: pypureclient.flashblade.ObjectStoreAccountPost
940+
:members:
941+
854942
ObjectStoreRemoteCredentialGetResp
855943
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
856944

@@ -1121,6 +1209,12 @@ Space
11211209
.. autoclass:: pypureclient.flashblade.Space
11221210
:members:
11231211

1212+
SpaceExtended
1213+
~~~~~~~~~~~~~
1214+
1215+
.. autoclass:: pypureclient.flashblade.SpaceExtended
1216+
:members:
1217+
11241218
Subnet
11251219
~~~~~~
11261220

@@ -1217,6 +1311,18 @@ UserQuotaPost
12171311
.. autoclass:: pypureclient.flashblade.UserQuotaPost
12181312
:members:
12191313

1314+
VerificationKey
1315+
~~~~~~~~~~~~~~~
1316+
1317+
.. autoclass:: pypureclient.flashblade.VerificationKey
1318+
:members:
1319+
1320+
VerificationKeyPatch
1321+
~~~~~~~~~~~~~~~~~~~~
1322+
1323+
.. autoclass:: pypureclient.flashblade.VerificationKeyPatch
1324+
:members:
1325+
12201326
model
12211327
~~~~~
12221328

@@ -1746,7 +1852,7 @@ get_buckets
17461852
patch_buckets
17471853
'''''''''''''
17481854

1749-
.. literalinclude:: source/examples/FB2.0/patch_buckets.py
1855+
.. literalinclude:: source/examples/FB2.8/patch_buckets.py
17501856
:language: python
17511857

17521858
get_buckets_performance
@@ -1758,7 +1864,7 @@ get_buckets_performance
17581864
post_buckets
17591865
''''''''''''
17601866

1761-
.. literalinclude:: source/examples/FB2.0/post_buckets.py
1867+
.. literalinclude:: source/examples/FB2.8/post_buckets.py
17621868
:language: python
17631869

17641870
get_buckets_s3_specific_performance
@@ -2064,6 +2170,30 @@ get_file_systems_groups_performance
20642170
.. literalinclude:: source/examples/FB2.0/get_file_systems_groups_performance.py
20652171
:language: python
20662172

2173+
get_file_systems_locks_clients
2174+
''''''''''''''''''''''''''''''
2175+
2176+
.. literalinclude:: source/examples/FB2.8/get_file_systems_locks_clients.py
2177+
:language: python
2178+
2179+
delete_file_systems_locks
2180+
'''''''''''''''''''''''''
2181+
2182+
.. literalinclude:: source/examples/FB2.8/delete_file_systems_locks.py
2183+
:language: python
2184+
2185+
get_file_systems_locks
2186+
''''''''''''''''''''''
2187+
2188+
.. literalinclude:: source/examples/FB2.8/get_file_systems_locks.py
2189+
:language: python
2190+
2191+
post_file_systems_locks_nlm_reclamations
2192+
''''''''''''''''''''''''''''''''''''''''
2193+
2194+
.. literalinclude:: source/examples/FB2.8/post_file_systems_locks_nlm_reclamations.py
2195+
:language: python
2196+
20672197
patch_file_systems
20682198
''''''''''''''''''
20692199

@@ -2396,10 +2526,16 @@ get_object_store_accounts
23962526
.. literalinclude:: source/examples/FB2.0/get_object_store_accounts.py
23972527
:language: python
23982528

2529+
patch_object_store_accounts
2530+
'''''''''''''''''''''''''''
2531+
2532+
.. literalinclude:: source/examples/FB2.8/patch_object_store_accounts.py
2533+
:language: python
2534+
23992535
post_object_store_accounts
24002536
''''''''''''''''''''''''''
24012537

2402-
.. literalinclude:: source/examples/FB2.0/post_object_store_accounts.py
2538+
.. literalinclude:: source/examples/FB2.8/post_object_store_accounts.py
24032539
:language: python
24042540

24052541
Object Store Remote Credentials
@@ -3067,3 +3203,20 @@ get_usage_users
30673203
.. literalinclude:: source/examples/FB2.0/get_usage_users.py
30683204
:language: python
30693205

3206+
Verification Keys
3207+
~~~~~~~~~~~~~~~~~~
3208+
3209+
The following examples assume that ``client`` is an instantiated ``flashblade.Client`` object as shown in :ref:`Instantiating a Client`.
3210+
3211+
get_support_verification_keys
3212+
'''''''''''''''''''''''''''''
3213+
3214+
.. literalinclude:: source/examples/FB2.7/get_support_verification_keys.py
3215+
:language: python
3216+
3217+
patch_support_verification_keys
3218+
'''''''''''''''''''''''''''''''
3219+
3220+
.. literalinclude:: source/examples/FB2.7/patch_support_verification_keys.py
3221+
:language: python
3222+
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# List the Challenge Response Verification Key for the array
2+
res = client.get_support_verification_keys()
3+
print(res)
4+
if type(res) == pypureclient.responses.ValidResponse:
5+
print(list(res.items))
6+
7+
# Other valid fields: continuation_token, limit, offset, sort, filter
8+
# See section "Common Fields" for examples
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
from pypureclient.flashblade import VerificationKeyPatch
2+
3+
# Update the signed Verification Key for the array
4+
signed_public_key_text = """-----BEGIN PUBLIC KEY-----
5+
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEArSe6chh1JzME9svOKjU0
6+
eKTm8S23Ok3Vr2bWuPri/YHfLrlnRwWoCt+st0/BebKSJ+fQUWOaLlqpZQKpI8oR
7+
gJ9sWmwGibVG8cTuz7XMkskx9bsm/bjIenuB4W+s3g0BCsi9930mfdKgJgFzY69O
8+
nLh7d7hAFcmhSJa945PryQZpvJ/U4Ue5F4d+WXgEJ0SoSRaZ6bbeMPhcbMHTzTum
9+
2ZrPBkK5cqPYitaso6BXeAlqNQPw4Kbu4Ugm0CTogrtImkwoonWDDP34XMOq+u7q
10+
sNTbJSvDKMTM1RPPrTWCaLiuZkdLVEVesZ9/8+XUMIgBTElwQJDCAQer03MJzqRr
11+
1eCZGgLfDuYqwMG2MFaAX7kgqBwwyqRTd6MxaQxt2nkdfwiXSY71llzEQ23g3T+1
12+
64zjwAL5f+dtu8PkGF7IdU2T8P2Qk9bG9pckwZHWYkBK77BAk5jbmSzsKGZgRb2R
13+
1E+TWDKIaveFhQp251j/C5wkZwMXgjOzN+BOPo+OiLBGUl+jRybWA9f7Vq1MEdf6
14+
SEdLiqYrXcZERkYBMieLXAfdtaztAIb96cUu+OKMSLDk+D0GHkUfm7lEbDK3ew1+
15+
D6z+BnxDyH6oqZzz4lS2kPLBLsc+6pdTGuKLf0S9YuLiqJe659AdwU8+X/3KtwNd
16+
FVJSaxdFbWx0nj3hJqFkIO8CAwEAAQ==
17+
-----END PUBLIC KEY-----"""
18+
res = client.patch_support_verification_keys(key=VerificationKeyPatch(signed_verification_key=signed_public_key_text))
19+
print(res)
20+
if type(res) == pypureclient.responses.ValidResponse:
21+
print(list(res.items))
22+
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Delete all locks created by a specified client IP
2+
res = client.delete_file_systems_locks(client_names='1.1.1.1')
3+
print(res)
4+
if type(res) == pypureclient.responses.ValidResponse:
5+
print(list(res.items))
6+
7+
# Delete a single lock by name
8+
res = client.delete_file_systems_locks(names='3-NFSv3-0-1024')
9+
print(res)
10+
if type(res) == pypureclient.responses.ValidResponse:
11+
print(list(res.items))
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Get all file locks and limit the number of returned entries to 1000
2+
res = client.get_file_systems_locks(limit=1000)
3+
print(res)
4+
if type(res) == pypureclient.responses.ValidResponse:
5+
print(list(res.items))
6+
7+
# Get a single lock information by lock name
8+
res = client.get_file_systems_locks(names="3-NFSv3-0-1024")
9+
print(res)
10+
if type(res) == pypureclient.responses.ValidResponse:
11+
print(list(res.items))
12+
13+
# Get all locks created by a client with specified client IP
14+
res = client.get_file_systems_locks(client_names='1.1.1.1')
15+
print(res)
16+
if type(res) == pypureclient.responses.ValidResponse:
17+
print(list(res.items))
18+
19+
# Get locks for a specific file
20+
res = client.get_file_systems_locks(file_system_names='root', paths='/dir/file')
21+
print(res)
22+
if type(res) == pypureclient.responses.ValidResponse:
23+
print(list(res.items))
24+
25+
26+
# Other valid fields: file_system_ids, filter, inodes, continuation_token
27+
# See section "Common Fields" for examples
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Get all the clients (limit the result to 1000) who have acquired file locks
2+
res = client.get_file_systems_locks_clients(limit=1000)
3+
print(res)
4+
if type(res) == pypureclient.responses.ValidResponse:
5+
print(list(res.items))
6+
7+
# Other valid fields: filter, continuation_token
8+
# See section "Common Fields" for examples

0 commit comments

Comments
 (0)