Metadata-Version: 2.1
Name: pnap-location-api
Version: 1.0.0
Summary: Locations API
Home-page: https://phoenixnap.com/bare-metal-cloud
Author: PhoenixNAP Team
Author-email: support@phoenixnap.com
License: Apache 2.0
Project-URL: Repository, https://github.com/phoenixnap/python-sdk-bmc
Keywords: OpenAPI,OpenAPI-Generator,Locations API
Platform: UNKNOWN
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: urllib3 (>=1.25.3)
Requires-Dist: python-dateutil

# pnap-location-api
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)

This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:

- API version: 1.0
For more information, please visit [https://phoenixnap.com](https://phoenixnap.com)

## Requirements.

Python >=3.6

## Installation & Usage
### pip install

You can install this package directly from the [Python Package Index](https://pypi.org/) using:

```sh
$ pip install pnap_location_api
```

Then import the package:
```python
import pnap_location_api
```

### Setuptools

Install via [Setuptools](http://pypi.python.org/pypi/setuptools).

```sh
python setup.py install --user
```
(or `sudo python setup.py install` to install the package for all users)

Then import the package:
```python
import pnap_location_api
```

## Getting Started

Please follow the [installation procedure](#installation--usage) and then run the following:

```python

import time
import pnap_location_api
from pprint import pprint
from pnap_location_api.api import locations_api
from pnap_location_api.model.error import Error
from pnap_location_api.model.location import Location
from pnap_location_api.model.location_enum import LocationEnum
from pnap_location_api.model.product_category_enum import ProductCategoryEnum
# Defining the host is optional and defaults to https://api.phoenixnap.com/location-api/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = pnap_location_api.Configuration(
    host = "https://api.phoenixnap.com/location-api/v1"
)



# Enter a context with an instance of the API client
with pnap_location_api.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = locations_api.LocationsApi(api_client)
    location = LocationEnum("ASH") # LocationEnum | Location of interest (optional)
    product_category = ProductCategoryEnum("SERVER") # ProductCategoryEnum | Product category of interest (optional)

    try:
        # Get All Locations
        api_response = api_instance.get_locations(location=location, product_category=product_category)
        pprint(api_response)
    except pnap_location_api.ApiException as e:
        print("Exception when calling LocationsApi->get_locations: %s\n" % e)
```

To generate a token using the [python-keycloak](https://pypi.org/project/python-keycloak/) library:
```python
from keycloak import KeycloakOpenID

clientId = "YOUR_CLIENT_ID"
clientSecret = "YOUR_CLIENT_SECRET"
serverUrl = "https://auth.phoenixnap.com/auth/"
realmName = "BMC"
grantType = "client_credentials"

keycloakOpenId =  KeycloakOpenID(server_url=serverUrl,
                        realm_name=realmName,
                        client_id=clientId,
                        client_secret_key=clientSecret)

ACCESS_TOKEN = keycloakOpenId.token(grant_type=grantType)['access_token']
```

## Documentation for API Endpoints

All URIs are relative to *https://api.phoenixnap.com/location-api/v1*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*LocationsApi* | [**get_locations**](docs/LocationsApi.md#get_locations) | **GET** /locations | Get All Locations


## Documentation For Models

 - [Error](docs/Error.md)
 - [Location](docs/Location.md)
 - [LocationEnum](docs/LocationEnum.md)
 - [ProductCategory](docs/ProductCategory.md)
 - [ProductCategoryEnum](docs/ProductCategoryEnum.md)


## Documentation For Authorization

 All endpoints do not require authorization.

## Author

support@phoenixnap.com


## Notes for Large OpenAPI documents
If the OpenAPI document is large, imports in pnap_location_api.apis and pnap_location_api.models may fail with a
RecursionError indicating the maximum recursion limit has been exceeded. In that case, there are a couple of solutions:

Solution 1:
Use specific imports for apis and models like:
- `from pnap_location_api.api.default_api import DefaultApi`
- `from pnap_location_api.model.pet import Pet`

Solution 2:
Before importing the package, adjust the maximum recursion limit as shown below:
```
import sys
sys.setrecursionlimit(1500)
import pnap_location_api
from pnap_location_api.apis import *
from pnap_location_api.models import *
```



