pnap_location_api 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: ab7be44e474a0ef90f27d40ffd6c315fb7d2c092168bc7fd9fb0c466dad109b2
4
+ data.tar.gz: bf01c02c183f80d47d1e72a2203c10e75a4b5009a220e39b8d0a7050b1dafbd5
5
+ SHA512:
6
+ metadata.gz: 52e5bb9b67dd0ff803e0e8c919a80812b36f7fef87d8dc9a0e04792cba701493e54d54b532b4f24317a685232514fc91cbbb5eed54ad80841c84817c0f31c981
7
+ data.tar.gz: 4d451141a1025e8af54cfad191871aa5107ca6628bd9436279f7b3ff9338589892d157d4a6fd87ae68f9b7f8968197c31506519b6da9a4677cf9f3b263c880cd
data/Gemfile ADDED
@@ -0,0 +1,9 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ group :development, :test do
6
+ gem 'rake', '~> 13.0.1'
7
+ gem 'pry-byebug'
8
+ gem 'rubocop', '~> 0.66.0'
9
+ end
data/README.md ADDED
@@ -0,0 +1,116 @@
1
+ # pnap_location_api
2
+
3
+ LocationApi - the Ruby gem for the Locations API
4
+
5
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+
7
+ This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
8
+
9
+ - API version: 1.0
10
+ For more information, please visit [https://phoenixnap.com](https://phoenixnap.com)
11
+
12
+ ## Installation
13
+
14
+ ### Build a gem
15
+
16
+ To build the Ruby code into a gem:
17
+
18
+ ```shell
19
+ gem build pnap_location_api.gemspec
20
+ ```
21
+
22
+ Then either install the gem locally, replacing `<VERSION>` with the actual version:
23
+
24
+ ```shell
25
+ gem install ./pnap_location_api-<VERSION>.gem
26
+ ```
27
+
28
+ (for development, run `gem install --dev ./pnap_location_api-<VERSION>.gem` to install the development dependencies)
29
+
30
+ or publish the gem to a gem hosting service, e.g. [RubyGems](https://rubygems.org/).
31
+
32
+ Finally add this to the Gemfile:
33
+
34
+ gem 'pnap_location_api', '~> <VERSION>'
35
+
36
+ ### Install from Git
37
+
38
+ To install this Gem from this repository, you'll need to get Bundler by doing `gem install bundler`. Add the following line in your Gemfile:
39
+
40
+ gem 'pnap_location_api', git: 'https://github.com/phoenixnap/ruby-sdk-bmc-poc', glob: 'LocationApi/*.gemspec'
41
+
42
+ If you'd like the development version:
43
+
44
+ gem 'pnap_location_api', git: 'https://github.com/phoenixnap/ruby-sdk-bmc-poc', glob: 'LocationApi/*.gemspec', branch: 'develop'
45
+
46
+ Then run `bundle install`.
47
+
48
+ ### Include the Ruby code directly
49
+
50
+ Include the Ruby code directly using `-I` as follows:
51
+
52
+ ```shell
53
+ ruby -Ilib script.rb
54
+ ```
55
+
56
+ ## Getting Started
57
+
58
+ Please follow the [installation](#installation) procedure and then run the following code:
59
+
60
+ ```ruby
61
+ # Load the gem
62
+ require 'pnap_location_api'
63
+
64
+ api_instance = LocationApi::LocationsApi.new
65
+ opts = {
66
+ location: LocationApi::LocationEnum::PHX, # LocationEnum | Location of interest
67
+ product_category: LocationApi::ProductCategoryEnum::SERVER # ProductCategoryEnum | Product category of interest
68
+ }
69
+
70
+ begin
71
+ #Get All Locations
72
+ result = api_instance.get_locations(opts)
73
+ p result
74
+ rescue LocationApi::ApiError => e
75
+ puts "Exception when calling LocationsApi->get_locations: #{e}"
76
+ end
77
+
78
+ ```
79
+
80
+ Authorization can also be setup by using the [`oauth`](https://github.com/oauth-xx/oauth2) library:
81
+
82
+ ```ruby
83
+ # Load the gem
84
+ require 'pnap_location_api'
85
+ require 'oauth2'
86
+
87
+ # Setup variables for getting a token.
88
+ client_id = 'YOUR_CLIENT_ID'
89
+ client_secret = 'YOUR_CLIENT_SECRET'
90
+ auth_url = 'https://auth.phoenixnap.com/auth/realms/BMC/protocol/openid-connect/token'
91
+
92
+
93
+ ```
94
+
95
+ ## Documentation for API Endpoints
96
+
97
+ All URIs are relative to *https://api.phoenixnap.com/location-api/v1*
98
+
99
+ Class | Method | HTTP request | Description
100
+ ------------ | ------------- | ------------- | -------------
101
+ *LocationApi::LocationsApi* | [**get_locations**](docs/LocationsApi.md#get_locations) | **GET** /locations | Get All Locations
102
+
103
+
104
+ ## Documentation for Models
105
+
106
+ - [LocationApi::Error](docs/Error.md)
107
+ - [LocationApi::Location](docs/Location.md)
108
+ - [LocationApi::LocationEnum](docs/LocationEnum.md)
109
+ - [LocationApi::ProductCategory](docs/ProductCategory.md)
110
+ - [LocationApi::ProductCategoryEnum](docs/ProductCategoryEnum.md)
111
+
112
+
113
+ ## Documentation for Authorization
114
+
115
+ All endpoints do not require authorization.
116
+
data/Rakefile ADDED
@@ -0,0 +1,10 @@
1
+ require "bundler/gem_tasks"
2
+
3
+ begin
4
+ require 'rspec/core/rake_task'
5
+
6
+ RSpec::Core::RakeTask.new(:spec)
7
+ task default: :spec
8
+ rescue LoadError
9
+ # no rspec available
10
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.0.0
data/docs/Error.md ADDED
@@ -0,0 +1,20 @@
1
+ # LocationApi::Error
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **message** | **String** | The description detailing the cause of the error code. | [readonly] |
8
+ | **validation_errors** | **Array&lt;String&gt;** | Validation errors, if any. | [optional][readonly] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'pnap_location_api'
14
+
15
+ instance = LocationApi::Error.new(
16
+ message: null,
17
+ validation_errors: null
18
+ )
19
+ ```
20
+
data/docs/Location.md ADDED
@@ -0,0 +1,22 @@
1
+ # LocationApi::Location
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **location** | [**LocationEnum**](LocationEnum.md) | | |
8
+ | **location_description** | **String** | | [optional] |
9
+ | **product_categories** | [**Array&lt;ProductCategory&gt;**](ProductCategory.md) | | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'pnap_location_api'
15
+
16
+ instance = LocationApi::Location.new(
17
+ location: null,
18
+ location_description: Phoenix, USA,
19
+ product_categories: null
20
+ )
21
+ ```
22
+
@@ -0,0 +1,15 @@
1
+ # LocationApi::LocationEnum
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+
8
+ ## Example
9
+
10
+ ```ruby
11
+ require 'pnap_location_api'
12
+
13
+ instance = LocationApi::LocationEnum.new()
14
+ ```
15
+
@@ -0,0 +1,76 @@
1
+ # LocationApi::LocationsApi
2
+
3
+ All URIs are relative to *https://api.phoenixnap.com/location-api/v1*
4
+
5
+ | Method | HTTP request | Description |
6
+ | ------ | ------------ | ----------- |
7
+ | [**get_locations**](LocationsApi.md#get_locations) | **GET** /locations | Get All Locations |
8
+
9
+
10
+ ## get_locations
11
+
12
+ > <Array<Location>> get_locations(opts)
13
+
14
+ Get All Locations
15
+
16
+ Retrieve the locations info.
17
+
18
+ ### Examples
19
+
20
+ ```ruby
21
+ require 'time'
22
+ require 'pnap_location_api'
23
+
24
+ api_instance = LocationApi::LocationsApi.new
25
+ opts = {
26
+ location: LocationApi::LocationEnum::PHX, # LocationEnum | Location of interest
27
+ product_category: LocationApi::ProductCategoryEnum::SERVER # ProductCategoryEnum | Product category of interest
28
+ }
29
+
30
+ begin
31
+ # Get All Locations
32
+ result = api_instance.get_locations(opts)
33
+ p result
34
+ rescue LocationApi::ApiError => e
35
+ puts "Error when calling LocationsApi->get_locations: #{e}"
36
+ end
37
+ ```
38
+
39
+ #### Using the get_locations_with_http_info variant
40
+
41
+ This returns an Array which contains the response data, status code and headers.
42
+
43
+ > <Array(<Array<Location>>, Integer, Hash)> get_locations_with_http_info(opts)
44
+
45
+ ```ruby
46
+ begin
47
+ # Get All Locations
48
+ data, status_code, headers = api_instance.get_locations_with_http_info(opts)
49
+ p status_code # => 2xx
50
+ p headers # => { ... }
51
+ p data # => <Array<Location>>
52
+ rescue LocationApi::ApiError => e
53
+ puts "Error when calling LocationsApi->get_locations_with_http_info: #{e}"
54
+ end
55
+ ```
56
+
57
+ ### Parameters
58
+
59
+ | Name | Type | Description | Notes |
60
+ | ---- | ---- | ----------- | ----- |
61
+ | **location** | [**LocationEnum**](.md) | Location of interest | [optional] |
62
+ | **product_category** | [**ProductCategoryEnum**](.md) | Product category of interest | [optional] |
63
+
64
+ ### Return type
65
+
66
+ [**Array&lt;Location&gt;**](Location.md)
67
+
68
+ ### Authorization
69
+
70
+ No authorization required
71
+
72
+ ### HTTP request headers
73
+
74
+ - **Content-Type**: Not defined
75
+ - **Accept**: application/json
76
+
@@ -0,0 +1,20 @@
1
+ # LocationApi::ProductCategory
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **product_category** | [**ProductCategoryEnum**](ProductCategoryEnum.md) | | |
8
+ | **product_category_description** | **String** | | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'pnap_location_api'
14
+
15
+ instance = LocationApi::ProductCategory.new(
16
+ product_category: null,
17
+ product_category_description: Bare metal server
18
+ )
19
+ ```
20
+
@@ -0,0 +1,15 @@
1
+ # LocationApi::ProductCategoryEnum
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+
8
+ ## Example
9
+
10
+ ```ruby
11
+ require 'pnap_location_api'
12
+
13
+ instance = LocationApi::ProductCategoryEnum.new()
14
+ ```
15
+
@@ -0,0 +1,85 @@
1
+ =begin
2
+ #Locations API
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: support@phoenixnap.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.1.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module LocationApi
16
+ class LocationsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Get All Locations
23
+ # Retrieve the locations info.
24
+ # @param [Hash] opts the optional parameters
25
+ # @option opts [LocationEnum] :location Location of interest
26
+ # @option opts [ProductCategoryEnum] :product_category Product category of interest
27
+ # @return [Array<Location>]
28
+ def get_locations(opts = {})
29
+ data, _status_code, _headers = get_locations_with_http_info(opts)
30
+ data
31
+ end
32
+
33
+ # Get All Locations
34
+ # Retrieve the locations info.
35
+ # @param [Hash] opts the optional parameters
36
+ # @option opts [LocationEnum] :location Location of interest
37
+ # @option opts [ProductCategoryEnum] :product_category Product category of interest
38
+ # @return [Array<(Array<Location>, Integer, Hash)>] Array<Location> data, response status code and response headers
39
+ def get_locations_with_http_info(opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: LocationsApi.get_locations ...'
42
+ end
43
+ # resource path
44
+ local_var_path = '/locations'
45
+
46
+ # query parameters
47
+ query_params = opts[:query_params] || {}
48
+ query_params[:'location'] = opts[:'location'] if !opts[:'location'].nil?
49
+ query_params[:'productCategory'] = opts[:'product_category'] if !opts[:'product_category'].nil?
50
+
51
+ # header parameters
52
+ header_params = opts[:header_params] || {}
53
+ # HTTP header 'Accept' (if needed)
54
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
55
+
56
+ # form parameters
57
+ form_params = opts[:form_params] || {}
58
+
59
+ # http body (model)
60
+ post_body = opts[:debug_body]
61
+
62
+ # return_type
63
+ return_type = opts[:debug_return_type] || 'Array<Location>'
64
+
65
+ # auth_names
66
+ auth_names = opts[:debug_auth_names] || []
67
+
68
+ new_options = opts.merge(
69
+ :operation => :"LocationsApi.get_locations",
70
+ :header_params => header_params,
71
+ :query_params => query_params,
72
+ :form_params => form_params,
73
+ :body => post_body,
74
+ :auth_names => auth_names,
75
+ :return_type => return_type
76
+ )
77
+
78
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
79
+ if @api_client.config.debugging
80
+ @api_client.config.logger.debug "API called: LocationsApi#get_locations\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
81
+ end
82
+ return data, status_code, headers
83
+ end
84
+ end
85
+ end