test-pack-1 1.0.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.
Files changed (53) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +872 -0
  4. data/lib/test_pack_1.rb +63 -0
  5. data/lib/test_pack_1/api_helper.rb +275 -0
  6. data/lib/test_pack_1/configuration.rb +63 -0
  7. data/lib/test_pack_1/controllers/alerts_controller.rb +381 -0
  8. data/lib/test_pack_1/controllers/assets_controller.rb +227 -0
  9. data/lib/test_pack_1/controllers/base_controller.rb +51 -0
  10. data/lib/test_pack_1/controllers/configuration_data_controller.rb +76 -0
  11. data/lib/test_pack_1/controllers/data_controller.rb +349 -0
  12. data/lib/test_pack_1/controllers/statuses_controller.rb +215 -0
  13. data/lib/test_pack_1/exceptions/api_exception.rb +20 -0
  14. data/lib/test_pack_1/http/auth/custom_query_auth.rb +16 -0
  15. data/lib/test_pack_1/http/faraday_client.rb +64 -0
  16. data/lib/test_pack_1/http/http_call_back.rb +24 -0
  17. data/lib/test_pack_1/http/http_client.rb +104 -0
  18. data/lib/test_pack_1/http/http_context.rb +20 -0
  19. data/lib/test_pack_1/http/http_method_enum.rb +13 -0
  20. data/lib/test_pack_1/http/http_request.rb +50 -0
  21. data/lib/test_pack_1/http/http_response.rb +23 -0
  22. data/lib/test_pack_1/models/aggregate_mode_enum.rb +23 -0
  23. data/lib/test_pack_1/models/alert_item.rb +104 -0
  24. data/lib/test_pack_1/models/base_model.rb +36 -0
  25. data/lib/test_pack_1/models/calculation_mode_enum.rb +20 -0
  26. data/lib/test_pack_1/models/client_configuration.rb +62 -0
  27. data/lib/test_pack_1/models/configuration_item.rb +55 -0
  28. data/lib/test_pack_1/models/data_item.rb +92 -0
  29. data/lib/test_pack_1/models/data_per_category_item.rb +82 -0
  30. data/lib/test_pack_1/models/data_per_category_response.rb +63 -0
  31. data/lib/test_pack_1/models/data_real_time_item.rb +83 -0
  32. data/lib/test_pack_1/models/data_signal.rb +53 -0
  33. data/lib/test_pack_1/models/data_signal_configuration.rb +66 -0
  34. data/lib/test_pack_1/models/data_signal_item.rb +62 -0
  35. data/lib/test_pack_1/models/device.rb +208 -0
  36. data/lib/test_pack_1/models/device_model.rb +53 -0
  37. data/lib/test_pack_1/models/metadata_field.rb +44 -0
  38. data/lib/test_pack_1/models/power_curve.rb +60 -0
  39. data/lib/test_pack_1/models/power_curve_value.rb +44 -0
  40. data/lib/test_pack_1/models/resolution_enum.rb +41 -0
  41. data/lib/test_pack_1/models/site.rb +44 -0
  42. data/lib/test_pack_1/models/site_with_data.rb +78 -0
  43. data/lib/test_pack_1/models/status_category_enum.rb +26 -0
  44. data/lib/test_pack_1/models/status_item.rb +161 -0
  45. data/lib/test_pack_1/models/time_zone_configuration.rb +76 -0
  46. data/lib/test_pack_1/models/turbine_type.rb +89 -0
  47. data/lib/test_pack_1/test_pack1_client.rb +51 -0
  48. data/test/controllers/controller_test_base.rb +33 -0
  49. data/test/controllers/test_assets_controller.rb +46 -0
  50. data/test/controllers/test_configuration_data_controller.rb +44 -0
  51. data/test/http_response_catcher.rb +20 -0
  52. data/test/test_helper.rb +99 -0
  53. metadata +219 -0
