Skip to content

Commit 9e93420

Browse files
authored
Merge pull request #39 from PureStorage-OpenConnect/add_fb2dot4
Release 1.25.0: Adding FlashBlade REST 2.4
2 parents a62d42f + 0f2f1b7 commit 9e93420

File tree

416 files changed

+92978
-27
lines changed

Some content is hidden

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

416 files changed

+92978
-27
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.25.0 06/20/2022 Added FlashBlade 2.4 client
910
1.24.0 05/16/2022 Added FlashArray 2.14 client
1011
1.23.0 04/15/2022 Added FlashArray 2.13 client
1112
1.22.0 12/15/2021 Added FlashArray 2.11 client

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.24'
30+
version = u'1.25'
3131
# The full version, including alpha/beta/rc tags
32-
release = u'1.24.0'
32+
release = u'1.25.0'
3333

3434

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

docs/fb_reference.rst

Lines changed: 65 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,11 @@ FlashBlade REST 2.3 Client
3737
~~~~~~~~~~~~~~~~~~~~~~~~~~
3838

3939
.. autoclass:: pypureclient.flashblade.FB_2_3.client.Client
40+
41+
FlashBlade REST 2.4 Client
42+
~~~~~~~~~~~~~~~~~~~~~~~~~~
43+
44+
.. autoclass:: pypureclient.flashblade.FB_2_4.client.Client
4045
:members:
4146

4247

@@ -440,6 +445,12 @@ Dns
440445
.. autoclass:: pypureclient.flashblade.Dns
441446
:members:
442447

448+
Drive
449+
~~~~~
450+
451+
.. autoclass:: pypureclient.flashblade.Drive
452+
:members:
453+
443454
Eula
444455
~~~~
445456

@@ -452,6 +463,12 @@ EulaSignature
452463
.. autoclass:: pypureclient.flashblade.EulaSignature
453464
:members:
454465

466+
FileInfo
467+
~~~~~~~~
468+
469+
.. autoclass:: pypureclient.flashblade.FileInfo
470+
:members:
471+
455472
FileSystem
456473
~~~~~~~~~~
457474

@@ -668,6 +685,12 @@ Login
668685
.. autoclass:: pypureclient.flashblade.Login
669686
:members:
670687

688+
LogsAsync
689+
~~~~~~~~~
690+
691+
.. autoclass:: pypureclient.flashblade.LogsAsync
692+
:members:
693+
671694
Member
672695
~~~~~~
673696

@@ -716,6 +739,12 @@ NfsExportPolicy
716739
.. autoclass:: pypureclient.flashblade.NfsExportPolicy
717740
:members:
718741

742+
NfsExportPolicyPost
743+
~~~~~~~~~~~~~~~~~~~
744+
745+
.. autoclass:: pypureclient.flashblade.NfsExportPolicyPost
746+
:members:
747+
719748
NfsExportPolicyRule
720749
~~~~~~~~~~~~~~~~~~~
721750

@@ -854,6 +883,12 @@ PolicyBase
854883
.. autoclass:: pypureclient.flashblade.PolicyBase
855884
:members:
856885

886+
PolicyBaseRenameable
887+
~~~~~~~~~~~~~~~~~~~~
888+
889+
.. autoclass:: pypureclient.flashblade.PolicyBaseRenameable
890+
:members:
891+
857892
PolicyFileSystemSnapshot
858893
~~~~~~~~~~~~~~~~~~~~~~~~
859894

@@ -1150,7 +1185,6 @@ UserQuotaPatch
11501185

11511186
UserQuotaPost
11521187
~~~~~~~~~~~~~
1153-
11541188
.. autoclass:: pypureclient.flashblade.UserQuotaPost
11551189
:members:
11561190

@@ -1873,6 +1907,17 @@ patch_dns
18731907
.. literalinclude:: source/examples/FB2.0/patch_dns.py
18741908
:language: python
18751909

