azure_cognitiveservices_anomalydetector 0.17.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 7e42daee11375052da90aee65ba69bcd1f8887a28b9bc669dfb081cfe00ab95f
4
+ data.tar.gz: 159006fa4459921bee9a0607ffc0d1cd15340c6f02efd20aca083e46243e472d
5
+ SHA512:
6
+ metadata.gz: 489745f9b1c20783ee5d071f019abe29a1ce6fd1f7a1706e6c3e70e7b0e34748ddadd3dbc56117e45da9caa6a3584fc7d0e0d417678de61b8fc905949335c82e
7
+ data.tar.gz: 1b9fd493514be4ea12307a17ab60d03b6b76ec0357943676ad4f5ba530a8f58b35076cafd566a8e181cf577a69b5fd5d61b0e2e5201e208a25d46458a2b97a6d
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2015 Microsoft Corporation
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,33 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator.
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ require 'uri'
7
+ require 'cgi'
8
+ require 'date'
9
+ require 'json'
10
+ require 'base64'
11
+ require 'erb'
12
+ require 'securerandom'
13
+ require 'time'
14
+ require 'timeliness'
15
+ require 'faraday'
16
+ require 'faraday-cookie_jar'
17
+ require 'concurrent'
18
+ require 'ms_rest'
19
+ require '1.0/generated/azure_cognitiveservices_anomalydetector/module_definition'
20
+ require 'ms_rest_azure'
21
+
22
+ module Azure::CognitiveServices::AnomalyDetector::V1_0
23
+ autoload :AnomalyDetectorClient, '1.0/generated/azure_cognitiveservices_anomalydetector/anomaly_detector_client.rb'
24
+
25
+ module Models
26
+ autoload :Request, '1.0/generated/azure_cognitiveservices_anomalydetector/models/request.rb'
27
+ autoload :EntireDetectResponse, '1.0/generated/azure_cognitiveservices_anomalydetector/models/entire_detect_response.rb'
28
+ autoload :Point, '1.0/generated/azure_cognitiveservices_anomalydetector/models/point.rb'
29
+ autoload :LastDetectResponse, '1.0/generated/azure_cognitiveservices_anomalydetector/models/last_detect_response.rb'
30
+ autoload :APIError, '1.0/generated/azure_cognitiveservices_anomalydetector/models/apierror.rb'
31
+ autoload :Granularity, '1.0/generated/azure_cognitiveservices_anomalydetector/models/granularity.rb'
32
+ end
33
+ end
@@ -0,0 +1,349 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator.
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::CognitiveServices::AnomalyDetector::V1_0
7
+ #
8
+ # A service client - single point of access to the REST API.
9
+ #
10
+ class AnomalyDetectorClient < MsRestAzure::AzureServiceClient
11
+ include MsRestAzure
12
+ include MsRestAzure::Serialization
13
+
14
+ # @return [String] the base URI of the service.
15
+ attr_reader :base_url
16
+
17
+ # @return Credentials needed for the client to connect to Azure.
18
+ attr_reader :credentials1
19
+
20
+ # @return [String] Supported Cognitive Services endpoints (protocol and
21
+ # hostname, for example: https://westus2.api.cognitive.microsoft.com).
22
+ attr_accessor :endpoint
23
+
24
+ # @return Subscription credentials which uniquely identify client
25
+ # subscription.
26
+ attr_accessor :credentials
27
+
28
+ # @return [String] The preferred language for the response.
29
+ attr_accessor :accept_language
30
+
31
+ # @return [Integer] The retry timeout in seconds for Long Running
32
+ # Operations. Default value is 30.
33
+ attr_accessor :long_running_operation_retry_timeout
34
+
35
+ # @return [Boolean] Whether a unique x-ms-client-request-id should be
36
+ # generated. When set to true a unique x-ms-client-request-id value is
37
+ # generated and included in each request. Default is true.
38
+ attr_accessor :generate_client_request_id
39
+
40
+ #
41
+ # Creates initializes a new instance of the AnomalyDetectorClient class.
42
+ # @param credentials [MsRest::ServiceClientCredentials] credentials to authorize HTTP requests made by the service client.
43
+ # @param options [Array] filters to be applied to the HTTP requests.
44
+ #
45
+ def initialize(credentials = nil, options = nil)
46
+ super(credentials, options)
47
+ @base_url = '{Endpoint}/anomalydetector/v1.0'
48
+
49
+ fail ArgumentError, 'invalid type of credentials input parameter' unless credentials.is_a?(MsRest::ServiceClientCredentials) unless credentials.nil?
50
+ @credentials = credentials
51
+
52
+ @accept_language = 'en-US'
53
+ @long_running_operation_retry_timeout = 30
54
+ @generate_client_request_id = true
55
+ add_telemetry
56
+ end
57
+
58
+ #
59
+ # Makes a request and returns the body of the response.
60
+ # @param method [Symbol] with any of the following values :get, :put, :post, :patch, :delete.
61
+ # @param path [String] the path, relative to {base_url}.
62
+ # @param options [Hash{String=>String}] specifying any request options like :body.
63
+ # @return [Hash{String=>String}] containing the body of the response.
64
+ # Example:
65
+ #
66
+ # request_content = "{'location':'westus','tags':{'tag1':'val1','tag2':'val2'}}"
67
+ # path = "/path"
68
+ # options = {
69
+ # body: request_content,
70
+ # query_params: {'api-version' => '2016-02-01'}
71
+ # }
72
+ # result = @client.make_request(:put, path, options)
73
+ #
74
+ def make_request(method, path, options = {})
75
+ result = make_request_with_http_info(method, path, options)
76
+ result.body unless result.nil?
77
+ end
78
+
79
+ #
80
+ # Makes a request and returns the operation response.
81
+ # @param method [Symbol] with any of the following values :get, :put, :post, :patch, :delete.
82
+ # @param path [String] the path, relative to {base_url}.
83
+ # @param options [Hash{String=>String}] specifying any request options like :body.
84
+ # @return [MsRestAzure::AzureOperationResponse] Operation response containing the request, response and status.
85
+ #
86
+ def make_request_with_http_info(method, path, options = {})
87
+ result = make_request_async(method, path, options).value!
88
+ result.body = result.response.body.to_s.empty? ? nil : JSON.load(result.response.body)
89
+ result
90
+ end
91
+
92
+ #
93
+ # Makes a request asynchronously.
94
+ # @param method [Symbol] with any of the following values :get, :put, :post, :patch, :delete.
95
+ # @param path [String] the path, relative to {base_url}.
96
+ # @param options [Hash{String=>String}] specifying any request options like :body.
97
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
98
+ #
99
+ def make_request_async(method, path, options = {})
100
+ fail ArgumentError, 'method is nil' if method.nil?
101
+ fail ArgumentError, 'path is nil' if path.nil?
102
+
103
+ request_url = options[:base_url] || @base_url
104
+ if(!options[:headers].nil? && !options[:headers]['Content-Type'].nil?)
105
+ @request_headers['Content-Type'] = options[:headers]['Content-Type']
106
+ end
107
+
108
+ request_headers = @request_headers
109
+ request_headers.merge!({'accept-language' => @accept_language}) unless @accept_language.nil?
110
+ options.merge!({headers: request_headers.merge(options[:headers] || {})})
111
+ options.merge!({credentials: @credentials}) unless @credentials.nil?
112
+
113
+ super(request_url, method, path, options)
114
+ end
115
+
116
+ #
117
+ # Detect anomalies for the entire series in batch.
118
+ #
119
+ # This operation generates a model using an entire series, each point is
120
+ # detected with the same model. With this method, points before and after a
121
+ # certain point are used to determine whether it is an anomaly. The entire
122
+ # detection can give user an overall status of the time series.
123
+ #
124
+ # @param body [Request] Time series points and period if needed. Advanced model
125
+ # parameters can also be set in the request.
126
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
127
+ # will be added to the HTTP request.
128
+ #
129
+ # @return [EntireDetectResponse] operation results.
130
+ #
131
+ def entire_detect(body, custom_headers:nil)
132
+ response = entire_detect_async(body, custom_headers:custom_headers).value!
133
+ response.body unless response.nil?
134
+ end
135
+
136
+ #
137
+ # Detect anomalies for the entire series in batch.
138
+ #
139
+ # This operation generates a model using an entire series, each point is
140
+ # detected with the same model. With this method, points before and after a
141
+ # certain point are used to determine whether it is an anomaly. The entire
142
+ # detection can give user an overall status of the time series.
143
+ #
144
+ # @param body [Request] Time series points and period if needed. Advanced model
145
+ # parameters can also be set in the request.
146
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
147
+ # will be added to the HTTP request.
148
+ #
149
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
150
+ #
151
+ def entire_detect_with_http_info(body, custom_headers:nil)
152
+ entire_detect_async(body, custom_headers:custom_headers).value!
153
+ end
154
+
155
+ #
156
+ # Detect anomalies for the entire series in batch.
157
+ #
158
+ # This operation generates a model using an entire series, each point is
159
+ # detected with the same model. With this method, points before and after a
160
+ # certain point are used to determine whether it is an anomaly. The entire
161
+ # detection can give user an overall status of the time series.
162
+ #
163
+ # @param body [Request] Time series points and period if needed. Advanced model
164
+ # parameters can also be set in the request.
165
+ # @param [Hash{String => String}] A hash of custom headers that will be added
166
+ # to the HTTP request.
167
+ #
168
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
169
+ #
170
+ def entire_detect_async(body, custom_headers:nil)
171
+ fail ArgumentError, 'endpoint is nil' if endpoint.nil?
172
+ fail ArgumentError, 'body is nil' if body.nil?
173
+
174
+
175
+ request_headers = {}
176
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
177
+
178
+ # Set Headers
179
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
180
+ request_headers['accept-language'] = accept_language unless accept_language.nil?
181
+
182
+ # Serialize Request
183
+ request_mapper = Azure::CognitiveServices::AnomalyDetector::V1_0::Models::Request.mapper()
184
+ request_content = self.serialize(request_mapper, body)
185
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
186
+
187
+ path_template = 'timeseries/entire/detect'
188
+
189
+ request_url = @base_url || self.base_url
190
+ request_url = request_url.gsub('{Endpoint}', endpoint)
191
+
192
+ options = {
193
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
194
+ body: request_content,
195
+ headers: request_headers.merge(custom_headers || {}),
196
+ base_url: request_url
197
+ }
198
+ promise = self.make_request_async(:post, path_template, options)
199
+
200
+ promise = promise.then do |result|
201
+ http_response = result.response
202
+ status_code = http_response.status
203
+ response_content = http_response.body
204
+ unless status_code == 200
205
+ error_model = JSON.load(response_content)
206
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
207
+ end
208
+
209
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
210
+ # Deserialize Response
211
+ if status_code == 200
212
+ begin
213
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
214
+ result_mapper = Azure::CognitiveServices::AnomalyDetector::V1_0::Models::EntireDetectResponse.mapper()
215
+ result.body = self.deserialize(result_mapper, parsed_response)
216
+ rescue Exception => e
217
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
218
+ end
219
+ end
220
+
221
+ result
222
+ end
223
+
224
+ promise.execute
225
+ end
226
+
227
+ #
228
+ # Detect anomaly status of the latest point in time series.
229
+ #
230
+ # This operation generates a model using points before the latest one. With
231
+ # this method, only historical points are used to determine whether the target
232
+ # point is an anomaly. The latest point detecting operation matches the
233
+ # scenario of real-time monitoring of business metrics.
234
+ #
235
+ # @param body [Request] Time series points and period if needed. Advanced model
236
+ # parameters can also be set in the request.
237
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
238
+ # will be added to the HTTP request.
239
+ #
240
+ # @return [LastDetectResponse] operation results.
241
+ #
242
+ def last_detect(body, custom_headers:nil)
243
+ response = last_detect_async(body, custom_headers:custom_headers).value!
244
+ response.body unless response.nil?
245
+ end
246
+
247
+ #
248
+ # Detect anomaly status of the latest point in time series.
249
+ #
250
+ # This operation generates a model using points before the latest one. With
251
+ # this method, only historical points are used to determine whether the target
252
+ # point is an anomaly. The latest point detecting operation matches the
253
+ # scenario of real-time monitoring of business metrics.
254
+ #
255
+ # @param body [Request] Time series points and period if needed. Advanced model
256
+ # parameters can also be set in the request.
257
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
258
+ # will be added to the HTTP request.
259
+ #
260
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
261
+ #
262
+ def last_detect_with_http_info(body, custom_headers:nil)
263
+ last_detect_async(body, custom_headers:custom_headers).value!
264
+ end
265
+
266
+ #
267
+ # Detect anomaly status of the latest point in time series.
268
+ #
269
+ # This operation generates a model using points before the latest one. With
270
+ # this method, only historical points are used to determine whether the target
271
+ # point is an anomaly. The latest point detecting operation matches the
272
+ # scenario of real-time monitoring of business metrics.
273
+ #
274
+ # @param body [Request] Time series points and period if needed. Advanced model
275
+ # parameters can also be set in the request.
276
+ # @param [Hash{String => String}] A hash of custom headers that will be added
277
+ # to the HTTP request.
278
+ #
279
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
280
+ #
281
+ def last_detect_async(body, custom_headers:nil)
282
+ fail ArgumentError, 'endpoint is nil' if endpoint.nil?
283
+ fail ArgumentError, 'body is nil' if body.nil?
284
+
285
+
286
+ request_headers = {}
287
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
288
+
289
+ # Set Headers
290
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
291
+ request_headers['accept-language'] = accept_language unless accept_language.nil?
292
+
293
+ # Serialize Request
294
+ request_mapper = Azure::CognitiveServices::AnomalyDetector::V1_0::Models::Request.mapper()
295
+ request_content = self.serialize(request_mapper, body)
296
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
297
+
298
+ path_template = 'timeseries/last/detect'
299
+
300
+ request_url = @base_url || self.base_url
301
+ request_url = request_url.gsub('{Endpoint}', endpoint)
302
+
303
+ options = {
304
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
305
+ body: request_content,
306
+ headers: request_headers.merge(custom_headers || {}),
307
+ base_url: request_url
308
+ }
309
+ promise = self.make_request_async(:post, path_template, options)
310
+
311
+ promise = promise.then do |result|
312
+ http_response = result.response
313
+ status_code = http_response.status
314
+ response_content = http_response.body
315
+ unless status_code == 200
316
+ error_model = JSON.load(response_content)
317
+ fail MsRest::HttpOperationError.new(result.request, http_response, error_model)
318
+ end
319
+
320
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
321
+ # Deserialize Response
322
+ if status_code == 200
323
+ begin
324
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
325
+ result_mapper = Azure::CognitiveServices::AnomalyDetector::V1_0::Models::LastDetectResponse.mapper()
326
+ result.body = self.deserialize(result_mapper, parsed_response)
327
+ rescue Exception => e
328
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
329
+ end
330
+ end
331
+
332
+ result
333
+ end
334
+
335
+ promise.execute
336
+ end
337
+
338
+
339
+ private
340
+ #
341
+ # Adds telemetry information.
342
+ #
343
+ def add_telemetry
344
+ sdk_information = 'azure_cognitiveservices_anomalydetector'
345
+ sdk_information = "#{sdk_information}/0.17.0"
346
+ add_user_agent_information(sdk_information)
347
+ end
348
+ end
349
+ end
@@ -0,0 +1,58 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator.
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::CognitiveServices::AnomalyDetector::V1_0
7
+ module Models
8
+ #
9
+ # Error information returned by the API.
10
+ #
11
+ class APIError
12
+
13
+ include MsRestAzure
14
+
15
+ # @return The error code.
16
+ attr_accessor :code
17
+
18
+ # @return [String] A message explaining the error reported by the
19
+ # service.
20
+ attr_accessor :message
21
+
22
+
23
+ #
24
+ # Mapper for APIError class as Ruby Hash.
25
+ # This will be used for serialization/deserialization.
26
+ #
27
+ def self.mapper()
28
+ {
29
+ client_side_validation: true,
30
+ required: false,
31
+ serialized_name: 'APIError',
32
+ type: {
33
+ name: 'Composite',
34
+ class_name: 'APIError',
35
+ model_properties: {
36
+ code: {
37
+ client_side_validation: true,
38
+ required: false,
39
+ serialized_name: 'code',
40
+ type: {
41
+ name: 'Object'
42
+ }
43
+ },
44
+ message: {
45
+ client_side_validation: true,
46
+ required: false,
47
+ serialized_name: 'message',
48
+ type: {
49
+ name: 'String'
50
+ }
51
+ }
52
+ }
53
+ }
54
+ }
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,183 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator.
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::CognitiveServices::AnomalyDetector::V1_0
7
+ module Models
8
+ #
9
+ # Model object.
10
+ #
11
+ #
12
+ class EntireDetectResponse
13
+
14
+ include MsRestAzure
15
+
16
+ # @return [Integer] Frequency extracted from the series, zero means no
17
+ # recurrent pattern has been found.
18
+ attr_accessor :period
19
+
20
+ # @return [Array<Float>] ExpectedValues contain expected value for each
21
+ # input point. The index of the array is consistent with the input
22
+ # series.
23
+ attr_accessor :expected_values
24
+
25
+ # @return [Array<Float>] UpperMargins contain upper margin of each input
26
+ # point. UpperMargin is used to calculate upperBoundary, which equals to
27
+ # expectedValue + (100 - marginScale)*upperMargin. Anomalies in response
28
+ # can be filtered by upperBoundary and lowerBoundary. By adjusting
29
+ # marginScale value, less significant anomalies can be filtered in client
30
+ # side. The index of the array is consistent with the input series.
31
+ attr_accessor :upper_margins
32
+
33
+ # @return [Array<Float>] LowerMargins contain lower margin of each input
34
+ # point. LowerMargin is used to calculate lowerBoundary, which equals to
35
+ # expectedValue - (100 - marginScale)*lowerMargin. Points between the
36
+ # boundary can be marked as normal ones in client side. The index of the
37
+ # array is consistent with the input series.
38
+ attr_accessor :lower_margins
39
+
40
+ # @return [Array<Boolean>] IsAnomaly contains anomaly properties for each
41
+ # input point. True means an anomaly either negative or positive has been
42
+ # detected. The index of the array is consistent with the input series.
43
+ attr_accessor :is_anomaly
44
+
45
+ # @return [Array<Boolean>] IsNegativeAnomaly contains anomaly status in
46
+ # negative direction for each input point. True means a negative anomaly
47
+ # has been detected. A negative anomaly means the point is detected as an
48
+ # anomaly and its real value is smaller than the expected one. The index
49
+ # of the array is consistent with the input series.
50
+ attr_accessor :is_negative_anomaly
51
+
52
+ # @return [Array<Boolean>] IsPositiveAnomaly contain anomaly status in
53
+ # positive direction for each input point. True means a positive anomaly
54
+ # has been detected. A positive anomaly means the point is detected as an
55
+ # anomaly and its real value is larger than the expected one. The index
56
+ # of the array is consistent with the input series.
57
+ attr_accessor :is_positive_anomaly
58
+
59
+
60
+ #
61
+ # Mapper for EntireDetectResponse class as Ruby Hash.
62
+ # This will be used for serialization/deserialization.
63
+ #
64
+ def self.mapper()
65
+ {
66
+ client_side_validation: true,
67
+ required: false,
68
+ serialized_name: 'EntireDetectResponse',
69
+ type: {
70
+ name: 'Composite',
71
+ class_name: 'EntireDetectResponse',
72
+ model_properties: {
73
+ period: {
74
+ client_side_validation: true,
75
+ required: true,
76
+ serialized_name: 'period',
77
+ type: {
78
+ name: 'Number'
79
+ }
80
+ },
81
+ expected_values: {
82
+ client_side_validation: true,
83
+ required: true,
84
+ serialized_name: 'expectedValues',
85
+ type: {
86
+ name: 'Sequence',
87
+ element: {
88
+ client_side_validation: true,
89
+ required: false,
90
+ serialized_name: 'FloatElementType',
91
+ type: {
92
+ name: 'Double'
93
+ }
94
+ }
95
+ }
96
+ },
97
+ upper_margins: {
98
+ client_side_validation: true,
99
+ required: true,
100
+ serialized_name: 'upperMargins',
101
+ type: {
102
+ name: 'Sequence',
103
+ element: {
104
+ client_side_validation: true,
105
+ required: false,
106
+ serialized_name: 'FloatElementType',
107
+ type: {
108
+ name: 'Double'
109
+ }
110
+ }
111
+ }
112
+ },
113
+ lower_margins: {
114
+ client_side_validation: true,
115
+ required: true,
116
+ serialized_name: 'lowerMargins',
117
+ type: {
118
+ name: 'Sequence',
119
+ element: {
120
+ client_side_validation: true,
121
+ required: false,
122
+ serialized_name: 'FloatElementType',
123
+ type: {
124
+ name: 'Double'
125
+ }
126
+ }
127
+ }
128
+ },
129
+ is_anomaly: {
130
+ client_side_validation: true,
131
+ required: true,
132
+ serialized_name: 'isAnomaly',
133
+ type: {
134
+ name: 'Sequence',
135
+ element: {
136
+ client_side_validation: true,
137
+ required: false,
138
+ serialized_name: 'BooleanElementType',
139
+ type: {
140
+ name: 'Boolean'
141
+ }
142
+ }
143
+ }
144
+ },
145
+ is_negative_anomaly: {
146
+ client_side_validation: true,
147
+ required: true,
148
+ serialized_name: 'isNegativeAnomaly',
149
+ type: {
150
+ name: 'Sequence',
151
+ element: {
152
+ client_side_validation: true,
153
+ required: false,
154
+ serialized_name: 'BooleanElementType',
155
+ type: {
156
+ name: 'Boolean'
157
+ }
158
+ }
159
+ }
160
+ },
161
+ is_positive_anomaly: {
162
+ client_side_validation: true,
163
+ required: true,
164
+ serialized_name: 'isPositiveAnomaly',
165
+ type: {
166
+ name: 'Sequence',
167
+ element: {
168
+ client_side_validation: true,
169
+ required: false,
170
+ serialized_name: 'BooleanElementType',
171
+ type: {
172
+ name: 'Boolean'
173
+ }
174
+ }
175
+ }
176
+ }
177
+ }
178
+ }
179
+ }
180
+ end
181
+ end
182
+ end
183
+ end
@@ -0,0 +1,20 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator.
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::CognitiveServices::AnomalyDetector::V1_0
7
+ module Models
8
+ #
9
+ # Defines values for Granularity
10
+ #
11
+ module Granularity
12
+ Yearly = "yearly"
13
+ Monthly = "monthly"
14
+ Weekly = "weekly"
15
+ Daily = "daily"
16
+ Hourly = "hourly"
17
+ Minutely = "minutely"
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,139 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator.
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::CognitiveServices::AnomalyDetector::V1_0
7
+ module Models
8
+ #
9
+ # Model object.
10
+ #
11
+ #
12
+ class LastDetectResponse
13
+
14
+ include MsRestAzure
15
+
16
+ # @return [Integer] Frequency extracted from the series, zero means no
17
+ # recurrent pattern has been found.
18
+ attr_accessor :period
19
+
20
+ # @return [Integer] Suggested input series points needed for detecting
21
+ # the latest point.
22
+ attr_accessor :suggested_window
23
+
24
+ # @return [Float] Expected value of the latest point.
25
+ attr_accessor :expected_value
26
+
27
+ # @return [Float] Upper margin of the latest point. UpperMargin is used
28
+ # to calculate upperBoundary, which equals to expectedValue + (100 -
29
+ # marginScale)*upperMargin. If the value of latest point is between
30
+ # upperBoundary and lowerBoundary, it should be treated as normal value.
31
+ # By adjusting marginScale value, anomaly status of latest point can be
32
+ # changed.
33
+ attr_accessor :upper_margin
34
+
35
+ # @return [Float] Lower margin of the latest point. LowerMargin is used
36
+ # to calculate lowerBoundary, which equals to expectedValue - (100 -
37
+ # marginScale)*lowerMargin.
38
+ attr_accessor :lower_margin
39
+
40
+ # @return [Boolean] Anomaly status of the latest point, true means the
41
+ # latest point is an anomaly either in negative direction or positive
42
+ # direction.
43
+ attr_accessor :is_anomaly
44
+
45
+ # @return [Boolean] Anomaly status in negative direction of the latest
46
+ # point. True means the latest point is an anomaly and its real value is
47
+ # smaller than the expected one.
48
+ attr_accessor :is_negative_anomaly
49
+
50
+ # @return [Boolean] Anomaly status in positive direction of the latest
51
+ # point. True means the latest point is an anomaly and its real value is
52
+ # larger than the expected one.
53
+ attr_accessor :is_positive_anomaly
54
+
55
+
56
+ #
57
+ # Mapper for LastDetectResponse class as Ruby Hash.
58
+ # This will be used for serialization/deserialization.
59
+ #
60
+ def self.mapper()
61
+ {
62
+ client_side_validation: true,
63
+ required: false,
64
+ serialized_name: 'LastDetectResponse',
65
+ type: {
66
+ name: 'Composite',
67
+ class_name: 'LastDetectResponse',
68
+ model_properties: {
69
+ period: {
70
+ client_side_validation: true,
71
+ required: true,
72
+ serialized_name: 'period',
73
+ type: {
74
+ name: 'Number'
75
+ }
76
+ },
77
+ suggested_window: {
78
+ client_side_validation: true,
79
+ required: true,
80
+ serialized_name: 'suggestedWindow',
81
+ type: {
82
+ name: 'Number'
83
+ }
84
+ },
85
+ expected_value: {
86
+ client_side_validation: true,
87
+ required: true,
88
+ serialized_name: 'expectedValue',
89
+ type: {
90
+ name: 'Double'
91
+ }
92
+ },
93
+ upper_margin: {
94
+ client_side_validation: true,
95
+ required: true,
96
+ serialized_name: 'upperMargin',
97
+ type: {
98
+ name: 'Double'
99
+ }
100
+ },
101
+ lower_margin: {
102
+ client_side_validation: true,
103
+ required: true,
104
+ serialized_name: 'lowerMargin',
105
+ type: {
106
+ name: 'Double'
107
+ }
108
+ },
109
+ is_anomaly: {
110
+ client_side_validation: true,
111
+ required: true,
112
+ serialized_name: 'isAnomaly',
113
+ type: {
114
+ name: 'Boolean'
115
+ }
116
+ },
117
+ is_negative_anomaly: {
118
+ client_side_validation: true,
119
+ required: true,
120
+ serialized_name: 'isNegativeAnomaly',
121
+ type: {
122
+ name: 'Boolean'
123
+ }
124
+ },
125
+ is_positive_anomaly: {
126
+ client_side_validation: true,
127
+ required: true,
128
+ serialized_name: 'isPositiveAnomaly',
129
+ type: {
130
+ name: 'Boolean'
131
+ }
132
+ }
133
+ }
134
+ }
135
+ }
136
+ end
137
+ end
138
+ end
139
+ end
@@ -0,0 +1,58 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator.
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::CognitiveServices::AnomalyDetector::V1_0
7
+ module Models
8
+ #
9
+ # Model object.
10
+ #
11
+ #
12
+ class Point
13
+
14
+ include MsRestAzure
15
+
16
+ # @return [DateTime] Timestamp of a data point (ISO8601 format).
17
+ attr_accessor :timestamp
18
+
19
+ # @return [Float] The measurement of that point, should be float.
20
+ attr_accessor :value
21
+
22
+
23
+ #
24
+ # Mapper for Point class as Ruby Hash.
25
+ # This will be used for serialization/deserialization.
26
+ #
27
+ def self.mapper()
28
+ {
29
+ client_side_validation: true,
30
+ required: false,
31
+ serialized_name: 'Point',
32
+ type: {
33
+ name: 'Composite',
34
+ class_name: 'Point',
35
+ model_properties: {
36
+ timestamp: {
37
+ client_side_validation: true,
38
+ required: true,
39
+ serialized_name: 'timestamp',
40
+ type: {
41
+ name: 'DateTime'
42
+ }
43
+ },
44
+ value: {
45
+ client_side_validation: true,
46
+ required: true,
47
+ serialized_name: 'value',
48
+ type: {
49
+ name: 'Double'
50
+ }
51
+ }
52
+ }
53
+ }
54
+ }
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,125 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator.
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::CognitiveServices::AnomalyDetector::V1_0
7
+ module Models
8
+ #
9
+ # Model object.
10
+ #
11
+ #
12
+ class Request
13
+
14
+ include MsRestAzure
15
+
16
+ # @return [Array<Point>] Time series data points. Points should be sorted
17
+ # by timestamp in ascending order to match the anomaly detection result.
18
+ # If the data is not sorted correctly or there is duplicated timestamp,
19
+ # the API will not work. In such case, an error message will be returned.
20
+ attr_accessor :series
21
+
22
+ # @return [Granularity] Can only be one of yearly, monthly, weekly,
23
+ # daily, hourly or minutely. Granularity is used for verify whether input
24
+ # series is valid. Possible values include: 'yearly', 'monthly',
25
+ # 'weekly', 'daily', 'hourly', 'minutely'
26
+ attr_accessor :granularity
27
+
28
+ # @return [Integer] Custom Interval is used to set non-standard time
29
+ # interval, for example, if the series is 5 minutes, request can be set
30
+ # as {"granularity":"minutely", "customInterval":5}.
31
+ attr_accessor :custom_interval
32
+
33
+ # @return [Integer] Optional argument, periodic value of a time series.
34
+ # If the value is null or does not present, the API will determine the
35
+ # period automatically.
36
+ attr_accessor :period
37
+
38
+ # @return [Float] Optional argument, advanced model parameter, max
39
+ # anomaly ratio in a time series.
40
+ attr_accessor :max_anomaly_ratio
41
+
42
+ # @return [Integer] Optional argument, advanced model parameter, between
43
+ # 0-99, the lower the value is, the larger the margin value will be which
44
+ # means less anomalies will be accepted.
45
+ attr_accessor :sensitivity
46
+
47
+
48
+ #
49
+ # Mapper for Request class as Ruby Hash.
50
+ # This will be used for serialization/deserialization.
51
+ #
52
+ def self.mapper()
53
+ {
54
+ client_side_validation: true,
55
+ required: false,
56
+ serialized_name: 'Request',
57
+ type: {
58
+ name: 'Composite',
59
+ class_name: 'Request',
60
+ model_properties: {
61
+ series: {
62
+ client_side_validation: true,
63
+ required: true,
64
+ serialized_name: 'series',
65
+ type: {
66
+ name: 'Sequence',
67
+ element: {
68
+ client_side_validation: true,
69
+ required: false,
70
+ serialized_name: 'PointElementType',
71
+ type: {
72
+ name: 'Composite',
73
+ class_name: 'Point'
74
+ }
75
+ }
76
+ }
77
+ },
78
+ granularity: {
79
+ client_side_validation: true,
80
+ required: true,
81
+ serialized_name: 'granularity',
82
+ type: {
83
+ name: 'Enum',
84
+ module: 'Granularity'
85
+ }
86
+ },
87
+ custom_interval: {
88
+ client_side_validation: true,
89
+ required: false,
90
+ serialized_name: 'customInterval',
91
+ type: {
92
+ name: 'Number'
93
+ }
94
+ },
95
+ period: {
96
+ client_side_validation: true,
97
+ required: false,
98
+ serialized_name: 'period',
99
+ type: {
100
+ name: 'Number'
101
+ }
102
+ },
103
+ max_anomaly_ratio: {
104
+ client_side_validation: true,
105
+ required: false,
106
+ serialized_name: 'maxAnomalyRatio',
107
+ type: {
108
+ name: 'Double'
109
+ }
110
+ },
111
+ sensitivity: {
112
+ client_side_validation: true,
113
+ required: false,
114
+ serialized_name: 'sensitivity',
115
+ type: {
116
+ name: 'Number'
117
+ }
118
+ }
119
+ }
120
+ }
121
+ }
122
+ end
123
+ end
124
+ end
125
+ end
@@ -0,0 +1,9 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator.
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure end
7
+ module Azure::CognitiveServices end
8
+ module Azure::CognitiveServices::AnomalyDetector end
9
+ module Azure::CognitiveServices::AnomalyDetector::V1_0 end
@@ -0,0 +1,6 @@
1
+ # encoding: utf-8
2
+ # Copyright (c) Microsoft Corporation. All rights reserved.
3
+ # Licensed under the MIT License. See License.txt in the project root for license information.
4
+
5
+ require '1.0/generated/azure_cognitiveservices_anomalydetector'
6
+ require 'profiles/latest/anomalydetector_latest_profile_client'
@@ -0,0 +1,7 @@
1
+ # encoding: utf-8
2
+ # Copyright (c) Microsoft Corporation. All rights reserved.
3
+ # Licensed under the MIT License. See License.txt in the project root for license information.
4
+
5
+ module Azure end
6
+ module Azure::CognitiveServices end
7
+ module Azure::CognitiveServices::AnomalyDetector end
@@ -0,0 +1,38 @@
1
+ # encoding: utf-8
2
+ # Copyright (c) Microsoft Corporation. All rights reserved.
3
+ # Licensed under the MIT License. See License.txt in the project root for license information.
4
+
5
+ require 'profiles/latest/anomalydetector_module_definition'
6
+ require 'profiles/latest/modules/anomalydetector_profile_module'
7
+
8
+ module Azure::AnomalyDetector::Profiles::Latest
9
+ #
10
+ # Client class for the Latest profile SDK.
11
+ #
12
+ class Client < AnomalyDetectorDataClass
13
+ include MsRestAzure::Common::Configurable
14
+
15
+ #
16
+ # Initializes a new instance of the Client class.
17
+ # @param options [Hash] hash of client options.
18
+ # options = {
19
+ # tenant_id: 'YOUR TENANT ID',
20
+ # client_id: 'YOUR CLIENT ID',
21
+ # client_secret: 'YOUR CLIENT SECRET',
22
+ # subscription_id: 'YOUR SUBSCRIPTION ID',
23
+ # credentials: credentials,
24
+ # active_directory_settings: active_directory_settings,
25
+ # base_url: 'YOUR BASE URL',
26
+ # options: options
27
+ # }
28
+ # 'credentials' are optional and if not passed in the hash, will be obtained
29
+ # from MsRest::TokenCredentials using MsRestAzure::ApplicationTokenProvider.
30
+ #
31
+ # Also, base_url, active_directory_settings & options are optional.
32
+ #
33
+ def initialize(options = {})
34
+ super(options)
35
+ end
36
+
37
+ end
38
+ end
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+ # Copyright (c) Microsoft Corporation. All rights reserved.
3
+ # Licensed under the MIT License. See License.txt in the project root for license information.
4
+
5
+ module Azure end
6
+ module Azure::AnomalyDetector end
7
+ module Azure::AnomalyDetector::Profiles end
8
+ module Azure::AnomalyDetector::Profiles::Latest end
@@ -0,0 +1,81 @@
1
+ # encoding: utf-8
2
+ # Copyright (c) Microsoft Corporation. All rights reserved.
3
+ # Licensed under the MIT License. See License.txt in the project root for license information.
4
+
5
+ require 'azure_cognitiveservices_anomalydetector'
6
+
7
+ module Azure::AnomalyDetector::Profiles::Latest
8
+
9
+ module Models
10
+ Request = Azure::CognitiveServices::AnomalyDetector::V1_0::Models::Request
11
+ EntireDetectResponse = Azure::CognitiveServices::AnomalyDetector::V1_0::Models::EntireDetectResponse
12
+ Point = Azure::CognitiveServices::AnomalyDetector::V1_0::Models::Point
13
+ LastDetectResponse = Azure::CognitiveServices::AnomalyDetector::V1_0::Models::LastDetectResponse
14
+ APIError = Azure::CognitiveServices::AnomalyDetector::V1_0::Models::APIError
15
+ Granularity = Azure::CognitiveServices::AnomalyDetector::V1_0::Models::Granularity
16
+ end
17
+
18
+ #
19
+ # AnomalyDetectorDataClass
20
+ #
21
+ class AnomalyDetectorDataClass
22
+ attr_reader :configurable, :base_url, :options, :model_classes
23
+
24
+ def initialize(options = {})
25
+ if options.is_a?(Hash) && options.length == 0
26
+ @options = setup_default_options
27
+ else
28
+ @options = options
29
+ end
30
+
31
+ reset!(options)
32
+
33
+ @configurable = self
34
+ @base_url = options[:base_url].nil? ? nil:options[:base_url]
35
+ @options = options[:options].nil? ? nil:options[:options]
36
+
37
+ @client_0 = Azure::CognitiveServices::AnomalyDetector::V1_0::AnomalyDetectorClient.new(configurable.credentials, options)
38
+ if(@client_0.respond_to?(:subscription_id))
39
+ @client_0.subscription_id = configurable.subscription_id
40
+ end
41
+ add_telemetry(@client_0)
42
+
43
+ @model_classes = ModelClasses.new
44
+ end
45
+
46
+ def add_telemetry(client)
47
+ profile_information = 'Profiles/Latest/AnomalyDetector'
48
+ client.add_user_agent_information(profile_information)
49
+ end
50
+
51
+ def method_missing(method, *args)
52
+ if @client_0.respond_to?method
53
+ @client_0.send(method, *args)
54
+ else
55
+ super
56
+ end
57
+ end
58
+
59
+ end
60
+
61
+ class ModelClasses
62
+ def request
63
+ Azure::CognitiveServices::AnomalyDetector::V1_0::Models::Request
64
+ end
65
+ def entire_detect_response
66
+ Azure::CognitiveServices::AnomalyDetector::V1_0::Models::EntireDetectResponse
67
+ end
68
+ def point
69
+ Azure::CognitiveServices::AnomalyDetector::V1_0::Models::Point
70
+ end
71
+ def last_detect_response
72
+ Azure::CognitiveServices::AnomalyDetector::V1_0::Models::LastDetectResponse
73
+ end
74
+ def apierror
75
+ Azure::CognitiveServices::AnomalyDetector::V1_0::Models::APIError
76
+ end
77
+ def granularity
78
+ Azure::CognitiveServices::AnomalyDetector::V1_0::Models::Granularity
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,7 @@
1
+ # encoding: utf-8
2
+ # Copyright (c) Microsoft Corporation. All rights reserved.
3
+ # Licensed under the MIT License. See License.txt in the project root for license information.
4
+
5
+ module Azure::CognitiveServices::AnomalyDetector
6
+ VERSION = '0.17.0'
7
+ end
metadata ADDED
@@ -0,0 +1,136 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: azure_cognitiveservices_anomalydetector
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.17.0
5
+ platform: ruby
6
+ authors:
7
+ - Microsoft Corporation
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-04-01 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.9'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.9'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3'
55
+ - !ruby/object:Gem::Dependency
56
+ name: dotenv
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2'
69
+ - !ruby/object:Gem::Dependency
70
+ name: ms_rest_azure
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 0.11.0
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.11.0
83
+ description: Microsoft Azure Cognitive Services Anomaly Detector Client Library for
84
+ Ruby
85
+ email: azrubyteam@microsoft.com
86
+ executables: []
87
+ extensions: []
88
+ extra_rdoc_files: []
89
+ files:
90
+ - LICENSE.txt
91
+ - lib/1.0/generated/azure_cognitiveservices_anomalydetector.rb
92
+ - lib/1.0/generated/azure_cognitiveservices_anomalydetector/anomaly_detector_client.rb
93
+ - lib/1.0/generated/azure_cognitiveservices_anomalydetector/models/apierror.rb
94
+ - lib/1.0/generated/azure_cognitiveservices_anomalydetector/models/entire_detect_response.rb
95
+ - lib/1.0/generated/azure_cognitiveservices_anomalydetector/models/granularity.rb
96
+ - lib/1.0/generated/azure_cognitiveservices_anomalydetector/models/last_detect_response.rb
97
+ - lib/1.0/generated/azure_cognitiveservices_anomalydetector/models/point.rb
98
+ - lib/1.0/generated/azure_cognitiveservices_anomalydetector/models/request.rb
99
+ - lib/1.0/generated/azure_cognitiveservices_anomalydetector/module_definition.rb
100
+ - lib/azure_cognitiveservices_anomalydetector.rb
101
+ - lib/module_definition.rb
102
+ - lib/profiles/latest/anomalydetector_latest_profile_client.rb
103
+ - lib/profiles/latest/anomalydetector_module_definition.rb
104
+ - lib/profiles/latest/modules/anomalydetector_profile_module.rb
105
+ - lib/version.rb
106
+ homepage: https://aka.ms/azure-sdk-for-ruby
107
+ licenses:
108
+ - MIT
109
+ metadata:
110
+ bug_tracker_uri: https://github.com/Azure/azure-sdk-for-ruby/issues
111
+ changelog_uri: https://github.com/Azure/azure-sdk-for-ruby/blob/master/ChangeLog.md
112
+ documentation_uri: https://azure.microsoft.com/en-us/develop/ruby/
113
+ homepage_uri: https://aka.ms/azure-sdk-for-ruby
114
+ source_code_uri: https://github.com/Azure/azure-sdk-for-ruby/tree/master/data/azure_cognitiveservices_anomalydetector
115
+ post_install_message:
116
+ rdoc_options: []
117
+ require_paths:
118
+ - lib
119
+ required_ruby_version: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: 2.0.0
124
+ required_rubygems_version: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - ">="
127
+ - !ruby/object:Gem::Version
128
+ version: '0'
129
+ requirements: []
130
+ rubyforge_project:
131
+ rubygems_version: 2.7.6
132
+ signing_key:
133
+ specification_version: 4
134
+ summary: Official Ruby client library to consume Microsoft Azure Cognitive Services
135
+ Anomaly Detector.
136
+ test_files: []