@@ -0,0 +1,82 @@
1
+ # test_pack_1
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0 (
4
+ # https://apimatic.io ).
5
+
6
+ module TestPack1
7
+ # Data for a single aggregate group and contract category combination.
8
+ class DataPerCategoryItem < BaseModel
9
+ # The id of this aggregate group: device id, site id, or the constant -1 for
10
+ # portfolio
11
+ # @return [Integer]
12
+ attr_accessor :aggregate_id
13
+
14
+ # The ids of the devices in this aggregate group.
15
+ # @return [List of Integer]
16
+ attr_accessor :device_ids
17
+
18
+ # The ids of the devices in this aggregate group.
19
+ # @return [String]
20
+ attr_accessor :contract_title
21
+
22
+ # The ids of the devices in this aggregate group.
23
+ # @return [String]
24
+ attr_accessor :category_title
25
+
26
+ # The aggregated value of the selected data signal.
27
+ # @return [Float]
28
+ attr_accessor :value
29
+
30
+ # The summed duration in seconds allocated to this contract category and
31
+ # aggregate group.
32
+ # @return [Float]
33
+ attr_accessor :duration
34
+
35
+ # A mapping from model property names to API property names.
36
+ def self.names
37
+ @_hash = {} if @_hash.nil?
38
+ @_hash['aggregate_id'] = 'aggregateId'
39
+ @_hash['device_ids'] = 'deviceIds'
40
+ @_hash['contract_title'] = 'contractTitle'
41
+ @_hash['category_title'] = 'categoryTitle'
42
+ @_hash['value'] = 'value'
43
+ @_hash['duration'] = 'duration'
44
+ @_hash
45
+ end
46
+
47
+ def initialize(aggregate_id = nil,
48
+ device_ids = nil,
49
+ contract_title = nil,
50
+ category_title = nil,
51
+ value = nil,
52
+ duration = nil)
53
+ @aggregate_id = aggregate_id
54
+ @device_ids = device_ids
55
+ @contract_title = contract_title
56
+ @category_title = category_title
57
+ @value = value
58
+ @duration = duration
59
+ end
60
+
61
+ # Creates an instance of the object from a hash.
62
+ def self.from_hash(hash)
63
+ return nil unless hash
64
+
65
+ # Extract variables from the hash.
66
+ aggregate_id = hash['aggregateId']
67
+ device_ids = hash['deviceIds']
68
+ contract_title = hash['contractTitle']
69
+ category_title = hash['categoryTitle']
70
+ value = hash['value']
71
+ duration = hash['duration']
72
+
73
+ # Create object from extracted values.
74
+ DataPerCategoryItem.new(aggregate_id,
75
+ device_ids,
76
+ contract_title,
77
+ category_title,
78
+ value,
79
+ duration)
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,63 @@
1
+ # test_pack_1
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0 (
4
+ # https://apimatic.io ).
5
+
6
+ module TestPack1
7
+ # An object containing data grouped by contract category and aggregate.
8
+ class DataPerCategoryResponse < BaseModel
9
+ # A data signal.
10
+ # @return [DataSignal]
11
+ attr_accessor :data_signal
12
+
13
+ # Which operation to use when aggregating data.
14
+ # @return [CalculationModeEnum]
15
+ attr_accessor :calculation
16
+
17
+ # A list of objects: one per combination of
18
+ # * aggregate
19
+ # * contract category
20
+ # @return [List of DataPerCategoryItem]
21
+ attr_accessor :data
22
+
23
+ # A mapping from model property names to API property names.
24
+ def self.names
25
+ @_hash = {} if @_hash.nil?
26
+ @_hash['data_signal'] = 'dataSignal'
27
+ @_hash['calculation'] = 'calculation'
28
+ @_hash['data'] = 'data'
29
+ @_hash
30
+ end
31
+
32
+ def initialize(data_signal = nil,
33
+ calculation = nil,
34
+ data = nil)
35
+ @data_signal = data_signal
36
+ @calculation = calculation
37
+ @data = data
38
+ end
39
+
40
+ # Creates an instance of the object from a hash.
41
+ def self.from_hash(hash)
42
+ return nil unless hash
43
+
44
+ # Extract variables from the hash.
45
+ data_signal = DataSignal.from_hash(hash['dataSignal']) if
46
+ hash['dataSignal']
47
+ calculation = hash['calculation']
48
+ # Parameter is an array, so we need to iterate through it
49
+ data = nil
50
+ unless hash['data'].nil?
51
+ data = []
52
+ hash['data'].each do |structure|
53
+ data << (DataPerCategoryItem.from_hash(structure) if structure)
54
+ end
55
+ end
56
+
57
+ # Create object from extracted values.
58
+ DataPerCategoryResponse.new(data_signal,
59
+ calculation,
60
+ data)
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,83 @@
1
+ # test_pack_1
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0 (
4
+ # https://apimatic.io ).
5
+
6
+ module TestPack1
7
+ # An object containing a single data point for a specific aggregate, data
8
+ # signal and interval.
9
+ class DataRealTimeItem < BaseModel
10
+ # How data is aggregated in the asset structure.
11
+ # @return [AggregateModeEnum]
12
+ attr_accessor :aggregate
13
+
14
+ # The id of this aggregate group: device id, site id, or the constant -1 for
15
+ # portfolio
16
+ # @return [Integer]
17
+ attr_accessor :aggregate_id
18
+
19
+ # The ids of the devices in this aggregate group.
20
+ # @return [List of Integer]
21
+ attr_accessor :device_ids
22
+
23
+ # Which operation to use when aggregating data.
24
+ # @return [CalculationModeEnum]
25
+ attr_accessor :calculation
26
+
27
+ # A data signal.
28
+ # @return [DataSignal]
29
+ attr_accessor :data_signal
30
+
31
+ # A data signal.
32
+ # @return [Array<String, Float>]
33
+ attr_accessor :data
34
+
35
+ # A mapping from model property names to API property names.
36
+ def self.names
37
+ @_hash = {} if @_hash.nil?
38
+ @_hash['aggregate'] = 'aggregate'
39
+ @_hash['aggregate_id'] = 'aggregateId'
40
+ @_hash['device_ids'] = 'deviceIds'
41
+ @_hash['calculation'] = 'calculation'
42
+ @_hash['data_signal'] = 'dataSignal'
43
+ @_hash['data'] = 'data'
44
+ @_hash
45
+ end
46
+
47
+ def initialize(aggregate = nil,
48
+ aggregate_id = nil,
49
+ device_ids = nil,
50
+ calculation = nil,
51
+ data_signal = nil,
52
+ data = nil)
53
+ @aggregate = aggregate
54
+ @aggregate_id = aggregate_id
55
+ @device_ids = device_ids
56
+ @calculation = calculation
57
+ @data_signal = data_signal
58
+ @data = data
59
+ end
60
+
61
+ # Creates an instance of the object from a hash.
62
+ def self.from_hash(hash)
63
+ return nil unless hash
64
+
65
+ # Extract variables from the hash.
66
+ aggregate = hash['aggregate']
67
+ aggregate_id = hash['aggregateId']
68
+ device_ids = hash['deviceIds']
69
+ calculation = hash['calculation']
70
+ data_signal = DataSignal.from_hash(hash['dataSignal']) if
71
+ hash['dataSignal']
72
+ data = hash['data']
73
+
74
+ # Create object from extracted values.
75
+ DataRealTimeItem.new(aggregate,
76
+ aggregate_id,
77
+ device_ids,
78
+ calculation,
79
+ data_signal,
80
+ data)
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,53 @@
1
+ # test_pack_1
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0 (
4
+ # https://apimatic.io ).
5
+
6
+ module TestPack1
7
+ # A data signal.
8
+ class DataSignal < BaseModel
9
+ # The unique id of a data signal.
10
+ # @return [Integer]
11
+ attr_accessor :data_signal_id
12
+
13
+ # The unique id of a data signal.
14
+ # @return [String]
15
+ attr_accessor :title
16
+
17
+ # The unique id of a data signal.
18
+ # @return [String]
19
+ attr_accessor :unit
20
+
21
+ # A mapping from model property names to API property names.
22
+ def self.names
23
+ @_hash = {} if @_hash.nil?
24
+ @_hash['data_signal_id'] = 'dataSignalId'
25
+ @_hash['title'] = 'title'
26
+ @_hash['unit'] = 'unit'
27
+ @_hash
28
+ end
29
+
30
+ def initialize(data_signal_id = nil,
31
+ title = nil,
32
+ unit = nil)
33
+ @data_signal_id = data_signal_id
34
+ @title = title
35
+ @unit = unit
36
+ end
37
+
38
+ # Creates an instance of the object from a hash.
39
+ def self.from_hash(hash)
40
+ return nil unless hash
41
+
42
+ # Extract variables from the hash.
43
+ data_signal_id = hash['dataSignalId']
44
+ title = hash['title']
45
+ unit = hash['unit']
46
+
47
+ # Create object from extracted values.
48
+ DataSignal.new(data_signal_id,
49
+ title,
50
+ unit)
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,66 @@
1
+ # test_pack_1
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0 (
4
+ # https://apimatic.io ).
5
+
6
+ module TestPack1
7
+ # Your data signal configuration. These only apply to wind devices.
8
+ class DataSignalConfiguration < BaseModel
9
+ # The id of the data signal used for time-based availability data.
10
+ # @return [Integer]
11
+ attr_accessor :availability_time_data_signal_id
12
+
13
+ # The id of the data signal used for production-based availability data.
14
+ # @return [Integer]
15
+ attr_accessor :availability_production_data_signal_id
16
+
17
+ # The id of the data signal used for lost production data.
18
+ # @return [Integer]
19
+ attr_accessor :lost_production_data_signal_id
20
+
21
+ # The id of the data signal used for performance data.
22
+ # @return [Integer]
23
+ attr_accessor :performance_data_signal_id
24
+
25
+ # A mapping from model property names to API property names.
26
+ def self.names
27
+ @_hash = {} if @_hash.nil?
28
+ @_hash['availability_time_data_signal_id'] =
29
+ 'availabilityTimeDataSignalId'
30
+ @_hash['availability_production_data_signal_id'] =
31
+ 'availabilityProductionDataSignalId'
32
+ @_hash['lost_production_data_signal_id'] = 'lostProductionDataSignalId'
33
+ @_hash['performance_data_signal_id'] = 'performanceDataSignalId'
34
+ @_hash
35
+ end
36
+
37
+ def initialize(availability_time_data_signal_id = nil,
38
+ availability_production_data_signal_id = nil,
39
+ lost_production_data_signal_id = nil,
40
+ performance_data_signal_id = nil)
41
+ @availability_time_data_signal_id = availability_time_data_signal_id
42
+ @availability_production_data_signal_id =
43
+ availability_production_data_signal_id
44
+ @lost_production_data_signal_id = lost_production_data_signal_id
45
+ @performance_data_signal_id = performance_data_signal_id
46
+ end
47
+
48
+ # Creates an instance of the object from a hash.
49
+ def self.from_hash(hash)
50
+ return nil unless hash
51
+
52
+ # Extract variables from the hash.
53
+ availability_time_data_signal_id = hash['availabilityTimeDataSignalId']
54
+ availability_production_data_signal_id =
55
+ hash['availabilityProductionDataSignalId']
56
+ lost_production_data_signal_id = hash['lostProductionDataSignalId']
57
+ performance_data_signal_id = hash['performanceDataSignalId']
58
+
59
+ # Create object from extracted values.
60
+ DataSignalConfiguration.new(availability_time_data_signal_id,
61
+ availability_production_data_signal_id,
62
+ lost_production_data_signal_id,
63
+ performance_data_signal_id)
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,62 @@
1
+ # test_pack_1
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0 (
4
+ # https://apimatic.io ).
5
+
6
+ module TestPack1
7
+ # A data signal, including type.
8
+ class DataSignalItem < BaseModel
9
+ # The unique id of a data signal.
10
+ # @return [Integer]
11
+ attr_accessor :data_signal_id
12
+
13
+ # The unique id of a data signal.
14
+ # @return [String]
15
+ attr_accessor :title
16
+
17
+ # The unique id of a data signal.
18
+ # @return [String]
19
+ attr_accessor :type
20
+
21
+ # The unique id of a data signal.
22
+ # @return [String]
23
+ attr_accessor :unit
24
+
25
+ # A mapping from model property names to API property names.
26
+ def self.names
27
+ @_hash = {} if @_hash.nil?
28
+ @_hash['data_signal_id'] = 'dataSignalId'
29
+ @_hash['title'] = 'title'
30
+ @_hash['type'] = 'type'
31
+ @_hash['unit'] = 'unit'
32
+ @_hash
33
+ end
34
+
35
+ def initialize(data_signal_id = nil,
36
+ title = nil,
37
+ type = nil,
38
+ unit = nil)
39
+ @data_signal_id = data_signal_id
40
+ @title = title
41
+ @type = type
42
+ @unit = unit
43
+ end
44
+
45
+ # Creates an instance of the object from a hash.
46
+ def self.from_hash(hash)
47
+ return nil unless hash
48
+
49
+ # Extract variables from the hash.
50
+ data_signal_id = hash['dataSignalId']
51
+ title = hash['title']
52
+ type = hash['type']
53
+ unit = hash['unit']
54
+
55
+ # Create object from extracted values.
56
+ DataSignalItem.new(data_signal_id,
57
+ title,
58
+ type,
59
+ unit)
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,208 @@
1
+ # test_pack_1
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0 (
4
+ # https://apimatic.io ).
5
+
6
+ require 'date'
7
+ module TestPack1
8
+ # Device Model.
9
+ class Device < BaseModel
10
+ # The id of a device.
11
+ # @return [Integer]
12
+ attr_accessor :device_id
13
+
14
+ # The id of a device.
15
+ # @return [String]
16
+ attr_accessor :title
17
+
18
+ # An alternative title.
19
+ # @return [String]
20
+ attr_accessor :alt_title
21
+
22
+ # Device identification number.
23
+ # @return [String]
24
+ attr_accessor :identity
25
+
26
+ # Device identification number.
27
+ # @return [Site]
28
+ attr_accessor :site
29
+
30
+ # The string representation of the device type.
31
+ # @return [String]
32
+ attr_accessor :device_type
33
+
34
+ # The id of a device type.
35
+ # @return [Integer]
36
+ attr_accessor :device_type_id
37
+
38
+ # The id of the parent device, if any.
39
+ # @return [Integer]
40
+ attr_accessor :parent_id
41
+
42
+ # Ids of child devices, if any.
43
+ # @return [List of Integer]
44
+ attr_accessor :child_ids
45
+
46
+ # General device model information.
47
+ # @return [DeviceModel]
48
+ attr_accessor :device_model
49
+
50
+ # Turbine-specific type information.
51
+ # @return [TurbineType]
52
+ attr_accessor :turbine_type
53
+
54
+ # The maximum power for a device.
55
+ # @return [Integer]
56
+ attr_accessor :max_power
57
+
58
+ # Only applies to Nordic countries and the UK.
59
+ # @return [String]
60
+ attr_accessor :bidding_area
61
+
62
+ # The earliest timestamp device data is available for.
63
+ # @return [DateTime]
64
+ attr_accessor :timestamp_start
65
+
66
+ # The latitude of the device in the WGS84 system.
67
+ # @return [String]
68
+ attr_accessor :latitude
69
+
70
+ # The longitude of the device in the WGS84 system.
71
+ # @return [String]
72
+ attr_accessor :longitude
73
+
74
+ # The elevation of the device in meters above sea level.
75
+ # @return [String]
76
+ attr_accessor :elevation
77
+
78
+ # The target availability for the device.
79
+ # @return [Float]
80
+ attr_accessor :target_availability
81
+
82
+ # A list of metadata fields and their values.
83
+ # @return [List of MetadataField]
84
+ attr_accessor :metadata
85
+
86
+ # A mapping from model property names to API property names.
87
+ def self.names
88
+ @_hash = {} if @_hash.nil?
89
+ @_hash['device_id'] = 'deviceId'
90
+ @_hash['title'] = 'title'
91
+ @_hash['alt_title'] = 'altTitle'
92
+ @_hash['identity'] = 'identity'
93
+ @_hash['site'] = 'site'
94
+ @_hash['device_type'] = 'deviceType'
95
+ @_hash['device_type_id'] = 'deviceTypeId'
96
+ @_hash['parent_id'] = 'parentId'
97
+ @_hash['child_ids'] = 'childIds'
98
+ @_hash['device_model'] = 'deviceModel'
99
+ @_hash['turbine_type'] = 'turbineType'
100
+ @_hash['max_power'] = 'maxPower'
101
+ @_hash['bidding_area'] = 'biddingArea'
102
+ @_hash['timestamp_start'] = 'timestampStart'
103
+ @_hash['latitude'] = 'latitude'
104
+ @_hash['longitude'] = 'longitude'
105
+ @_hash['elevation'] = 'elevation'
106
+ @_hash['target_availability'] = 'targetAvailability'
107
+ @_hash['metadata'] = 'metadata'
108
+ @_hash
109
+ end
110
+
111
+ def initialize(device_id = nil,
112
+ title = nil,
113
+ alt_title = nil,
114
+ identity = nil,
115
+ site = nil,
116
+ device_type = nil,
117
+ device_type_id = nil,
118
+ parent_id = nil,
119
+ child_ids = nil,
120
+ device_model = nil,
121
+ turbine_type = nil,
122
+ max_power = nil,
123
+ bidding_area = nil,
124
+ timestamp_start = nil,
125
+ latitude = nil,
126
+ longitude = nil,
127
+ elevation = nil,
128
+ target_availability = nil,
129
+ metadata = nil)
130
+ @device_id = device_id
131
+ @title = title
132
+ @alt_title = alt_title
133
+ @identity = identity
134
+ @site = site
135
+ @device_type = device_type
136
+ @device_type_id = device_type_id
137
+ @parent_id = parent_id
138
+ @child_ids = child_ids
139
+ @device_model = device_model
140
+ @turbine_type = turbine_type
141
+ @max_power = max_power
142
+ @bidding_area = bidding_area
143
+ @timestamp_start = timestamp_start
144
+ @latitude = latitude
145
+ @longitude = longitude
146
+ @elevation = elevation
147
+ @target_availability = target_availability
148
+ @metadata = metadata
149
+ end
150
+
151
+ # Creates an instance of the object from a hash.
152
+ def self.from_hash(hash)
153
+ return nil unless hash
154
+
155
+ # Extract variables from the hash.
156
+ device_id = hash['deviceId']
157
+ title = hash['title']
158
+ alt_title = hash['altTitle']
159
+ identity = hash['identity']
160
+ site = Site.from_hash(hash['site']) if hash['site']
161
+ device_type = hash['deviceType']
162
+ device_type_id = hash['deviceTypeId']
163
+ parent_id = hash['parentId']
164
+ child_ids = hash['childIds']
165
+ device_model = DeviceModel.from_hash(hash['deviceModel']) if
166
+ hash['deviceModel']
167
+ turbine_type = TurbineType.from_hash(hash['turbineType']) if
168
+ hash['turbineType']
169
+ max_power = hash['maxPower']
170
+ bidding_area = hash['biddingArea']
171
+ timestamp_start = APIHelper.rfc3339(hash['timestampStart']) if
172
+ hash['timestampStart']
173
+ latitude = hash['latitude']
174
+ longitude = hash['longitude']
175
+ elevation = hash['elevation']
176
+ target_availability = hash['targetAvailability']
177
+ # Parameter is an array, so we need to iterate through it
178
+ metadata = nil
179
+ unless hash['metadata'].nil?
180
+ metadata = []
181
+ hash['metadata'].each do |structure|
182
+ metadata << (MetadataField.from_hash(structure) if structure)
183
+ end
184
+ end
185
+
186
+ # Create object from extracted values.
187
+ Device.new(device_id,
188
+ title,
189
+ alt_title,
190
+ identity,
191
+ site,
192
+ device_type,
193
+ device_type_id,
194
+ parent_id,
195
+ child_ids,
196
+ device_model,
197
+ turbine_type,
198
+ max_power,
199
+ bidding_area,
200
+ timestamp_start,
201
+ latitude,
202
+ longitude,
203
+ elevation,
204
+ target_availability,
205
+ metadata)
206
+ end
207
+ end
208
+ end