azure_mgmt_commerce 0.4.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 +7 -0
- data/.rspec +3 -0
- data/LICENSE.txt +21 -0
- data/Rakefile +5 -0
- data/azure_mgmt_commerce.gemspec +34 -0
- data/lib/azure_mgmt_commerce.rb +5 -0
- data/lib/generated/azure_mgmt_commerce.rb +41 -0
- data/lib/generated/azure_mgmt_commerce/models/aggregation_granularity.rb +16 -0
- data/lib/generated/azure_mgmt_commerce/models/error_response.rb +54 -0
- data/lib/generated/azure_mgmt_commerce/models/info_field.rb +45 -0
- data/lib/generated/azure_mgmt_commerce/models/meter_info.rb +128 -0
- data/lib/generated/azure_mgmt_commerce/models/monetary_commitment.rb +89 -0
- data/lib/generated/azure_mgmt_commerce/models/monetary_credit.rb +81 -0
- data/lib/generated/azure_mgmt_commerce/models/offer_term_info.rb +76 -0
- data/lib/generated/azure_mgmt_commerce/models/rate_card_query_parameters.rb +83 -0
- data/lib/generated/azure_mgmt_commerce/models/recurring_charge.rb +79 -0
- data/lib/generated/azure_mgmt_commerce/models/resource_rate_card_info.rb +132 -0
- data/lib/generated/azure_mgmt_commerce/models/usage_aggregation.rb +192 -0
- data/lib/generated/azure_mgmt_commerce/models/usage_aggregation_list_result.rb +94 -0
- data/lib/generated/azure_mgmt_commerce/module_definition.rb +8 -0
- data/lib/generated/azure_mgmt_commerce/rate_card.rb +148 -0
- data/lib/generated/azure_mgmt_commerce/usage_aggregates.rb +268 -0
- data/lib/generated/azure_mgmt_commerce/usage_management_client.rb +71 -0
- data/lib/generated/azure_mgmt_commerce/version.rb +8 -0
- metadata +137 -0
@@ -0,0 +1,192 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
|
3
|
+
# Changes may cause incorrect behavior and will be lost if the code is
|
4
|
+
# regenerated.
|
5
|
+
|
6
|
+
module Azure::ARM::Commerce
|
7
|
+
module Models
|
8
|
+
#
|
9
|
+
# Describes the usageAggregation.
|
10
|
+
#
|
11
|
+
class UsageAggregation
|
12
|
+
|
13
|
+
include MsRestAzure
|
14
|
+
|
15
|
+
# @return [String] Unique Id for the usage aggregate.
|
16
|
+
attr_accessor :id
|
17
|
+
|
18
|
+
# @return [String] Name of the usage aggregate.
|
19
|
+
attr_accessor :name
|
20
|
+
|
21
|
+
# @return [String] Type of the resource being returned.
|
22
|
+
attr_accessor :type
|
23
|
+
|
24
|
+
# @return The subscription identifier for the Azure user.
|
25
|
+
attr_accessor :subscription_id
|
26
|
+
|
27
|
+
# @return [String] Unique ID for the resource that was consumed (aka
|
28
|
+
# ResourceID).
|
29
|
+
attr_accessor :meter_id
|
30
|
+
|
31
|
+
# @return [DateTime] UTC start time for the usage bucket to which this
|
32
|
+
# usage aggregate belongs.
|
33
|
+
attr_accessor :usage_start_time
|
34
|
+
|
35
|
+
# @return [DateTime] UTC end time for the usage bucket to which this
|
36
|
+
# usage aggregate belongs.
|
37
|
+
attr_accessor :usage_end_time
|
38
|
+
|
39
|
+
# @return The amount of the resource consumption that occurred in this
|
40
|
+
# time frame.
|
41
|
+
attr_accessor :quantity
|
42
|
+
|
43
|
+
# @return [String] The unit in which the usage for this resource is
|
44
|
+
# being counted, e.g. Hours, GB.
|
45
|
+
attr_accessor :unit
|
46
|
+
|
47
|
+
# @return [String] Friendly name of the resource being consumed.
|
48
|
+
attr_accessor :meter_name
|
49
|
+
|
50
|
+
# @return [String] Category of the consumed resource.
|
51
|
+
attr_accessor :meter_category
|
52
|
+
|
53
|
+
# @return [String] Sub-category of the consumed resource.
|
54
|
+
attr_accessor :meter_sub_category
|
55
|
+
|
56
|
+
# @return [String] Region of the meterId used for billing purposes
|
57
|
+
attr_accessor :meter_region
|
58
|
+
|
59
|
+
# @return [InfoField] Key-value pairs of instance details (legacy
|
60
|
+
# format).
|
61
|
+
attr_accessor :info_fields
|
62
|
+
|
63
|
+
# @return [String] Key-value pairs of instance details represented as a
|
64
|
+
# string.
|
65
|
+
attr_accessor :instance_data
|
66
|
+
|
67
|
+
|
68
|
+
#
|
69
|
+
# Mapper for UsageAggregation class as Ruby Hash.
|
70
|
+
# This will be used for serialization/deserialization.
|
71
|
+
#
|
72
|
+
def self.mapper()
|
73
|
+
{
|
74
|
+
required: false,
|
75
|
+
serialized_name: 'UsageAggregation',
|
76
|
+
type: {
|
77
|
+
name: 'Composite',
|
78
|
+
class_name: 'UsageAggregation',
|
79
|
+
model_properties: {
|
80
|
+
id: {
|
81
|
+
required: false,
|
82
|
+
serialized_name: 'id',
|
83
|
+
type: {
|
84
|
+
name: 'String'
|
85
|
+
}
|
86
|
+
},
|
87
|
+
name: {
|
88
|
+
required: false,
|
89
|
+
serialized_name: 'name',
|
90
|
+
type: {
|
91
|
+
name: 'String'
|
92
|
+
}
|
93
|
+
},
|
94
|
+
type: {
|
95
|
+
required: false,
|
96
|
+
serialized_name: 'type',
|
97
|
+
type: {
|
98
|
+
name: 'String'
|
99
|
+
}
|
100
|
+
},
|
101
|
+
subscription_id: {
|
102
|
+
required: false,
|
103
|
+
serialized_name: 'properties.subscriptionId',
|
104
|
+
type: {
|
105
|
+
name: 'String'
|
106
|
+
}
|
107
|
+
},
|
108
|
+
meter_id: {
|
109
|
+
required: false,
|
110
|
+
serialized_name: 'properties.meterId',
|
111
|
+
type: {
|
112
|
+
name: 'String'
|
113
|
+
}
|
114
|
+
},
|
115
|
+
usage_start_time: {
|
116
|
+
required: false,
|
117
|
+
serialized_name: 'properties.usageStartTime',
|
118
|
+
type: {
|
119
|
+
name: 'DateTime'
|
120
|
+
}
|
121
|
+
},
|
122
|
+
usage_end_time: {
|
123
|
+
required: false,
|
124
|
+
serialized_name: 'properties.usageEndTime',
|
125
|
+
type: {
|
126
|
+
name: 'DateTime'
|
127
|
+
}
|
128
|
+
},
|
129
|
+
quantity: {
|
130
|
+
required: false,
|
131
|
+
serialized_name: 'properties.quantity',
|
132
|
+
type: {
|
133
|
+
name: 'Object'
|
134
|
+
}
|
135
|
+
},
|
136
|
+
unit: {
|
137
|
+
required: false,
|
138
|
+
serialized_name: 'properties.unit',
|
139
|
+
type: {
|
140
|
+
name: 'String'
|
141
|
+
}
|
142
|
+
},
|
143
|
+
meter_name: {
|
144
|
+
required: false,
|
145
|
+
serialized_name: 'properties.meterName',
|
146
|
+
type: {
|
147
|
+
name: 'String'
|
148
|
+
}
|
149
|
+
},
|
150
|
+
meter_category: {
|
151
|
+
required: false,
|
152
|
+
serialized_name: 'properties.meterCategory',
|
153
|
+
type: {
|
154
|
+
name: 'String'
|
155
|
+
}
|
156
|
+
},
|
157
|
+
meter_sub_category: {
|
158
|
+
required: false,
|
159
|
+
serialized_name: 'properties.meterSubCategory',
|
160
|
+
type: {
|
161
|
+
name: 'String'
|
162
|
+
}
|
163
|
+
},
|
164
|
+
meter_region: {
|
165
|
+
required: false,
|
166
|
+
serialized_name: 'properties.meterRegion',
|
167
|
+
type: {
|
168
|
+
name: 'String'
|
169
|
+
}
|
170
|
+
},
|
171
|
+
info_fields: {
|
172
|
+
required: false,
|
173
|
+
serialized_name: 'properties.infoFields',
|
174
|
+
type: {
|
175
|
+
name: 'Composite',
|
176
|
+
class_name: 'InfoField'
|
177
|
+
}
|
178
|
+
},
|
179
|
+
instance_data: {
|
180
|
+
required: false,
|
181
|
+
serialized_name: 'properties.instanceData',
|
182
|
+
type: {
|
183
|
+
name: 'String'
|
184
|
+
}
|
185
|
+
}
|
186
|
+
}
|
187
|
+
}
|
188
|
+
}
|
189
|
+
end
|
190
|
+
end
|
191
|
+
end
|
192
|
+
end
|
@@ -0,0 +1,94 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
|
3
|
+
# Changes may cause incorrect behavior and will be lost if the code is
|
4
|
+
# regenerated.
|
5
|
+
|
6
|
+
module Azure::ARM::Commerce
|
7
|
+
module Models
|
8
|
+
#
|
9
|
+
# The Get UsageAggregates operation response.
|
10
|
+
#
|
11
|
+
class UsageAggregationListResult
|
12
|
+
|
13
|
+
include MsRestAzure
|
14
|
+
|
15
|
+
# @return [Array<UsageAggregation>] Gets or sets details for the
|
16
|
+
# requested aggregation.
|
17
|
+
attr_accessor :value
|
18
|
+
|
19
|
+
# @return [String] Gets or sets the link to the next set of results.
|
20
|
+
attr_accessor :next_link
|
21
|
+
|
22
|
+
# return [Proc] with next page method call.
|
23
|
+
attr_accessor :next_method
|
24
|
+
|
25
|
+
#
|
26
|
+
# Gets the rest of the items for the request, enabling auto-pagination.
|
27
|
+
#
|
28
|
+
# @return [Array<UsageAggregation>] operation results.
|
29
|
+
#
|
30
|
+
def get_all_items
|
31
|
+
items = @value
|
32
|
+
page = self
|
33
|
+
while page.next_link != nil do
|
34
|
+
page = page.get_next_page
|
35
|
+
items.concat(page.value)
|
36
|
+
end
|
37
|
+
items
|
38
|
+
end
|
39
|
+
|
40
|
+
#
|
41
|
+
# Gets the next page of results.
|
42
|
+
#
|
43
|
+
# @return [UsageAggregationListResult] with next page content.
|
44
|
+
#
|
45
|
+
def get_next_page
|
46
|
+
response = @next_method.call(@next_link).value! unless @next_method.nil?
|
47
|
+
unless response.nil?
|
48
|
+
@next_link = response.body.next_link
|
49
|
+
@value = response.body.value
|
50
|
+
self
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
#
|
55
|
+
# Mapper for UsageAggregationListResult class as Ruby Hash.
|
56
|
+
# This will be used for serialization/deserialization.
|
57
|
+
#
|
58
|
+
def self.mapper()
|
59
|
+
{
|
60
|
+
required: false,
|
61
|
+
serialized_name: 'UsageAggregationListResult',
|
62
|
+
type: {
|
63
|
+
name: 'Composite',
|
64
|
+
class_name: 'UsageAggregationListResult',
|
65
|
+
model_properties: {
|
66
|
+
value: {
|
67
|
+
required: false,
|
68
|
+
serialized_name: 'value',
|
69
|
+
type: {
|
70
|
+
name: 'Sequence',
|
71
|
+
element: {
|
72
|
+
required: false,
|
73
|
+
serialized_name: 'UsageAggregationElementType',
|
74
|
+
type: {
|
75
|
+
name: 'Composite',
|
76
|
+
class_name: 'UsageAggregation'
|
77
|
+
}
|
78
|
+
}
|
79
|
+
}
|
80
|
+
},
|
81
|
+
next_link: {
|
82
|
+
required: false,
|
83
|
+
serialized_name: 'nextLink',
|
84
|
+
type: {
|
85
|
+
name: 'String'
|
86
|
+
}
|
87
|
+
}
|
88
|
+
}
|
89
|
+
}
|
90
|
+
}
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
@@ -0,0 +1,148 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
|
3
|
+
# Changes may cause incorrect behavior and will be lost if the code is
|
4
|
+
# regenerated.
|
5
|
+
|
6
|
+
module Azure::ARM::Commerce
|
7
|
+
#
|
8
|
+
# RateCard
|
9
|
+
#
|
10
|
+
class RateCard
|
11
|
+
include Azure::ARM::Commerce::Models
|
12
|
+
include MsRestAzure
|
13
|
+
|
14
|
+
#
|
15
|
+
# Creates and initializes a new instance of the RateCard class.
|
16
|
+
# @param client service class for accessing basic functionality.
|
17
|
+
#
|
18
|
+
def initialize(client)
|
19
|
+
@client = client
|
20
|
+
end
|
21
|
+
|
22
|
+
# @return reference to the UsageManagementClient
|
23
|
+
attr_reader :client
|
24
|
+
|
25
|
+
#
|
26
|
+
# Enables you to query for the resource/meter metadata and related prices used
|
27
|
+
# in a given subscription by Offer ID, Currency, Locale and Region. The
|
28
|
+
# metadata associated with the billing meters, including but not limited to
|
29
|
+
# service names, types, resources, units of measure, and regions, is subject
|
30
|
+
# to change at any time and without notice. If you intend to use this billing
|
31
|
+
# data in an automated fashion, please use the billing meter GUID to uniquely
|
32
|
+
# identify each billable item. If the billing meter GUID is scheduled to
|
33
|
+
# change due to a new billing model, you will be notified in advance of the
|
34
|
+
# change.
|
35
|
+
#
|
36
|
+
# @param filter [String] The filter to apply on the operation. It ONLY
|
37
|
+
# supports the 'eq' and 'and' logical operators at this time. All the 4 query
|
38
|
+
# parameters 'OfferDurableId', 'Currency', 'Locale', 'Region' are required
|
39
|
+
# to be a part of the $filter.
|
40
|
+
# @param custom_headers [Hash{String => String}] A hash of custom headers that
|
41
|
+
# will be added to the HTTP request.
|
42
|
+
#
|
43
|
+
# @return [ResourceRateCardInfo] operation results.
|
44
|
+
#
|
45
|
+
def get(filter = nil, custom_headers = nil)
|
46
|
+
response = get_async(filter, custom_headers).value!
|
47
|
+
response.body unless response.nil?
|
48
|
+
end
|
49
|
+
|
50
|
+
#
|
51
|
+
# Enables you to query for the resource/meter metadata and related prices used
|
52
|
+
# in a given subscription by Offer ID, Currency, Locale and Region. The
|
53
|
+
# metadata associated with the billing meters, including but not limited to
|
54
|
+
# service names, types, resources, units of measure, and regions, is subject
|
55
|
+
# to change at any time and without notice. If you intend to use this billing
|
56
|
+
# data in an automated fashion, please use the billing meter GUID to uniquely
|
57
|
+
# identify each billable item. If the billing meter GUID is scheduled to
|
58
|
+
# change due to a new billing model, you will be notified in advance of the
|
59
|
+
# change.
|
60
|
+
#
|
61
|
+
# @param filter [String] The filter to apply on the operation. It ONLY
|
62
|
+
# supports the 'eq' and 'and' logical operators at this time. All the 4 query
|
63
|
+
# parameters 'OfferDurableId', 'Currency', 'Locale', 'Region' are required
|
64
|
+
# to be a part of the $filter.
|
65
|
+
# @param custom_headers [Hash{String => String}] A hash of custom headers that
|
66
|
+
# will be added to the HTTP request.
|
67
|
+
#
|
68
|
+
# @return [MsRestAzure::AzureOperationResponse] HTTP response information.
|
69
|
+
#
|
70
|
+
def get_with_http_info(filter = nil, custom_headers = nil)
|
71
|
+
get_async(filter, custom_headers).value!
|
72
|
+
end
|
73
|
+
|
74
|
+
#
|
75
|
+
# Enables you to query for the resource/meter metadata and related prices used
|
76
|
+
# in a given subscription by Offer ID, Currency, Locale and Region. The
|
77
|
+
# metadata associated with the billing meters, including but not limited to
|
78
|
+
# service names, types, resources, units of measure, and regions, is subject
|
79
|
+
# to change at any time and without notice. If you intend to use this billing
|
80
|
+
# data in an automated fashion, please use the billing meter GUID to uniquely
|
81
|
+
# identify each billable item. If the billing meter GUID is scheduled to
|
82
|
+
# change due to a new billing model, you will be notified in advance of the
|
83
|
+
# change.
|
84
|
+
#
|
85
|
+
# @param filter [String] The filter to apply on the operation. It ONLY
|
86
|
+
# supports the 'eq' and 'and' logical operators at this time. All the 4 query
|
87
|
+
# parameters 'OfferDurableId', 'Currency', 'Locale', 'Region' are required
|
88
|
+
# to be a part of the $filter.
|
89
|
+
# @param [Hash{String => String}] A hash of custom headers that will be added
|
90
|
+
# to the HTTP request.
|
91
|
+
#
|
92
|
+
# @return [Concurrent::Promise] Promise object which holds the HTTP response.
|
93
|
+
#
|
94
|
+
def get_async(filter = nil, custom_headers = nil)
|
95
|
+
fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
|
96
|
+
fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
|
97
|
+
|
98
|
+
|
99
|
+
request_headers = {}
|
100
|
+
|
101
|
+
# Set Headers
|
102
|
+
request_headers['x-ms-client-request-id'] = SecureRandom.uuid
|
103
|
+
request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
|
104
|
+
path_template = '/subscriptions/{subscriptionId}/providers/Microsoft.Commerce/RateCard'
|
105
|
+
options = {
|
106
|
+
middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
|
107
|
+
path_params: {'subscriptionId' => @client.subscription_id},
|
108
|
+
query_params: {'$filter' => filter,'api-version' => @client.api_version},
|
109
|
+
headers: request_headers.merge(custom_headers || {})
|
110
|
+
}
|
111
|
+
|
112
|
+
request_url = @base_url || @client.base_url
|
113
|
+
|
114
|
+
request = MsRest::HttpOperationRequest.new(request_url, path_template, :get, options)
|
115
|
+
promise = request.run_promise do |req|
|
116
|
+
@client.credentials.sign_request(req) unless @client.credentials.nil?
|
117
|
+
end
|
118
|
+
|
119
|
+
promise = promise.then do |http_response|
|
120
|
+
status_code = http_response.status
|
121
|
+
response_content = http_response.body
|
122
|
+
unless status_code == 200
|
123
|
+
error_model = JSON.load(response_content)
|
124
|
+
fail MsRest::HttpOperationError.new(request, http_response, error_model)
|
125
|
+
end
|
126
|
+
|
127
|
+
# Create Result
|
128
|
+
result = MsRestAzure::AzureOperationResponse.new(request, http_response)
|
129
|
+
result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
|
130
|
+
# Deserialize Response
|
131
|
+
if status_code == 200
|
132
|
+
begin
|
133
|
+
parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
|
134
|
+
result_mapper = ResourceRateCardInfo.mapper()
|
135
|
+
result.body = @client.deserialize(result_mapper, parsed_response, 'result.body')
|
136
|
+
rescue Exception => e
|
137
|
+
fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
|
138
|
+
end
|
139
|
+
end
|
140
|
+
|
141
|
+
result
|
142
|
+
end
|
143
|
+
|
144
|
+
promise.execute
|
145
|
+
end
|
146
|
+
|
147
|
+
end
|
148
|
+
end
|
@@ -0,0 +1,268 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
|
3
|
+
# Changes may cause incorrect behavior and will be lost if the code is
|
4
|
+
# regenerated.
|
5
|
+
|
6
|
+
module Azure::ARM::Commerce
|
7
|
+
#
|
8
|
+
# UsageAggregates
|
9
|
+
#
|
10
|
+
class UsageAggregates
|
11
|
+
include Azure::ARM::Commerce::Models
|
12
|
+
include MsRestAzure
|
13
|
+
|
14
|
+
#
|
15
|
+
# Creates and initializes a new instance of the UsageAggregates class.
|
16
|
+
# @param client service class for accessing basic functionality.
|
17
|
+
#
|
18
|
+
def initialize(client)
|
19
|
+
@client = client
|
20
|
+
end
|
21
|
+
|
22
|
+
# @return reference to the UsageManagementClient
|
23
|
+
attr_reader :client
|
24
|
+
|
25
|
+
#
|
26
|
+
# Query aggregated Azure subscription consumption data for a date range.
|
27
|
+
#
|
28
|
+
# @param reportedstart_time [DateTime] The start of the time range to retrieve
|
29
|
+
# data for.
|
30
|
+
# @param reported_end_time [DateTime] The end of the time range to retrieve
|
31
|
+
# data for.
|
32
|
+
# @param show_details [Boolean] When set to true (default), the aggregates are
|
33
|
+
# broken down into the instance metadata which is more granular.
|
34
|
+
# @param aggregation_granularity [AggregationGranularity] Value is either
|
35
|
+
# daily (default) or hourly to tell the API how to return the results grouped
|
36
|
+
# by day or hour. Possible values include: 'Daily', 'Hourly'
|
37
|
+
# @param continuation_token [String] Retrieved from previous calls, this is
|
38
|
+
# the bookmark used for progress when the responses are paged.
|
39
|
+
# @param custom_headers [Hash{String => String}] A hash of custom headers that
|
40
|
+
# will be added to the HTTP request.
|
41
|
+
#
|
42
|
+
# @return [UsageAggregationListResult] which provide lazy access to pages of
|
43
|
+
# the response.
|
44
|
+
#
|
45
|
+
def list_as_lazy(reportedstart_time, reported_end_time, show_details = nil, aggregation_granularity = nil, continuation_token = nil, custom_headers = nil)
|
46
|
+
response = list_async(reportedstart_time, reported_end_time, show_details, aggregation_granularity, continuation_token, custom_headers).value!
|
47
|
+
unless response.nil?
|
48
|
+
page = response.body
|
49
|
+
page.next_method = Proc.new do |next_link|
|
50
|
+
list_next_async(next_link, custom_headers)
|
51
|
+
end
|
52
|
+
page
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
#
|
57
|
+
# Query aggregated Azure subscription consumption data for a date range.
|
58
|
+
#
|
59
|
+
# @param reportedstart_time [DateTime] The start of the time range to retrieve
|
60
|
+
# data for.
|
61
|
+
# @param reported_end_time [DateTime] The end of the time range to retrieve
|
62
|
+
# data for.
|
63
|
+
# @param show_details [Boolean] When set to true (default), the aggregates are
|
64
|
+
# broken down into the instance metadata which is more granular.
|
65
|
+
# @param aggregation_granularity [AggregationGranularity] Value is either
|
66
|
+
# daily (default) or hourly to tell the API how to return the results grouped
|
67
|
+
# by day or hour. Possible values include: 'Daily', 'Hourly'
|
68
|
+
# @param continuation_token [String] Retrieved from previous calls, this is
|
69
|
+
# the bookmark used for progress when the responses are paged.
|
70
|
+
# @param custom_headers [Hash{String => String}] A hash of custom headers that
|
71
|
+
# will be added to the HTTP request.
|
72
|
+
#
|
73
|
+
# @return [Array<UsageAggregation>] operation results.
|
74
|
+
#
|
75
|
+
def list(reportedstart_time, reported_end_time, show_details = nil, aggregation_granularity = nil, continuation_token = nil, custom_headers = nil)
|
76
|
+
first_page = list_as_lazy(reportedstart_time, reported_end_time, show_details, aggregation_granularity, continuation_token, custom_headers)
|
77
|
+
first_page.get_all_items
|
78
|
+
end
|
79
|
+
|
80
|
+
#
|
81
|
+
# Query aggregated Azure subscription consumption data for a date range.
|
82
|
+
#
|
83
|
+
# @param reportedstart_time [DateTime] The start of the time range to retrieve
|
84
|
+
# data for.
|
85
|
+
# @param reported_end_time [DateTime] The end of the time range to retrieve
|
86
|
+
# data for.
|
87
|
+
# @param show_details [Boolean] When set to true (default), the aggregates are
|
88
|
+
# broken down into the instance metadata which is more granular.
|
89
|
+
# @param aggregation_granularity [AggregationGranularity] Value is either
|
90
|
+
# daily (default) or hourly to tell the API how to return the results grouped
|
91
|
+
# by day or hour. Possible values include: 'Daily', 'Hourly'
|
92
|
+
# @param continuation_token [String] Retrieved from previous calls, this is
|
93
|
+
# the bookmark used for progress when the responses are paged.
|
94
|
+
# @param custom_headers [Hash{String => String}] A hash of custom headers that
|
95
|
+
# will be added to the HTTP request.
|
96
|
+
#
|
97
|
+
# @return [MsRestAzure::AzureOperationResponse] HTTP response information.
|
98
|
+
#
|
99
|
+
def list_with_http_info(reportedstart_time, reported_end_time, show_details = nil, aggregation_granularity = nil, continuation_token = nil, custom_headers = nil)
|
100
|
+
list_async(reportedstart_time, reported_end_time, show_details, aggregation_granularity, continuation_token, custom_headers).value!
|
101
|
+
end
|
102
|
+
|
103
|
+
#
|
104
|
+
# Query aggregated Azure subscription consumption data for a date range.
|
105
|
+
#
|
106
|
+
# @param reportedstart_time [DateTime] The start of the time range to retrieve
|
107
|
+
# data for.
|
108
|
+
# @param reported_end_time [DateTime] The end of the time range to retrieve
|
109
|
+
# data for.
|
110
|
+
# @param show_details [Boolean] When set to true (default), the aggregates are
|
111
|
+
# broken down into the instance metadata which is more granular.
|
112
|
+
# @param aggregation_granularity [AggregationGranularity] Value is either
|
113
|
+
# daily (default) or hourly to tell the API how to return the results grouped
|
114
|
+
# by day or hour. Possible values include: 'Daily', 'Hourly'
|
115
|
+
# @param continuation_token [String] Retrieved from previous calls, this is
|
116
|
+
# the bookmark used for progress when the responses are paged.
|
117
|
+
# @param [Hash{String => String}] A hash of custom headers that will be added
|
118
|
+
# to the HTTP request.
|
119
|
+
#
|
120
|
+
# @return [Concurrent::Promise] Promise object which holds the HTTP response.
|
121
|
+
#
|
122
|
+
def list_async(reportedstart_time, reported_end_time, show_details = nil, aggregation_granularity = nil, continuation_token = nil, custom_headers = nil)
|
123
|
+
fail ArgumentError, 'reportedstart_time is nil' if reportedstart_time.nil?
|
124
|
+
fail ArgumentError, 'reported_end_time is nil' if reported_end_time.nil?
|
125
|
+
fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
|
126
|
+
fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
|
127
|
+
|
128
|
+
|
129
|
+
request_headers = {}
|
130
|
+
|
131
|
+
# Set Headers
|
132
|
+
request_headers['x-ms-client-request-id'] = SecureRandom.uuid
|
133
|
+
request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
|
134
|
+
path_template = '/subscriptions/{subscriptionId}/providers/Microsoft.Commerce/UsageAggregates'
|
135
|
+
options = {
|
136
|
+
middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
|
137
|
+
path_params: {'subscriptionId' => @client.subscription_id},
|
138
|
+
query_params: {'reportedstartTime' => reportedstart_time,'reportedEndTime' => reported_end_time,'showDetails' => show_details,'aggregationGranularity' => aggregation_granularity,'continuationToken' => continuation_token,'api-version' => @client.api_version},
|
139
|
+
headers: request_headers.merge(custom_headers || {})
|
140
|
+
}
|
141
|
+
|
142
|
+
request_url = @base_url || @client.base_url
|
143
|
+
|
144
|
+
request = MsRest::HttpOperationRequest.new(request_url, path_template, :get, options)
|
145
|
+
promise = request.run_promise do |req|
|
146
|
+
@client.credentials.sign_request(req) unless @client.credentials.nil?
|
147
|
+
end
|
148
|
+
|
149
|
+
promise = promise.then do |http_response|
|
150
|
+
status_code = http_response.status
|
151
|
+
response_content = http_response.body
|
152
|
+
unless status_code == 200
|
153
|
+
error_model = JSON.load(response_content)
|
154
|
+
fail MsRest::HttpOperationError.new(request, http_response, error_model)
|
155
|
+
end
|
156
|
+
|
157
|
+
# Create Result
|
158
|
+
result = MsRestAzure::AzureOperationResponse.new(request, http_response)
|
159
|
+
result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
|
160
|
+
# Deserialize Response
|
161
|
+
if status_code == 200
|
162
|
+
begin
|
163
|
+
parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
|
164
|
+
result_mapper = UsageAggregationListResult.mapper()
|
165
|
+
result.body = @client.deserialize(result_mapper, parsed_response, 'result.body')
|
166
|
+
rescue Exception => e
|
167
|
+
fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
|
168
|
+
end
|
169
|
+
end
|
170
|
+
|
171
|
+
result
|
172
|
+
end
|
173
|
+
|
174
|
+
promise.execute
|
175
|
+
end
|
176
|
+
|
177
|
+
#
|
178
|
+
# Query aggregated Azure subscription consumption data for a date range.
|
179
|
+
#
|
180
|
+
# @param next_page_link [String] The NextLink from the previous successful
|
181
|
+
# call to List operation.
|
182
|
+
# @param custom_headers [Hash{String => String}] A hash of custom headers that
|
183
|
+
# will be added to the HTTP request.
|
184
|
+
#
|
185
|
+
# @return [UsageAggregationListResult] operation results.
|
186
|
+
#
|
187
|
+
def list_next(next_page_link, custom_headers = nil)
|
188
|
+
response = list_next_async(next_page_link, custom_headers).value!
|
189
|
+
response.body unless response.nil?
|
190
|
+
end
|
191
|
+
|
192
|
+
#
|
193
|
+
# Query aggregated Azure subscription consumption data for a date range.
|
194
|
+
#
|
195
|
+
# @param next_page_link [String] The NextLink from the previous successful
|
196
|
+
# call to List operation.
|
197
|
+
# @param custom_headers [Hash{String => String}] A hash of custom headers that
|
198
|
+
# will be added to the HTTP request.
|
199
|
+
#
|
200
|
+
# @return [MsRestAzure::AzureOperationResponse] HTTP response information.
|
201
|
+
#
|
202
|
+
def list_next_with_http_info(next_page_link, custom_headers = nil)
|
203
|
+
list_next_async(next_page_link, custom_headers).value!
|
204
|
+
end
|
205
|
+
|
206
|
+
#
|
207
|
+
# Query aggregated Azure subscription consumption data for a date range.
|
208
|
+
#
|
209
|
+
# @param next_page_link [String] The NextLink from the previous successful
|
210
|
+
# call to List operation.
|
211
|
+
# @param [Hash{String => String}] A hash of custom headers that will be added
|
212
|
+
# to the HTTP request.
|
213
|
+
#
|
214
|
+
# @return [Concurrent::Promise] Promise object which holds the HTTP response.
|
215
|
+
#
|
216
|
+
def list_next_async(next_page_link, custom_headers = nil)
|
217
|
+
fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
|
218
|
+
|
219
|
+
|
220
|
+
request_headers = {}
|
221
|
+
|
222
|
+
# Set Headers
|
223
|
+
request_headers['x-ms-client-request-id'] = SecureRandom.uuid
|
224
|
+
request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
|
225
|
+
path_template = '{nextLink}'
|
226
|
+
options = {
|
227
|
+
middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
|
228
|
+
skip_encoding_path_params: {'nextLink' => next_page_link},
|
229
|
+
headers: request_headers.merge(custom_headers || {})
|
230
|
+
}
|
231
|
+
|
232
|
+
request_url = @base_url || @client.base_url
|
233
|
+
|
234
|
+
request = MsRest::HttpOperationRequest.new(request_url, path_template, :get, options)
|
235
|
+
promise = request.run_promise do |req|
|
236
|
+
@client.credentials.sign_request(req) unless @client.credentials.nil?
|
237
|
+
end
|
238
|
+
|
239
|
+
promise = promise.then do |http_response|
|
240
|
+
status_code = http_response.status
|
241
|
+
response_content = http_response.body
|
242
|
+
unless status_code == 200
|
243
|
+
error_model = JSON.load(response_content)
|
244
|
+
fail MsRest::HttpOperationError.new(request, http_response, error_model)
|
245
|
+
end
|
246
|
+
|
247
|
+
# Create Result
|
248
|
+
result = MsRestAzure::AzureOperationResponse.new(request, http_response)
|
249
|
+
result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
|
250
|
+
# Deserialize Response
|
251
|
+
if status_code == 200
|
252
|
+
begin
|
253
|
+
parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
|
254
|
+
result_mapper = UsageAggregationListResult.mapper()
|
255
|
+
result.body = @client.deserialize(result_mapper, parsed_response, 'result.body')
|
256
|
+
rescue Exception => e
|
257
|
+
fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
|
258
|
+
end
|
259
|
+
end
|
260
|
+
|
261
|
+
result
|
262
|
+
end
|
263
|
+
|
264
|
+
promise.execute
|
265
|
+
end
|
266
|
+
|
267
|
+
end
|
268
|
+
end
|