pypureclient package¶
Subpackages¶
- pypureclient.flasharray package
- Subpackages
- Submodules
- pypureclient.flasharray.client module
- Module contents
- pypureclient.flashblade package
- Subpackages
- Submodules
- pypureclient.flashblade.client module
- Module contents
- pypureclient.pure1 package
Submodules¶
pypureclient.api_token_manager module¶
-
class
pypureclient.api_token_manager.
APITokenManager
(token_endpoint, api_token, verify_ssl=True)¶ Bases:
object
A APITokenManager is to handle api token-based authentication for REST 2.X API calls internally. A valid session token is stored in memory.
-
__init__
(token_endpoint, api_token, verify_ssl=True)¶ Initialize a APITokenManager. Should be treated as a static object.
Parameters: - token_endpoint (str) – URL to POST to for exchanging an API token for a session token.
- api_token (str) – API token for the user.
Raises: PureError
– If there was any issue retrieving an session token.
-
get_session_token
(refresh=False)¶ Get the last used session token.
Parameters: refresh (bool, optional) – Whether to retrieve a new session token. Defaults to False. Returns: str Raises: PureError
– If there was an error retrieving an session token.
-
pypureclient.client_settings module¶
pypureclient.exceptions module¶
-
exception
pypureclient.exceptions.
PureError
(reason=None)¶ Bases:
Exception
Exception type raised by Pure Storage code.
pypureclient.keywords module¶
-
class
pypureclient.keywords.
Headers
¶ Bases:
object
A class for static header names.
-
api_token
= 'api-token'¶
-
x_auth_token
= 'x-auth-token'¶
-
x_ratelimit_min
= 'X-RateLimit-Limit-minute'¶
-
x_ratelimit_remaining_min
= 'X-RateLimit-Remaining-minute'¶
-
x_ratelimit_remaining_sec
= 'X-RateLimit-Remaining-second'¶
-
x_ratelimit_sec
= 'X-RateLimit-Limit-second'¶
-
x_request_id
= 'X-Request-ID'¶
-
pypureclient.properties module¶
-
class
pypureclient.properties.
Filter
(operation, operand1, operand2=None)¶ Bases:
object
A Filter object models a filter string by keeping track of operations between Properties, values, and other Filters. It is converted to a string when calling any API and can also be replaced by a string.
-
__and__
(other)¶ The & operator. Create a Filter that is the AND of two Filters.
Parameters: other (Filter) – The Filter to AND. Returns: Filter Raises: PureError
– If other is not of the proper type.
-
__init__
(operation, operand1, operand2=None)¶ Initialize a Filter. Should not be used directly. Instead, use the static methods to create Filters.
Parameters: - operation (_Operation) – The operation.
- operand1 (any) – The first operand.
- operand2 (any, optional) – The second operand, if the operation is binary. Defaults to None.
-
__invert__
()¶ The ~ operator. Create a Filter that is the inverse of another Filter.
Returns: Filter
-
__or__
(other)¶ The | operator. Create a Filter that is the OR of two Filters.
Parameters: other (Filter) – The Filter to OR. Returns: Filter Raises: PureError
– If other is not of the proper type.
-
__repr__
()¶ Return the string value of the Filter.
Returns: str
-
static
and_
(operand1, operand2)¶ Create a Filter that is the AND of two Filters.
Parameters: Returns: Filter
Raises: PureError
– If either operand is not of the proper type.
-
static
contains
(operand1, operand2)¶ Create a Filter that checks for substring containment.
Parameters: - operand1 (Property, str) – The Property to check.
- operand2 (str) – The value to check for.
Returns: Filter
Raises: PureError
– If either operand is not of the proper type.
-
static
eq
(operand1, operand2)¶ Create a Filter that checks for equality.
Parameters: - operand1 (Property, str) – The Property to compare.
- operand2 (str, int, bool) – The value to compare to.
Returns: Filter
Raises: PureError
– If either operand is not of the proper type.
-
static
exists
(operand1)¶ Create a Filter that checks for existance of a Property.
Parameters: operand1 (Property, str) – The Property to check for. Returns: Filter Raises: PureError
– If the operand is not of the proper type.
-
static
ge
(operand1, operand2)¶ Create a Filter that checks for greater than or equal.
Parameters: - operand1 (Property, str) – The Property to compare.
- operand2 (str, int) – The value to compare to.
Returns: Filter
Raises: PureError
– If either operand is not of the proper type.
-
static
gt
(operand1, operand2)¶ Create a Filter that checks for greater than.
Parameters: - operand1 (Property, str) – The Property to compare.
- operand2 (str, int) – The value to compare to.
Returns: Filter
Raises: PureError
– If either operand is not of the proper type.
-
static
in_
(operand1, operand2)¶ Create a Filter that checks if a Property is in a list of values.
Parameters: - operand1 (Property, str) – The Property to check.
- operand2 (list[str], list[int]) – The list of values.
Returns: Filter
Raises: PureError
– If either operand is not of the proper type.
-
static
le
(operand1, operand2)¶ Create a Filter that checks for less than or equal.
Parameters: - operand1 (Property, str) – The Property to compare.
- operand2 (str, int) – The value to compare to.
Returns: Filter
Raises: PureError
– If either operand is not of the proper type.
-
static
lt
(operand1, operand2)¶ Create a Filter that checks for less than.
Parameters: - operand1 (Property, str) – The Property to compare.
- operand2 (str, int) – The value to compare to.
Returns: Filter
Raises: PureError
– If either operand is not of the proper type.
-
static
ne
(operand1, operand2)¶ Create a Filter that checks for inequality.
Parameters: - operand1 (Property, str) – The Property to compare.
- operand2 (str, int, bool) – The value to compare to.
Returns: Filter
Raises: PureError
– If either operand is not of the proper type.
-
static
not_
(operand1)¶ Create a Filter that is the inverse of another Filter.
Parameters: operand1 (Filter) – The Filter to invert. Returns: Filter Raises: PureError
– If the operand is not of the proper type.
-
static
or_
(operand1, operand2)¶ Create a Filter that is the OR of two Filters.
Parameters: Returns: Filter
Raises: PureError
– If either operand is not of the proper type.
Create a Filter that checks for a key-value tag.
Parameters: - operand1 (str) – The key of the tag.
- operand2 (str) – The value of the tag.
Returns: Filter
Raises: PureError
– If either operand is not of the proper type.
-
-
class
pypureclient.properties.
Property
(value)¶ Bases:
object
A Property object models a property of a resource and allows for easy compounding, sorting, and filtering with them. It is converted to a string when calling any API and can also be replaced by a string.
-
__add__
(other)¶ The + operator. Create a subproperty.
Parameters: other (Property) – The Property to be the subproperty of the given Property. Returns: Property Raises: PureError
– If other is not of the proper type.
-
__eq__
(other)¶ The == operator. Create a Filter that checks for equality.
Parameters: other (str, int, bool) – The value to compare to. Returns: Filter Raises: PureError
– If other is not of the proper type.
-
__ge__
(other)¶ The >= operator. Create a Filter that checks for greater than or equal.
Parameters: other (str, int) – The value to compare to. Returns: Filter Raises: PureError
– If other is not of the proper type.
-
__getitem__
(index)¶ The [] operator. Create a list Property with the given index.
Parameters: index (str) – The list index to use. Returns: Property Raises: PureError
– If index is not “all” or “any”.
-
__gt__
(other)¶ The > operator. Create a Filter that checks for greater than.
Parameters: other (str, int) – The value to compare to. Returns: Filter Raises: PureError
– If other is not of the proper type.
-
__init__
(value)¶ Initialize a Property.
Parameters: value (str) – The name of the property.
-
__le__
(other)¶ The <= operator. Create a Filter that checks for less than or equal.
Parameters: other (str, int) – The value to compare to. Returns: Filter Raises: PureError
– If other is not of the proper type.
-
__lt__
(other)¶ The < operator. Create a Filter that checks for less than.
Parameters: other (str, int) – The value to compare to. Returns: Filter Raises: PureError
– If other is not of the proper type.
-
__ne__
(other)¶ The != operator. Create a Filter that checks for inequality.
Parameters: other (str, int, bool) – The value to compare to. Returns: Filter Raises: PureError
– If other is not of the proper type.
-
__repr__
()¶ Return the string value of the Property.
Returns: str
-
all
()¶ Create a list Property indexed by “all”.
Returns: Property
-
any
()¶ Create a list Property indexed by “any”.
Returns: Property
-
ascending
()¶ Create a Property that can be sorted in ascending order.
Returns: Property
-
descending
()¶ Create a property that can be sorted in descending order.
Returns: Property
-
exists
()¶ Create a Filter that checks for existance of the given Property.
Returns: Filter
-
pypureclient.responses module¶
-
class
pypureclient.responses.
ApiError
(context, message)¶ Bases:
object
An object that models the error response from the server.
-
__init__
(context, message)¶ Initialize an ApiError.
Parameters: - context (str) – The context in which the error occurred.
- message (str) – The error message.
-
__repr__
()¶ Return a pretty formatted string of the object.
Returns: str
-
to_dict
()¶ Return a dictionary of the class attributes.
Returns: dict
-
-
class
pypureclient.responses.
ErrorResponse
(status_code, errors, headers)¶ Bases:
pypureclient.responses.Response
A response that indicates there was an error with the request and has the list of errors.
-
__init__
(status_code, errors, headers)¶ Initialize an ErrorResponse.
Parameters: - status_code (int) – The HTTP status code.
- errors (list[ApiError]) – The list of errors encountered.
- headers (dict) – Response headers from the server.
-
__repr__
()¶ Return a pretty formatted string of the object.
Returns: str
-
to_dict
()¶ Return a dictionary of the class attributes.
Returns: dict
-
-
class
pypureclient.responses.
ItemIterator
(client, api_endpoint, kwargs, continuation_token, total_item_count, items, x_request_id, more_items_remaining=None, response_size_limit=1000)¶ Bases:
object
An iterator for items of a collection returned by the server.
-
__init__
(client, api_endpoint, kwargs, continuation_token, total_item_count, items, x_request_id, more_items_remaining=None, response_size_limit=1000)¶ Initialize an ItemIterator.
Parameters: - client (Client) – A Pure1 Client that can call the API.
- api_endpoint (function) – The function that corresponds to the internal API call.
- kwargs (dict) – The kwargs of the initial call.
- continuation_token (str) – The continuation token provided by the server. May be None.
- total_item_count (int) – The total number of items available in the collection.
- items (list[object]) – The items returned from the initial response.
- x_request_id (str) – The X-Request-ID to use for all subsequent calls.
-
__iter__
()¶ Creates a new iterator.
Returns: ItemIterator
-
__len__
()¶ Get the length of collection. Number of items returned is not guaranteed to be the length of collection at the start.
Returns: int
-
__next__
()¶ Get the next item in the collection. If there are no items left to get from the last response, it calls the API again to get more items.
Returns: object Raises: StopIteration
– If there are no more items to return, or if there was an error calling the API.
-
next
()¶ Get the next item in the collection. If there are no items left to get from the last response, it calls the API again to get more items.
Returns: object Raises: StopIteration
– If there are no more items to return, or if there was an error calling the API.
-
-
class
pypureclient.responses.
Response
(status_code, headers)¶ Bases:
object
An abstract response that is extended to a valid or error response.
-
__init__
(status_code, headers)¶ Initialize a Response.
Parameters: - status_code (int) – The HTTP status code.
- headers (dict) – Response headers from the server.
-
-
class
pypureclient.responses.
ResponseHeaders
(x_request_id, x_ratelimit_limit_second, x_ratelimit_limit_minute, x_ratelimit_remaining_second, x_ratelimit_remaining_minute)¶ Bases:
object
An object that includes headers from the server response.
-
__init__
(x_request_id, x_ratelimit_limit_second, x_ratelimit_limit_minute, x_ratelimit_remaining_second, x_ratelimit_remaining_minute)¶ Initialize a ResponseHeaders.
Parameters: - x_request_id (str) – The X-Request-ID from the client or generated by the server.
- x_ratelimit_limit_second (int) – The number of requests available per second.
- x_ratelimit_limit_minute (int) – The number of requests available per minute.
- x_ratelimit_remaining_second (int) – The number of requests remaining in that second.
- x_ratelimit_remaining_minute (int) – The number of requests remaining in that minute.
-
__repr__
()¶ Return a pretty formatted string of the object.
Returns: str
-
to_dict
()¶ Return a dictionary of the class attributes.
Returns: dict
-
-
class
pypureclient.responses.
ValidResponse
(status_code, continuation_token, total_item_count, items, headers, total=None, more_items_remaining=None)¶ Bases:
pypureclient.responses.Response
A response that indicates the request was successful and has the returned data.
-
__init__
(status_code, continuation_token, total_item_count, items, headers, total=None, more_items_remaining=None)¶ Initialize a ValidResponse.
Parameters: - status_code (int) – The HTTP status code.
- continuation_token (str) – An opaque token to iterate over a collection of resources. May be None.
- total_item_count (int) – The total number of items available in the collection.
- items (ItemIterator) – An iterator over the items in the collection.
- headers (dict) – Response headers from the server.
-
__repr__
()¶ Return a pretty formatted string of the object. Does not convert the items to a list of items by using the iterator.
Returns: str
-
to_dict
()¶ Return a dictionary of the class attributes. It will convert the items to a list of items by exhausting the iterator. If any items were previously iterated, they will be missed.
Returns: dict
-
pypureclient.token_manager module¶
-
class
pypureclient.token_manager.
TokenManager
(token_endpoint, id_token=None, private_key_file=None, private_key_password=None, payload=None, headers=None, verify_ssl=True)¶ Bases:
object
A TokenManager is to handle authentication for API calls internally. It accepts an app ID and private key to be able to generate an internal ID token. Alternatively, the ID token itself can be provided. A valid access token is stored in memory and on disk. When an access token is expired, a new one is retrieved. Access tokens on disk are reused when a new TokenManager is instantiated.
-
ALGORITHM
= 'RS256'¶
-
EXP_TIME_IN_SECONDS
= 315360000¶
-
__init__
(token_endpoint, id_token=None, private_key_file=None, private_key_password=None, payload=None, headers=None, verify_ssl=True)¶ Initialize a TokenManager. Should be treated as a static object.
Parameters: - token_endpoint (str) – URL to POST to for exchanging an ID token for an access token.
- id_token (str, optional) – The ID token to use rather than creating one. If expired, all requests to get an access token will fail. Required if app ID and private key information not given.
- private_key_file (str, optional) – Filepath to the private key that matches the public key used to register the app ID.
- private_key_password (str, optional) – Password to the private key file, if encrypted.
- payload (dict) – a dictionary that contains key-values for JSON Web Token claims, like iss(issuer), aud(audience), etc.
- headers (dict) – a dictionary that contains key-values for JSON Web Token header.
Raises: PureError
– If there was any issue generating an ID token or retrieving an access token.
-
get_access_token
(refresh=False)¶ Get the last used access token. Tries to read from memory, read from disk, or retrieve a new one, in that order.
Parameters: refresh (bool, optional) – Whether to retrieve a new access token. Defaults to False. Returns: str Raises: PureError
– If there was an error retrieving an access token.
-
get_header
(refresh=False)¶ Get the bearer Authorization header.
Parameters: refresh (bool, optional) – Whether to retrieve a new access token. Defaults to False. Returns: str Raises: PureError
– If there was an error retrieving an access token.
-