Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

pnap_billing_api

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pnap_billing_api

  • 2.0.0
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

pnap_billing_api

BillingApi - the Ruby gem for the Billing API

Automate your infrastructure billing with the Bare Metal Cloud Billing API. Reserve your server instances to ensure guaranteed resource availability for 12, 24, and 36 months. Retrieve your server’s rated usage for a given period and enable or disable auto-renewals.

Knowledge base articles to help you can be found here

All URLs are relative to (https://api.phoenixnap.com/billing/v1/)

This SDK is automatically generated by the OpenAPI Generator project:

Installation

Build a gem

To build the Ruby code into a gem:

gem build pnap_billing_api.gemspec

Then either install the gem locally, replacing <VERSION> with the actual version:

gem install ./pnap_billing_api-<VERSION>.gem

(for development, run gem install --dev ./pnap_billing_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_billing_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_billing_api', git: 'https://github.com/phoenixnap/ruby-sdk-bmc-poc', glob: 'BillingApi/*.gemspec'

If you'd like the development version:

gem 'pnap_billing_api', git: 'https://github.com/phoenixnap/ruby-sdk-bmc-poc', glob: 'BillingApi/*.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_billing_api'

# Setup authorization
BillingApi.configure do |config|
  # Configure OAuth2 access token for authorization: OAuth2
  config.access_token = 'YOUR ACCESS TOKEN'
  # Configure a proc to get access tokens in lieu of the static access_token configuration
  config.access_token_getter = -> { 'YOUR TOKEN GETTER PROC' } 
end

api_instance = BillingApi::BillingConfigurationsApi.new

begin
  #Retrieves billing configuration associated with the authenticated account.
  result = api_instance.account_billing_configuration_me_get
  p result
rescue BillingApi::ApiError => e
  puts "Exception when calling BillingConfigurationsApi->account_billing_configuration_me_get: #{e}"
end

Authorization can also be setup by using the oauth library:

# Load the gem
require 'pnap_billing_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
BillingApi.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/billing/v1

ClassMethodHTTP requestDescription
BillingApi::BillingConfigurationsApiaccount_billing_configuration_me_getGET /account-billing-configurations/meRetrieves billing configuration associated with the authenticated account.
BillingApi::ProductAvailabilityApiproduct_availability_getGET /product-availabilityList all Product availabilities.
BillingApi::ProductsApiproducts_getGET /productsList all Products.
BillingApi::RatedUsageApirated_usage_getGET /rated-usageList the rated usage.
BillingApi::RatedUsageApirated_usage_month_to_date_getGET /rated-usage/month-to-dateList the rated usage records for the current calendar month.
BillingApi::ReservationsApireservations_getGET /reservationsList all Reservations.
BillingApi::ReservationsApireservations_postPOST /reservationsCreate a reservation.
BillingApi::ReservationsApireservations_reservation_id_actions_auto_renew_disable_postPOST /reservations/{id}/actions/auto-renew/disableDisable auto-renewal for reservation by id.
BillingApi::ReservationsApireservations_reservation_id_actions_auto_renew_enable_postPOST /reservations/{id}/actions/auto-renew/enableEnable auto-renewal for unexpired reservation by reservation id.
BillingApi::ReservationsApireservations_reservation_id_actions_convert_postPOST /reservations/{id}/actions/convertConvert reservation pricing model by reservation ID.
BillingApi::ReservationsApireservations_reservation_id_getGET /reservations/{id}Get a reservation.

Documentation for Models

Documentation for Authorization

Authentication schemes defined for the API:

OAuth2

  • Type: OAuth
  • Flow: application
  • Authorization URL:
  • Scopes:
    • bmc: Grants full access to bmc-api.
    • bmc.read: Grants read only access to bmc-api.

FAQs

Package last updated on 13 Mar 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc