pnap_network_api
NetworkApi - the Ruby gem for the Networks API
Use the Networks API to create, list, edit, and delete private networks to best fit your business needs.
Private networks allow your servers to communicate without connecting to the public internet, avoiding unnecessary
egress data charges.
Knowledge base articles to help you can be found
here
All URLs are relative to (https://api.phoenixnap.com/networks/v1/)
This SDK is automatically generated by the OpenAPI Generator project:
- API version: 1.0 For more information, please visit https://phoenixnap.com/
Installation
Build a gem
To build the Ruby code into a gem:
gem build pnap_network_api.gemspec
Then either install the gem locally, replacing <VERSION> with the actual version:
gem install ./pnap_network_api-<VERSION>.gem
(for development, run gem install --dev ./pnap_network_api-<VERSION>.gem to install the development dependencies)
or publish the gem to a gem hosting service, e.g. RubyGems.
Finally add this to the Gemfile:
gem 'pnap_network_api', '~> <VERSION>'
Install from Git
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:
gem 'pnap_network_api', git: 'https://github.com/phoenixnap/ruby-sdk-bmc-poc', glob: 'NetworkApi/*.gemspec'
If you'd like the development version:
gem 'pnap_network_api', git: 'https://github.com/phoenixnap/ruby-sdk-bmc-poc', glob: 'NetworkApi/*.gemspec', branch: 'develop'
Then run bundle install.
Include the Ruby code directly
Include the Ruby code directly using -I as follows:
ruby -Ilib script.rb
Getting Started
Please follow the installation procedure and then run the following code:
# Load the gem
require 'pnap_network_api'
# Setup authorization
NetworkApi.configure do |config|
# Configure OAuth2 access token for authorization: OAuth2
config.access_token = 'YOUR ACCESS TOKEN'
end
api_instance = NetworkApi::PrivateNetworksApi.new
opts = {
location: 'PHX' # String | If present will filter the result by the given location of the Private Networks.
}
begin
#List Private Networks.
result = api_instance.private_networks_get(opts)
p result
rescue NetworkApi::ApiError => e
puts "Exception when calling PrivateNetworksApi->private_networks_get: #{e}"
end
Authorization can also be setup by using the oauth library:
# Load the gem
require 'pnap_network_api'
require 'oauth2'
# Setup variables for getting a token.
client_id = 'YOUR_CLIENT_ID'
client_secret = 'YOUR_CLIENT_SECRET'
auth_url = 'https://auth.phoenixnap.com/auth/realms/BMC/protocol/openid-connect/token'
# Setup authorization
NetworkApi.configure do |config|
# Retrieve the token using OAuth2.
client = OAuth2::Client.new(client_id, client_secret, token_url: auth_url)
token = client.client_credentials.get_token
# Configure OAuth2 access token for authorization: OAuth2
config.access_token = token.token
end
Documentation for API Endpoints
All URIs are relative to https://api.phoenixnap.com/networks/v1
| Class | Method | HTTP request | Description |
|---|---|---|---|
| NetworkApi::PrivateNetworksApi | private_networks_get | GET /private-networks | List Private Networks. |
| NetworkApi::PrivateNetworksApi | private_networks_network_id_delete | DELETE /private-networks/privateNetworkId | Delete a Private Network. |
| NetworkApi::PrivateNetworksApi | private_networks_network_id_get | GET /private-networks/privateNetworkId | Get a Private Network. |
| NetworkApi::PrivateNetworksApi | private_networks_network_id_put | PUT /private-networks/privateNetworkId | Update a Private Network. |
| NetworkApi::PrivateNetworksApi | private_networks_post | POST /private-networks | Create a Private Network. |
Documentation for Models
- NetworkApi::Error
- NetworkApi::PrivateNetwork
- NetworkApi::PrivateNetworkCreate
- NetworkApi::PrivateNetworkModify
- NetworkApi::PrivateNetworkServer
Documentation for Authorization
OAuth2
- Type: OAuth
- Flow: application
- Authorization URL:
- Scopes:
- bmc: Grants full access to bmc-api.
- bmc.read: Grants read only access to bmc-api.