vantage-client 0.0.8 → 0.1.0.beta.2
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 +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +120 -62
- data/docs/Cost.md +11 -0
- data/docs/Costs.md +11 -0
- data/docs/CostsApi.md +177 -0
- data/docs/PingApi.md +1 -1
- data/docs/PricesApi.md +30 -7
- data/docs/Report.md +13 -0
- data/docs/Reports.md +9 -0
- data/lib/vantage-client/api/costs_api.rb +185 -0
- data/lib/vantage-client/api/ping_api.rb +3 -3
- data/lib/vantage-client/api/prices_api.rb +25 -1
- data/lib/vantage-client/api_client.rb +1 -1
- data/lib/vantage-client/api_error.rb +1 -1
- data/lib/vantage-client/configuration.rb +1 -1
- data/lib/vantage-client/models/cost.rb +215 -0
- data/lib/vantage-client/models/costs.rb +216 -0
- data/lib/vantage-client/models/price.rb +1 -1
- data/lib/vantage-client/models/prices.rb +1 -1
- data/lib/vantage-client/models/product.rb +1 -1
- data/lib/vantage-client/models/products.rb +1 -1
- data/lib/vantage-client/models/provider.rb +1 -1
- data/lib/vantage-client/models/providers.rb +1 -1
- data/lib/vantage-client/models/report.rb +235 -0
- data/lib/vantage-client/models/reports.rb +196 -0
- data/lib/vantage-client/models/service.rb +1 -1
- data/lib/vantage-client/models/services.rb +1 -1
- data/lib/vantage-client/version.rb +2 -2
- data/lib/vantage-client.rb +6 -1
- data/spec/.DS_Store +0 -0
- data/spec/api/costs_api_spec.rb +73 -0
- data/spec/api/ping_api_spec.rb +2 -2
- data/spec/api/prices_api_spec.rb +9 -1
- data/spec/api_client_spec.rb +1 -1
- data/spec/configuration_spec.rb +1 -1
- data/spec/models/cost_spec.rb +59 -0
- data/spec/models/costs_spec.rb +59 -0
- data/spec/models/price_spec.rb +1 -1
- data/spec/models/prices_spec.rb +1 -1
- data/spec/models/product_spec.rb +1 -1
- data/spec/models/products_spec.rb +1 -1
- data/spec/models/provider_spec.rb +1 -1
- data/spec/models/providers_spec.rb +1 -1
- data/spec/models/report_spec.rb +71 -0
- data/spec/models/reports_spec.rb +47 -0
- data/spec/models/service_spec.rb +1 -1
- data/spec/models/services_spec.rb +1 -1
- data/spec/spec_helper.rb +1 -1
- data/vantage-client-0.1.0.beta.1.gem +0 -0
- data/vantage-client.gemspec +1 -1
- metadata +26 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0ba97924389a3cead3481d19d7f95993018c6df91015ad0b0df04d2c179b5abc
|
4
|
+
data.tar.gz: e376f9f9fc5d811c5d9f4f6ef6fc251e5156646048ec8e7e923b4f72f1713a7b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b813831e4dad14c149b0f50e09e792a93b2fcea7b1446ab5e4f05f195f72a8eb7c73f8d543a791b506834abc5dd8ee7164703d918aa573451482b695c52327d0
|
7
|
+
data.tar.gz: da561d16a3a8b7ef6a3ed5f470c9297c365338e4518dc90e6031fda3669920fef977570105fa78e541456f753e4233be96c915867cbfb639560c8b723fa67319
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -1,113 +1,171 @@
|
|
1
1
|
[](https://www.travis-ci.com/vantage-sh/vantage-ruby)
|
2
2
|
|
3
|
-
#
|
3
|
+
# Vantage Ruby Client
|
4
4
|
|
5
|
-
Vantage -
|
5
|
+

|
6
6
|
|
7
|
-
Vantage API
|
8
7
|
|
9
|
-
This
|
8
|
+
[Vantage](http://vantage.sh/) is a cloud cost transparency platform. This is the official Ruby client for the [Vantage API](http://vantage.readme.io/). You can use the API to get EC2 instance price and product information through a few simple-to-use API calls. The data offered through this API is heavily inspired from data avaiable from [ec2instances.info](http://ec2instances.info/). The feedback we get from users is that this API is significantly easier than learning and using AWS Pricing APIs. We have plans to expand the data available through this API in the future.
|
10
9
|
|
11
|
-
|
12
|
-
- Package version: 0.0.6
|
13
|
-
- Build package: io.swagger.codegen.languages.RubyClientCodegen
|
14
|
-
For more information, please visit [https://www.vantage.sh](https://www.vantage.sh)
|
10
|
+
## Need Help?
|
15
11
|
|
16
|
-
|
17
|
-
|
18
|
-
### Build a gem
|
19
|
-
|
20
|
-
To build the Ruby code into a gem:
|
12
|
+
Feel free to join us in our [community Slack](https://join.slack.com/t/vantagecommunity/shared_invite/zt-oey52myv-gq4AWRKkX25kjp1UGziPTw) in the #api channel. We're happy to chat and help. You're also welcome to email support@vantage.sh or ping [@JoinVantage](https://twitter.com/joinvantage) on Twitter and we're happy to give assistance. Lastly, we monitor issues on this repo if you have any feature requests or issues.
|
21
13
|
|
22
|
-
|
23
|
-
gem build vantage-client.gemspec
|
24
|
-
```
|
14
|
+
## Installation
|
25
15
|
|
26
|
-
|
16
|
+
The easiest way to get going is to install the client through RubyGems:
|
27
17
|
|
28
18
|
```shell
|
29
|
-
gem install
|
19
|
+
gem install vantage-client
|
30
20
|
```
|
31
|
-
(for development, run `gem install --dev ./vantage-client-0.0.6.gem` to install the development dependencies)
|
32
|
-
|
33
|
-
or publish the gem to a gem hosting service, e.g. [RubyGems](https://rubygems.org/).
|
34
|
-
|
35
|
-
Finally add this to the Gemfile:
|
36
21
|
|
37
|
-
|
22
|
+
## Generate a Free API Token
|
23
|
+
The Vantage API is provided completely for free but requires an API token to use. To generate a free API token, follow these steps:
|
38
24
|
|
39
|
-
|
25
|
+
* Head to [http://vantage.sh/](http://vantage.sh/)
|
26
|
+
* Register a free account and confirm your email
|
27
|
+
* When you're asked _"What would you like to do first?"_ click _"Access Cloud Pricing API"_
|
28
|
+
* Create an API token from the account profile page and you're all set
|
40
29
|
|
41
|
-
|
30
|
+
You'll only need to do this once and you can use your API token for all usage going forward.
|
42
31
|
|
43
|
-
|
32
|
+
## API Primitives
|
44
33
|
|
45
|
-
|
34
|
+
The Vantage API is currently organized into four different primitives. Understanding the relationships between these primitives will be helpful as you onboard to the API. Since Vantage only supports EC2 on AWS at the moment, this is provided mainly to show how we are looking at support for future data:
|
46
35
|
|
47
|
-
|
36
|
+
* **Providers**: Providers are the highest level API Primitive. A Provider represents either cloud infrastructure provider or a cloud service provider. Some examples of Providers include AWS, GCP or Azure. Providers offer many Services, which is documented below.
|
37
|
+
* **Services**: Services are what Providers offer to their customers. A Service is always tied to a Provider. Some examples of Services are EC2 or S3 from a Provider of AWS. A Service has one or more Products offered, which is documented below.
|
38
|
+
* **Products**: Products are what Services ultimately price on. Using the example of a Provider of 'AWS' and a Service of 'EC2', Products would be the individual EC2 Instance Types available such as 'm5d.16xlarge' or 'c5.xlarge'. A Product has one or more Prices, which is documented below.
|
39
|
+
* **Prices**: A Product has one or more Prices available to it. For example with EC2 instance types, a single instance type may have potential prices including an on-demand price, a spot price or a reserved instance price.
|
48
40
|
|
49
|
-
```shell
|
50
|
-
ruby -Ilib script.rb
|
51
|
-
```
|
52
41
|
|
53
42
|
## Getting Started
|
54
43
|
|
55
|
-
|
44
|
+
Once you've installed the client, you'll want to confirm your API token is working correctly. We offer a "ping" endpoint for testing this and overall API healthiness:
|
45
|
+
|
56
46
|
```ruby
|
57
47
|
# Load the gem
|
58
48
|
require 'vantage-client'
|
59
49
|
|
60
|
-
#
|
50
|
+
# Configure Vantage with your API token. Replace "YOUR_API_TOKEN" with the token you generate.
|
61
51
|
Vantage.configure do |config|
|
62
|
-
|
63
|
-
config.access_token = 'YOUR ACCESS TOKEN'
|
52
|
+
config.access_token = 'YOUR_API_TOKEN'
|
64
53
|
end
|
65
54
|
|
66
|
-
api_instance = Vantage::
|
55
|
+
api_instance = Vantage::CostsApi.new
|
56
|
+
|
57
|
+
report_id = 'report_id_example' # String |
|
58
|
+
|
59
|
+
opts = {
|
60
|
+
start_date: 'start_date_example', # String | Query costs by the first date you would like to filter from. ISO 8601 Formatted - 2021-07-15 or 2021-07-15T19:20:48+00:00.
|
61
|
+
end_date: 'end_date_example' # String | Query costs by the last date you would like to filter to. ISO 8601 Formatted - 2021-07-15 or 2021-07-15T19:20:48+00:00.
|
62
|
+
}
|
67
63
|
|
68
64
|
begin
|
69
|
-
api_instance.
|
65
|
+
result = api_instance.get_costs(report_id, opts)
|
66
|
+
p result
|
70
67
|
rescue Vantage::ApiError => e
|
71
|
-
puts "Exception when calling
|
68
|
+
puts "Exception when calling CostsApi->get_costs: #{e}"
|
69
|
+
end
|
70
|
+
|
71
|
+
# {
|
72
|
+
# :ping => "pong"
|
73
|
+
# }
|
74
|
+
|
75
|
+
```
|
76
|
+
|
77
|
+
## Getting EC2 Instance Information
|
78
|
+
|
79
|
+
Getting EC2 instance product information is one of the most used functions of the API. Here's an example of how to get product information for a c5.xlarge EC2 instance:
|
80
|
+
|
81
|
+
```ruby
|
82
|
+
|
83
|
+
# Load the gem
|
84
|
+
require 'vantage-client'
|
85
|
+
|
86
|
+
# Configure Vantage with your API token. Replace "YOUR_API_TOKEN" with the token you generate.
|
87
|
+
Vantage.configure do |config|
|
88
|
+
config.access_token = 'YOUR_API_TOKEN'
|
72
89
|
end
|
73
90
|
|
91
|
+
# The Vantage::PricesApi class helps get simple information
|
92
|
+
vantage_client = Vantage::PricesApi.new
|
93
|
+
|
94
|
+
# Find all instances with the instance type name of 'c5.xlarge'
|
95
|
+
response = vantage_client.get_products(name: 'c5.xlarge')
|
96
|
+
|
97
|
+
# See the entire response
|
98
|
+
puts response.products.first
|
99
|
+
# {
|
100
|
+
# :id=>"aws-ec2-c5_xlarge",
|
101
|
+
# :category=>"compute",
|
102
|
+
# :name=>"c5.xlarge",
|
103
|
+
# :service_id=>"aws-ec2",
|
104
|
+
# :provider_id=>"aws",
|
105
|
+
# :details=>{
|
106
|
+
# :gpu=>0,
|
107
|
+
# :name=>"C5 High-CPU Extra Large",
|
108
|
+
# :vcpu=>4,
|
109
|
+
# :memory=>8.0,
|
110
|
+
# :storage=>nil,
|
111
|
+
# :clock_speed_ghz=>3.0,
|
112
|
+
# :physical_processor_description=>"Intel Xeon Platinum 8124M",
|
113
|
+
# :network_performance_description=>"Up to 10 Gigabit"
|
114
|
+
# }
|
115
|
+
# }
|
116
|
+
|
74
117
|
```
|
75
118
|
|
76
|
-
##
|
119
|
+
## Getting EC2 Instance Pricing
|
120
|
+
|
121
|
+
Getting the price of an EC2 instance is also easy to do. Here's an example of how to get the price for a c5.xlarge. You'll need the product ID from the prior call to retrive prices. Note that Vantage will return all prices across all regions, platforms and lifecycle so client-side you'll want to filter for the appropriate region, platform and lifecycle.
|
122
|
+
|
123
|
+
The price returned in the example below will give you the **on-demand** price for a **linux** EC2 instance in **us-east-1**.
|
124
|
+
|
125
|
+
```ruby
|
77
126
|
|
78
|
-
|
127
|
+
# Load the gem
|
128
|
+
require 'vantage-client'
|
79
129
|
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
*Vantage::PricesApi* | [**get_prices**](docs/PricesApi.md#get_prices) | **GET** /v1/products/{product_id}/prices |
|
85
|
-
*Vantage::PricesApi* | [**get_product**](docs/PricesApi.md#get_product) | **GET** /v1/products/{id} |
|
86
|
-
*Vantage::PricesApi* | [**get_products**](docs/PricesApi.md#get_products) | **GET** /v1/products |
|
87
|
-
*Vantage::PricesApi* | [**get_providers**](docs/PricesApi.md#get_providers) | **GET** /v1/providers |
|
88
|
-
*Vantage::PricesApi* | [**get_services**](docs/PricesApi.md#get_services) | **GET** /v1/services |
|
130
|
+
# Configure Vantage with your API token. Replace "YOUR_API_TOKEN" with the token you generate.
|
131
|
+
Vantage.configure do |config|
|
132
|
+
config.access_token = 'YOUR_API_TOKEN'
|
133
|
+
end
|
89
134
|
|
135
|
+
# The Vantage::PricesApi class helps get simple information
|
136
|
+
vantage_client = Vantage::PricesApi.new
|
137
|
+
|
138
|
+
# Find all prices using the product ID returned in the previous example
|
139
|
+
# Note that this will return all prices across all regions and platform types by default.
|
140
|
+
response = vantage_client.get_prices('aws-ec2-c5_xlarge')
|
141
|
+
|
142
|
+
puts response.prices.first
|
143
|
+
# {
|
144
|
+
# :id=>"aws-ec2-c5_xlarge-us_east_1-on_demand-linux",
|
145
|
+
# :unit=>"hour",
|
146
|
+
# :region=>"us-east-1",
|
147
|
+
# :rate_type=>"compute",
|
148
|
+
# :currency=>"USD",
|
149
|
+
# :amount=>0.17,
|
150
|
+
# :details=>{
|
151
|
+
# :platform=>"linux",
|
152
|
+
# :lifecycle=>"on-demand"
|
153
|
+
# }
|
154
|
+
# }
|
155
|
+
```
|
90
156
|
|
91
157
|
## Documentation for Models
|
92
158
|
|
159
|
+
- [Vantage::Cost](docs/Cost.md)
|
160
|
+
- [Vantage::Costs](docs/Costs.md)
|
93
161
|
- [Vantage::Price](docs/Price.md)
|
94
162
|
- [Vantage::Prices](docs/Prices.md)
|
95
163
|
- [Vantage::Product](docs/Product.md)
|
96
164
|
- [Vantage::Products](docs/Products.md)
|
97
165
|
- [Vantage::Provider](docs/Provider.md)
|
98
166
|
- [Vantage::Providers](docs/Providers.md)
|
167
|
+
- [Vantage::Report](docs/Report.md)
|
168
|
+
- [Vantage::Reports](docs/Reports.md)
|
99
169
|
- [Vantage::Service](docs/Service.md)
|
100
170
|
- [Vantage::Services](docs/Services.md)
|
101
171
|
|
102
|
-
|
103
|
-
## Documentation for Authorization
|
104
|
-
|
105
|
-
|
106
|
-
### oauth2
|
107
|
-
|
108
|
-
- **Type**: OAuth
|
109
|
-
- **Flow**: application
|
110
|
-
- **Authorization URL**:
|
111
|
-
- **Scopes**:
|
112
|
-
- read: Grants read access
|
113
|
-
|
data/docs/Cost.md
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
# Vantage::Cost
|
2
|
+
|
3
|
+
## Properties
|
4
|
+
Name | Type | Description | Notes
|
5
|
+
------------ | ------------- | ------------- | -------------
|
6
|
+
**accrued_at** | **String** | The date the cost was accrued. ISO 8601 Formatted - 2021-07-15 or 2021-07-15T19:20:48+00:00. | [optional]
|
7
|
+
**amount** | **String** | The amount of the cost. | [optional]
|
8
|
+
**provider** | **String** | The service provider where the cost was incurred. e.g. AWS | [optional]
|
9
|
+
**service** | **String** | The service which incurred the cost. e.g. Amazon ElastiCache | [optional]
|
10
|
+
|
11
|
+
|
data/docs/Costs.md
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
# Vantage::Costs
|
2
|
+
|
3
|
+
## Properties
|
4
|
+
Name | Type | Description | Notes
|
5
|
+
------------ | ------------- | ------------- | -------------
|
6
|
+
**links** | **Object** | | [optional]
|
7
|
+
**total** | **String** | The sum of all amounts of costs for the entire report for the requested period. | [optional]
|
8
|
+
**currency** | **String** | The currency both the total and cost amount values are represented in. e.g. USD | [optional]
|
9
|
+
**costs** | [**Array<Cost>**](Cost.md) | | [optional]
|
10
|
+
|
11
|
+
|
data/docs/CostsApi.md
ADDED
@@ -0,0 +1,177 @@
|
|
1
|
+
# Vantage::CostsApi
|
2
|
+
|
3
|
+
All URIs are relative to *https://api.vantage.sh*
|
4
|
+
|
5
|
+
Method | HTTP request | Description
|
6
|
+
------------- | ------------- | -------------
|
7
|
+
[**get_costs**](CostsApi.md#get_costs) | **GET** /v1/reports/{report_id}/costs |
|
8
|
+
[**get_report**](CostsApi.md#get_report) | **GET** /v1/reports/{report_id} |
|
9
|
+
[**get_reports**](CostsApi.md#get_reports) | **GET** /v1/reports |
|
10
|
+
|
11
|
+
|
12
|
+
# **get_costs**
|
13
|
+
> Costs get_costs(report_id, opts)
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
Return available Costs for the specified Cost Report and optional time period. If no time period is specified it will return all available costs for the report.
|
18
|
+
|
19
|
+
### Example
|
20
|
+
```ruby
|
21
|
+
# load the gem
|
22
|
+
require 'vantage-client'
|
23
|
+
# setup authorization
|
24
|
+
Vantage.configure do |config|
|
25
|
+
# Configure OAuth2 access token for authorization: oauth2
|
26
|
+
config.access_token = 'YOUR ACCESS TOKEN'
|
27
|
+
end
|
28
|
+
|
29
|
+
api_instance = Vantage::CostsApi.new
|
30
|
+
|
31
|
+
report_id = 'report_id_example' # String |
|
32
|
+
|
33
|
+
opts = {
|
34
|
+
start_date: 'start_date_example', # String | Query costs by the first date you would like to filter from. ISO 8601 Formatted - 2021-07-15 or 2021-07-15T19:20:48+00:00.
|
35
|
+
end_date: 'end_date_example', # String | Query costs by the last date you would like to filter to. ISO 8601 Formatted - 2021-07-15 or 2021-07-15T19:20:48+00:00.
|
36
|
+
page: 2, # Integer | The page of results to return.
|
37
|
+
limit: 500 # Integer | The amount of results to return. The maximum is 1000
|
38
|
+
}
|
39
|
+
|
40
|
+
begin
|
41
|
+
result = api_instance.get_costs(report_id, opts)
|
42
|
+
p result
|
43
|
+
rescue Vantage::ApiError => e
|
44
|
+
puts "Exception when calling CostsApi->get_costs: #{e}"
|
45
|
+
end
|
46
|
+
```
|
47
|
+
|
48
|
+
### Parameters
|
49
|
+
|
50
|
+
Name | Type | Description | Notes
|
51
|
+
------------- | ------------- | ------------- | -------------
|
52
|
+
**report_id** | **String**| |
|
53
|
+
**start_date** | **String**| Query costs by the first date you would like to filter from. ISO 8601 Formatted - 2021-07-15 or 2021-07-15T19:20:48+00:00. | [optional]
|
54
|
+
**end_date** | **String**| Query costs by the last date you would like to filter to. ISO 8601 Formatted - 2021-07-15 or 2021-07-15T19:20:48+00:00. | [optional]
|
55
|
+
**page** | **Integer**| The page of results to return. | [optional]
|
56
|
+
**limit** | **Integer**| The amount of results to return. The maximum is 1000 | [optional]
|
57
|
+
|
58
|
+
### Return type
|
59
|
+
|
60
|
+
[**Costs**](Costs.md)
|
61
|
+
|
62
|
+
### Authorization
|
63
|
+
|
64
|
+
[oauth2](../README.md#oauth2)
|
65
|
+
|
66
|
+
### HTTP request headers
|
67
|
+
|
68
|
+
- **Content-Type**: Not defined
|
69
|
+
- **Accept**: application/json
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
# **get_report**
|
74
|
+
> Report get_report(report_id)
|
75
|
+
|
76
|
+
|
77
|
+
|
78
|
+
Return a Cost Report.
|
79
|
+
|
80
|
+
### Example
|
81
|
+
```ruby
|
82
|
+
# load the gem
|
83
|
+
require 'vantage-client'
|
84
|
+
# setup authorization
|
85
|
+
Vantage.configure do |config|
|
86
|
+
# Configure OAuth2 access token for authorization: oauth2
|
87
|
+
config.access_token = 'YOUR ACCESS TOKEN'
|
88
|
+
end
|
89
|
+
|
90
|
+
api_instance = Vantage::CostsApi.new
|
91
|
+
|
92
|
+
report_id = 'report_id_example' # String |
|
93
|
+
|
94
|
+
|
95
|
+
begin
|
96
|
+
result = api_instance.get_report(report_id)
|
97
|
+
p result
|
98
|
+
rescue Vantage::ApiError => e
|
99
|
+
puts "Exception when calling CostsApi->get_report: #{e}"
|
100
|
+
end
|
101
|
+
```
|
102
|
+
|
103
|
+
### Parameters
|
104
|
+
|
105
|
+
Name | Type | Description | Notes
|
106
|
+
------------- | ------------- | ------------- | -------------
|
107
|
+
**report_id** | **String**| |
|
108
|
+
|
109
|
+
### Return type
|
110
|
+
|
111
|
+
[**Report**](Report.md)
|
112
|
+
|
113
|
+
### Authorization
|
114
|
+
|
115
|
+
[oauth2](../README.md#oauth2)
|
116
|
+
|
117
|
+
### HTTP request headers
|
118
|
+
|
119
|
+
- **Content-Type**: Not defined
|
120
|
+
- **Accept**: application/json
|
121
|
+
|
122
|
+
|
123
|
+
|
124
|
+
# **get_reports**
|
125
|
+
> Reports get_reports(opts)
|
126
|
+
|
127
|
+
|
128
|
+
|
129
|
+
Return all Cost Reports.
|
130
|
+
|
131
|
+
### Example
|
132
|
+
```ruby
|
133
|
+
# load the gem
|
134
|
+
require 'vantage-client'
|
135
|
+
# setup authorization
|
136
|
+
Vantage.configure do |config|
|
137
|
+
# Configure OAuth2 access token for authorization: oauth2
|
138
|
+
config.access_token = 'YOUR ACCESS TOKEN'
|
139
|
+
end
|
140
|
+
|
141
|
+
api_instance = Vantage::CostsApi.new
|
142
|
+
|
143
|
+
opts = {
|
144
|
+
page: 2, # Integer | The page of results to return.
|
145
|
+
limit: 500 # Integer | The amount of results to return. The maximum is 1000
|
146
|
+
}
|
147
|
+
|
148
|
+
begin
|
149
|
+
result = api_instance.get_reports(opts)
|
150
|
+
p result
|
151
|
+
rescue Vantage::ApiError => e
|
152
|
+
puts "Exception when calling CostsApi->get_reports: #{e}"
|
153
|
+
end
|
154
|
+
```
|
155
|
+
|
156
|
+
### Parameters
|
157
|
+
|
158
|
+
Name | Type | Description | Notes
|
159
|
+
------------- | ------------- | ------------- | -------------
|
160
|
+
**page** | **Integer**| The page of results to return. | [optional]
|
161
|
+
**limit** | **Integer**| The amount of results to return. The maximum is 1000 | [optional]
|
162
|
+
|
163
|
+
### Return type
|
164
|
+
|
165
|
+
[**Reports**](Reports.md)
|
166
|
+
|
167
|
+
### Authorization
|
168
|
+
|
169
|
+
[oauth2](../README.md#oauth2)
|
170
|
+
|
171
|
+
### HTTP request headers
|
172
|
+
|
173
|
+
- **Content-Type**: Not defined
|
174
|
+
- **Accept**: application/json
|
175
|
+
|
176
|
+
|
177
|
+
|
data/docs/PingApi.md
CHANGED
@@ -12,7 +12,7 @@ Method | HTTP request | Description
|
|
12
12
|
|
13
13
|
|
14
14
|
|
15
|
-
This is a health check endpoint that can be used to determine Vantage API healthiness. It will return
|
15
|
+
This is a health check endpoint that can be used to determine Vantage API healthiness. It will return 200 if everything is running smoothly.
|
16
16
|
|
17
17
|
### Example
|
18
18
|
```ruby
|
data/docs/PricesApi.md
CHANGED
@@ -67,7 +67,7 @@ Name | Type | Description | Notes
|
|
67
67
|
|
68
68
|
|
69
69
|
# **get_prices**
|
70
|
-
> Prices get_prices(product_id)
|
70
|
+
> Prices get_prices(product_id, opts)
|
71
71
|
|
72
72
|
|
73
73
|
|
@@ -87,9 +87,13 @@ api_instance = Vantage::PricesApi.new
|
|
87
87
|
|
88
88
|
product_id = 'product_id_example' # String |
|
89
89
|
|
90
|
+
opts = {
|
91
|
+
page: 2, # Integer | The page of results to return.
|
92
|
+
limit: 500 # Integer | The amount of results to return. The maximum is 1000
|
93
|
+
}
|
90
94
|
|
91
95
|
begin
|
92
|
-
result = api_instance.get_prices(product_id)
|
96
|
+
result = api_instance.get_prices(product_id, opts)
|
93
97
|
p result
|
94
98
|
rescue Vantage::ApiError => e
|
95
99
|
puts "Exception when calling PricesApi->get_prices: #{e}"
|
@@ -101,6 +105,8 @@ end
|
|
101
105
|
Name | Type | Description | Notes
|
102
106
|
------------- | ------------- | ------------- | -------------
|
103
107
|
**product_id** | **String**| |
|
108
|
+
**page** | **Integer**| The page of results to return. | [optional]
|
109
|
+
**limit** | **Integer**| The amount of results to return. The maximum is 1000 | [optional]
|
104
110
|
|
105
111
|
### Return type
|
106
112
|
|
@@ -190,7 +196,9 @@ api_instance = Vantage::PricesApi.new
|
|
190
196
|
opts = {
|
191
197
|
provider_id: 'provider_id_example', # String | Query by Provider to list all Products across all Services for a Provider. e.g. aws
|
192
198
|
service_id: 'service_id_example', # String | Query by Service to list all Products for a specific provider service. e.g. aws-ec2
|
193
|
-
name: 'name_example' # String | Query by name of the Product to see a list of products which match that name. e.g. m5a.16xlarge
|
199
|
+
name: 'name_example', # String | Query by name of the Product to see a list of products which match that name. e.g. m5a.16xlarge
|
200
|
+
page: 2, # Integer | The page of results to return.
|
201
|
+
limit: 500 # Integer | The amount of results to return. The maximum is 1000
|
194
202
|
}
|
195
203
|
|
196
204
|
begin
|
@@ -208,6 +216,8 @@ Name | Type | Description | Notes
|
|
208
216
|
**provider_id** | **String**| Query by Provider to list all Products across all Services for a Provider. e.g. aws | [optional]
|
209
217
|
**service_id** | **String**| Query by Service to list all Products for a specific provider service. e.g. aws-ec2 | [optional]
|
210
218
|
**name** | **String**| Query by name of the Product to see a list of products which match that name. e.g. m5a.16xlarge | [optional]
|
219
|
+
**page** | **Integer**| The page of results to return. | [optional]
|
220
|
+
**limit** | **Integer**| The amount of results to return. The maximum is 1000 | [optional]
|
211
221
|
|
212
222
|
### Return type
|
213
223
|
|
@@ -225,7 +235,7 @@ Name | Type | Description | Notes
|
|
225
235
|
|
226
236
|
|
227
237
|
# **get_providers**
|
228
|
-
> Providers get_providers
|
238
|
+
> Providers get_providers(opts)
|
229
239
|
|
230
240
|
|
231
241
|
|
@@ -243,8 +253,13 @@ end
|
|
243
253
|
|
244
254
|
api_instance = Vantage::PricesApi.new
|
245
255
|
|
256
|
+
opts = {
|
257
|
+
page: 2, # Integer | The page of results to return.
|
258
|
+
limit: 500 # Integer | The amount of results to return. The maximum is 1000
|
259
|
+
}
|
260
|
+
|
246
261
|
begin
|
247
|
-
result = api_instance.get_providers
|
262
|
+
result = api_instance.get_providers(opts)
|
248
263
|
p result
|
249
264
|
rescue Vantage::ApiError => e
|
250
265
|
puts "Exception when calling PricesApi->get_providers: #{e}"
|
@@ -252,7 +267,11 @@ end
|
|
252
267
|
```
|
253
268
|
|
254
269
|
### Parameters
|
255
|
-
|
270
|
+
|
271
|
+
Name | Type | Description | Notes
|
272
|
+
------------- | ------------- | ------------- | -------------
|
273
|
+
**page** | **Integer**| The page of results to return. | [optional]
|
274
|
+
**limit** | **Integer**| The amount of results to return. The maximum is 1000 | [optional]
|
256
275
|
|
257
276
|
### Return type
|
258
277
|
|
@@ -289,7 +308,9 @@ end
|
|
289
308
|
api_instance = Vantage::PricesApi.new
|
290
309
|
|
291
310
|
opts = {
|
292
|
-
provider_id: 'provider_id_example' # String | Query services for a specific provider. e.g. aws
|
311
|
+
provider_id: 'provider_id_example', # String | Query services for a specific provider. e.g. aws
|
312
|
+
page: 2, # Integer | The page of results to return.
|
313
|
+
limit: 500 # Integer | The amount of results to return. The maximum is 1000
|
293
314
|
}
|
294
315
|
|
295
316
|
begin
|
@@ -305,6 +326,8 @@ end
|
|
305
326
|
Name | Type | Description | Notes
|
306
327
|
------------- | ------------- | ------------- | -------------
|
307
328
|
**provider_id** | **String**| Query services for a specific provider. e.g. aws | [optional]
|
329
|
+
**page** | **Integer**| The page of results to return. | [optional]
|
330
|
+
**limit** | **Integer**| The amount of results to return. The maximum is 1000 | [optional]
|
308
331
|
|
309
332
|
### Return type
|
310
333
|
|
data/docs/Report.md
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
# Vantage::Report
|
2
|
+
|
3
|
+
## Properties
|
4
|
+
Name | Type | Description | Notes
|
5
|
+
------------ | ------------- | ------------- | -------------
|
6
|
+
**id** | **String** | | [optional]
|
7
|
+
**title** | **String** | The title of the cost report. | [optional]
|
8
|
+
**earliest_cost_date** | **String** | The date and time, in UTC, the report was created. ISO 8601 Formatted - 2021-01-01 or 2021-01-01T00:00:00Z. | [optional]
|
9
|
+
**latest_cost_date** | **String** | The date and time, in UTC, the report was created. ISO 8601 Formatted - 2021-07-31 or 2021-07-31T00:00:00Z. | [optional]
|
10
|
+
**created_at** | **String** | The date and time, in UTC, the report was created. ISO 8601 Formatted - 2021-07-15 or 2021-07-15T00:00:00Z. | [optional]
|
11
|
+
**workspace** | **String** | The name of the workspace the report is a part of. | [optional]
|
12
|
+
|
13
|
+
|
data/docs/Reports.md
ADDED