pypureclient package
Subpackages
- pypureclient.flasharray package
- pypureclient.flashblade package
- pypureclient.pure1 package
Submodules
pypureclient.api_token_manager module
- class pypureclient.api_token_manager.APITokenManager(token_endpoint, api_token, verify_ssl=True, token_dispose_endpoint=None, user_agent=None)
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, token_dispose_endpoint=None, user_agent=None)
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.
- close_session()
Close the session by calling logout endpoint.
pypureclient.client_settings module
- pypureclient.client_settings.resolve_ssl_validation(verify_ssl)
Translates verify_ssl parameter of py-pure-client to verify parameter of the requests package
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'
- authorization = 'Authorization'
- user_agent = 'User-Agent'
- 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.
- __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.
- __repr__()
Return the string value of the Filter.
- Returns
str
- static and_(operand1, operand2)
Create a Filter that is the AND of two Filters.
- static contains(operand1, operand2)
Create a Filter that checks for substring containment.
- static eq(operand1, operand2)
Create a Filter that checks for equality.
- static exists(operand1)
Create a Filter that checks for existance of a Property.
- static ge(operand1, operand2)
Create a Filter that checks for greater than or equal.
- static gt(operand1, operand2)
Create a Filter that checks for greater than.
- static in_(operand1, operand2)
Create a Filter that checks if a Property is in a list of values.
- static le(operand1, operand2)
Create a Filter that checks for less than or equal.
- static lt(operand1, operand2)
Create a Filter that checks for less than.
- static ne(operand1, operand2)
Create a Filter that checks for inequality.
- static not_(operand1)
Create a Filter that is the inverse of another Filter.
- static or_(operand1, operand2)
Create a Filter that is the OR of two Filters.
- 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.
- __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, location_context=None)
Bases:
object
An object that models the error response from the server.
- __init__(context, message, location_context=None)
Initialize an ApiError.
- Parameters
context (str) – The context in which the error occurred.
message (str) – The error message.
location_context (str) – The execution context where the error occurred.
- __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:
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)
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)
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, errors=None)
Bases:
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, errors=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.