1910+
Drives
1911+
~~~~~~~
1912+
1913+
The following examples assume that ``client`` is an instantiated ``flashblade.Client`` object as shown in :ref:`Instantiating a Client`.
1914+
1915+
get_drives
1916+
''''''''''
1917+
1918+
.. literalinclude:: source/examples/FB2.4/get_drives.py
1919+
:language: python
1920+
18761921
File System Replica Links
18771922
~~~~~~~~~~~~~~~~~~~~~~~~~~
18781923

@@ -2046,7 +2091,7 @@ The following examples assume that ``client`` is an instantiated ``flashblade.Cl
20462091
get_hardware
20472092
''''''''''''
20482093

2049-
.. literalinclude:: source/examples/FB2.0/get_hardware.py
2094+
.. literalinclude:: source/examples/FB2.4/get_hardware.py
20502095
:language: python
20512096

20522097
patch_hardware
@@ -2211,6 +2256,24 @@ Logs
22112256

22122257
The following examples assume that ``client`` is an instantiated ``flashblade.Client`` object as shown in :ref:`Instantiating a Client`.
22132258

2259+
get_logs_async_download
2260+
'''''''''''''''''''''''
2261+
2262+
.. literalinclude:: source/examples/FB2.4/get_logs_async_download.py
2263+
:language: python
2264+
2265+
get_logs_async
2266+
''''''''''''''
2267+
2268+
.. literalinclude:: source/examples/FB2.4/get_logs_async.py
2269+
:language: python
2270+
2271+
patch_logs_async
2272+
''''''''''''''''
2273+
2274+
.. literalinclude:: source/examples/FB2.4/patch_logs_async.py
2275+
:language: python
2276+
22142277
get_logs
22152278
''''''''
22162279

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# list all drives
2+
res = client.get_drives()
3+
print(res)
4+
if type(res) == pypureclient.responses.ValidResponse:
5+
print(list(res.items))
6+
# list a subset of drives by name
7+
res = client.get_drives(names=['CH1.FB1.BAY3', 'CH1.FB2.BAY1'])
8+
print(res)
9+
if type(res) == pypureclient.responses.ValidResponse:
10+
print(list(res.items))
11+
# list a subset of drives by id
12+
res = client.get_drives(ids=['f9330b89-fb7c-cc8a-07b7-bfb086873982',
13+
'a1f9faf6-18b5-7c9d-d816-6df3d2db6dca'])
14+
print(res)
15+
if type(res) == pypureclient.responses.ValidResponse:
16+
print(list(res.items))
17+
# list all healthy drives
18+
res = client.get_drives(filter='status=\'healthy\'')
19+
print(res)
20+
if type(res) == pypureclient.responses.ValidResponse:
21+
print(list(res.items))
22+
# Other valid fields: continuation_token, limit, offset, sort, total_only
23+
# See section "Common Fields" for examples
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# list all fans
2+
res = client.get_hardware(filter='type=\'fan\'')
3+
print(res)
4+
if type(res) == pypureclient.responses.ValidResponse:
5+
print(list(res.items))
6+
# list all XFMs
7+
res = client.get_hardware(filter='type=\'xfm\'')
8+
print(res)
9+
if type(res) == pypureclient.responses.ValidResponse:
10+
print(list(res.items))
11+
# list all Drives
12+
res = client.get_hardware(filter='type=\'bay\'')
13+
print(res)
14+
if type(res) == pypureclient.responses.ValidResponse:
15+
print(list(res.items))
16+
# Other valid fields: continuation_token, limit, offset, sort, ids, names
17+
# See section "Common Fields" for examples
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
res = client.get_logs_async()
2+
print(res)
3+
if type(res) == pypureclient.responses.ValidResponse:
4+
print(list(res.items))
5+
# Other valid fields: continuation_token, filter, ids, limit, names, offset, sort
6+
# See section "Common Fields" for examples
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
res = client.get_logs_async_download(names=['array-name_logs_2022-01-02.03_1643259782296.zip'])
2+
print(res)
3+
if type(res) == pypureclient.responses.ValidResponse:
4+
print(list(res.items))
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
from pypureclient.flashblade import LogsAsync, Reference
2+
3+
logs_async_attr = LogsAsync(start_time=1643664575040, end_time=1643668175040, hardware_components=[Reference(name='CH1')])
4+
res = client.patch_logs_async(logs_async=logs_async_attr)
5+
print(res)
6+
if type(res) == pypureclient.responses.ValidResponse:
7+
print(list(res.items))

0 commit comments

Comments
 (0)