netilion 0.1.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/.github/workflows/ruby.yml +22 -0
- data/.gitignore +9 -0
- data/.rubocop.yml +74 -0
- data/.ruby-version +1 -0
- data/Gemfile +7 -0
- data/LICENSE.txt +21 -0
- data/README.md +155 -0
- data/Rakefile +12 -0
- data/bin/console +15 -0
- data/bin/setup +8 -0
- data/lib/netilion.rb +53 -0
- data/lib/netilion/api_key.rb +12 -0
- data/lib/netilion/api_subscription.rb +13 -0
- data/lib/netilion/asset.rb +18 -0
- data/lib/netilion/asset_health_condition.rb +13 -0
- data/lib/netilion/asset_status.rb +17 -0
- data/lib/netilion/asset_value.rb +12 -0
- data/lib/netilion/attachment.rb +12 -0
- data/lib/netilion/authentication.rb +15 -0
- data/lib/netilion/bill_of_material.rb +10 -0
- data/lib/netilion/client_application.rb +13 -0
- data/lib/netilion/company.rb +12 -0
- data/lib/netilion/delivery.rb +14 -0
- data/lib/netilion/delivery_status.rb +12 -0
- data/lib/netilion/document.rb +14 -0
- data/lib/netilion/document_category.rb +13 -0
- data/lib/netilion/document_classification.rb +12 -0
- data/lib/netilion/document_status.rb +12 -0
- data/lib/netilion/edm.rb +6 -0
- data/lib/netilion/edm/edge_device.rb +23 -0
- data/lib/netilion/edm/edge_device_status.rb +19 -0
- data/lib/netilion/edm/edge_device_type.rb +19 -0
- data/lib/netilion/edm/field_gateway.rb +22 -0
- data/lib/netilion/edm/field_gateway_status.rb +19 -0
- data/lib/netilion/edm/field_gateway_type.rb +19 -0
- data/lib/netilion/edm/network_interface.rb +19 -0
- data/lib/netilion/edm/record.rb +8 -0
- data/lib/netilion/edm/software_image.rb +20 -0
- data/lib/netilion/edm/software_image_type.rb +19 -0
- data/lib/netilion/edm/software_version.rb +21 -0
- data/lib/netilion/edm/software_version_status.rb +19 -0
- data/lib/netilion/edm/specification.rb +12 -0
- data/lib/netilion/edm/update_schedule.rb +21 -0
- data/lib/netilion/edm/update_schedule_status.rb +19 -0
- data/lib/netilion/event.rb +14 -0
- data/lib/netilion/event_status.rb +12 -0
- data/lib/netilion/event_type.rb +12 -0
- data/lib/netilion/extended_order_code_lookup.rb +7 -0
- data/lib/netilion/health_condition.rb +13 -0
- data/lib/netilion/health_condition_cause.rb +10 -0
- data/lib/netilion/health_condition_remedy.rb +10 -0
- data/lib/netilion/instrumentation.rb +15 -0
- data/lib/netilion/instrumentation_status.rb +12 -0
- data/lib/netilion/instrumentation_type.rb +13 -0
- data/lib/netilion/netilion.rb +6 -0
- data/lib/netilion/node.rb +14 -0
- data/lib/netilion/node_type.rb +12 -0
- data/lib/netilion/notification.rb +10 -0
- data/lib/netilion/permission.rb +14 -0
- data/lib/netilion/permission_request.rb +13 -0
- data/lib/netilion/product.rb +15 -0
- data/lib/netilion/product_category.rb +13 -0
- data/lib/netilion/product_lookup.rb +7 -0
- data/lib/netilion/product_status.rb +12 -0
- data/lib/netilion/purchase_order.rb +15 -0
- data/lib/netilion/purchase_order_status.rb +12 -0
- data/lib/netilion/quotation.rb +14 -0
- data/lib/netilion/quotation_status.rb +12 -0
- data/lib/netilion/record.rb +6 -0
- data/lib/netilion/request_for_quotation.rb +14 -0
- data/lib/netilion/request_for_quotation_status.rb +12 -0
- data/lib/netilion/search.rb +7 -0
- data/lib/netilion/specification.rb +13 -0
- data/lib/netilion/subscription.rb +15 -0
- data/lib/netilion/successor_lookup.rb +9 -0
- data/lib/netilion/tenant.rb +14 -0
- data/lib/netilion/threshold.rb +10 -0
- data/lib/netilion/unit.rb +12 -0
- data/lib/netilion/user.rb +10 -0
- data/lib/netilion/user_group.rb +10 -0
- data/lib/netilion/user_role.rb +12 -0
- data/lib/netilion/version.rb +5 -0
- data/netilion.gemspec +33 -0
- metadata +218 -0
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Netilion
|
4
|
+
class AssetHealthCondition < LHS::Record
|
5
|
+
configuration items_key: :health_conditions
|
6
|
+
|
7
|
+
endpoint '{+api}/assets/{asset_id}/health_conditions'
|
8
|
+
endpoint '{+api}/assets/{asset_id}/health_conditions/{id}'
|
9
|
+
|
10
|
+
has_one :asset_status, class_name: 'Netilion::AssetStatus'
|
11
|
+
has_one :tenant, class_name: 'Netilion::Tenant'
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Netilion
|
4
|
+
class AssetStatus < LHS::Record
|
5
|
+
configuration items_key: 'asset_statuses',
|
6
|
+
pagination_strategy: :page,
|
7
|
+
pagination_key: { body: %w[pagination page], parameter: 'page' },
|
8
|
+
limit_key: { body: %w[pagination per_page], parameter: 'limit' },
|
9
|
+
total_key: %w[pagination total_count]
|
10
|
+
|
11
|
+
endpoint '{+api}/asset/statuses'
|
12
|
+
endpoint '{+api}/asset/statuses/{id}'
|
13
|
+
endpoint '{+api}/assets/{asset_id}/status'
|
14
|
+
|
15
|
+
has_one :tenant, class_name: 'Netilion::Tenant'
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Netilion
|
4
|
+
class AssetValue < LHS::Record
|
5
|
+
configuration items_key: :values
|
6
|
+
|
7
|
+
endpoint '{+api}/assets/{asset_id}/values'
|
8
|
+
endpoint '{+api}/assets/{asset_id}/values/{key}'
|
9
|
+
|
10
|
+
has_one :unit, class_name: 'Netilion::Unit'
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Netilion
|
4
|
+
class Attachment < LHS::Record
|
5
|
+
configuration items_key: :attachments
|
6
|
+
|
7
|
+
endpoint '{+api}/attachments'
|
8
|
+
endpoint '{+api}/attachments/{id}'
|
9
|
+
|
10
|
+
has_one :document, class_name: 'Netilion::Document'
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Netilion
|
4
|
+
class Authentication < LHC::Interceptor
|
5
|
+
def before_request
|
6
|
+
request.options[:auth] = {
|
7
|
+
basic: {
|
8
|
+
username: ::Netilion.config.username,
|
9
|
+
password: ::Netilion.config.password
|
10
|
+
}
|
11
|
+
}
|
12
|
+
request.headers['Api-Key'] = ::Netilion.config.api_key
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Netilion
|
4
|
+
class ClientApplication < LHS::Record
|
5
|
+
configuration items_key: :client_applications
|
6
|
+
|
7
|
+
endpoint '{+api}/client_applications'
|
8
|
+
endpoint '{+api}/client_applications/{id}'
|
9
|
+
|
10
|
+
has_one :contact_person, class_name: 'Netilion::User'
|
11
|
+
has_one :technical_user, class_name: 'Netilion::User'
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Netilion
|
4
|
+
class Delivery < LHS::Record
|
5
|
+
configuration items_key: :deliveries
|
6
|
+
|
7
|
+
endpoint '{+api}/deliveries'
|
8
|
+
endpoint '{+api}/deliveries/{id}'
|
9
|
+
|
10
|
+
has_one :sender, class_name: 'Netilion::User'
|
11
|
+
has_one :receiver, class_name: 'Netilion::User'
|
12
|
+
has_one :status, class_name: 'Netilion::DeliveryStatus'
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Netilion
|
4
|
+
class DeliveryStatus < LHS::Record
|
5
|
+
configuration items_key: :delivery_statuses
|
6
|
+
|
7
|
+
endpoint '{+api}/delivery/statuses'
|
8
|
+
endpoint '{+api}/delivery/statuses/{id}'
|
9
|
+
|
10
|
+
has_one :tenant, class_name: 'Netilion::Tenant'
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Netilion
|
4
|
+
class Document < LHS::Record
|
5
|
+
configuration items_key: :documents
|
6
|
+
|
7
|
+
endpoint '{+api}/documents'
|
8
|
+
endpoint '{+api}/documents/{id}'
|
9
|
+
|
10
|
+
has_one :classification, class_name: 'Netilion::DocumentClassification'
|
11
|
+
has_one :status, class_name: 'Netilion::DocumentStatus'
|
12
|
+
has_one :tenant, class_name: 'Netilion::Tenant'
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Netilion
|
4
|
+
class DocumentCategory < LHS::Record
|
5
|
+
configuration items_key: :categories
|
6
|
+
|
7
|
+
endpoint '{+api}/document/categories'
|
8
|
+
endpoint '{+api}/document/categories/{id}'
|
9
|
+
|
10
|
+
has_one :parent, class_name: 'Netilion::DocumentCategory'
|
11
|
+
has_one :tenant, class_name: 'Netilion::Tenant'
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Netilion
|
4
|
+
class DocumentClassification < LHS::Record
|
5
|
+
configuration items_key: :document_classifications
|
6
|
+
|
7
|
+
endpoint '{+api}/document/classifications'
|
8
|
+
endpoint '{+api}/document/classifications/{id}'
|
9
|
+
|
10
|
+
has_one :tenant, class_name: 'Netilion::Tenant'
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Netilion
|
4
|
+
class DocumentStatus < LHS::Record
|
5
|
+
configuration items_key: :document_statuses
|
6
|
+
|
7
|
+
endpoint '{+api}/document/statuses'
|
8
|
+
endpoint '{+api}/document/statuses/{id}'
|
9
|
+
|
10
|
+
has_one :tenant, class_name: 'Netilion::Tenant'
|
11
|
+
end
|
12
|
+
end
|
data/lib/netilion/edm.rb
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Netilion
|
4
|
+
module EDM
|
5
|
+
class EdgeDevice < ::Netilion::Record
|
6
|
+
configuration items_key: :edge_devices
|
7
|
+
|
8
|
+
configuration pagination_strategy: :page
|
9
|
+
configuration limit_key: { body: [:pagination, :per_page], parameter: :per_page }
|
10
|
+
configuration pagination_key: { body: [:pagination, :page], parameter: :page }
|
11
|
+
configuration total_key: { body: [:pagination, :total_key], parameter: :total_key }
|
12
|
+
|
13
|
+
endpoint '{+edm}/edge_devices'
|
14
|
+
endpoint '{+edm}/edge_devices/{id}'
|
15
|
+
|
16
|
+
has_one :type, class_name: 'Netilion::EDM::EdgeDeviceType'
|
17
|
+
has_one :status, class_name: 'Netilion::EDM::EdgeDeviceStatus'
|
18
|
+
has_many :field_gateways, class_name: 'Netilion::EDM::FieldGateway'
|
19
|
+
has_many :network_interfaces, class_name: 'Netilion::EDM::NetworkInterface'
|
20
|
+
has_many :specifications, class_name: 'Netilion::EDM::NetworkInterface'
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Netilion
|
4
|
+
module EDM
|
5
|
+
class EdgeDeviceStatus < ::Netilion::Record
|
6
|
+
configuration items_key: :edge_device_statuses
|
7
|
+
|
8
|
+
configuration pagination_strategy: :page
|
9
|
+
configuration limit_key: { body: [:pagination, :per_page], parameter: :per_page }
|
10
|
+
configuration pagination_key: { body: [:pagination, :page], parameter: :page }
|
11
|
+
configuration total_key: { body: [:pagination, :total_key], parameter: :total_key }
|
12
|
+
|
13
|
+
endpoint '{+edm}/edge_device/statuses'
|
14
|
+
endpoint '{+edm}/edge_device/statuses/{id}'
|
15
|
+
|
16
|
+
has_many :edge_devices, class_name: 'Netilion::EDM::EdgeDevice'
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Netilion
|
4
|
+
module EDM
|
5
|
+
class EdgeDeviceType < ::Netilion::Record
|
6
|
+
configuration items_key: :edge_device_types
|
7
|
+
|
8
|
+
configuration pagination_strategy: :page
|
9
|
+
configuration limit_key: { body: [:pagination, :per_page], parameter: :per_page }
|
10
|
+
configuration pagination_key: { body: [:pagination, :page], parameter: :page }
|
11
|
+
configuration total_key: { body: [:pagination, :total_key], parameter: :total_key }
|
12
|
+
|
13
|
+
endpoint '{+edm}/edge_device/types'
|
14
|
+
endpoint '{+edm}/edge_device/types/{id}'
|
15
|
+
|
16
|
+
has_many :edge_devices, class_name: 'Netilion::EDM::EdgeDevice'
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Netilion
|
4
|
+
module EDM
|
5
|
+
class FieldGateway < ::Netilion::Record
|
6
|
+
configuration items_key: :field_gateways
|
7
|
+
|
8
|
+
configuration pagination_strategy: :page
|
9
|
+
configuration limit_key: { body: [:pagination, :per_page], parameter: :per_page }
|
10
|
+
configuration pagination_key: { body: [:pagination, :page], parameter: :page }
|
11
|
+
configuration total_key: { body: [:pagination, :total_key], parameter: :total_key }
|
12
|
+
|
13
|
+
endpoint '{+edm}/edge_devices/{edge_device_id}/field_gateways'
|
14
|
+
endpoint '{+edm}/edge_devices/{edge_device_id}/field_gateways/{id}'
|
15
|
+
|
16
|
+
has_one :type, class_name: 'Netilion::EDM::FieldGatewayType'
|
17
|
+
has_one :status, class_name: 'Netilion::EDM::FieldGatewayStatus'
|
18
|
+
has_one :edge_device, class_name: 'Netilion::EDM::EdgeDevice'
|
19
|
+
has_many :specifications, class_name: 'Netilion::EDM::NetworkInterface'
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Netilion
|
4
|
+
module EDM
|
5
|
+
class FieldGatewayStatus < ::Netilion::Record
|
6
|
+
configuration items_key: :field_gateway_statuses
|
7
|
+
|
8
|
+
configuration pagination_strategy: :page
|
9
|
+
configuration limit_key: { body: [:pagination, :per_page], parameter: :per_page }
|
10
|
+
configuration pagination_key: { body: [:pagination, :page], parameter: :page }
|
11
|
+
configuration total_key: { body: [:pagination, :total_key], parameter: :total_key }
|
12
|
+
|
13
|
+
endpoint '{+edm}/field_gateway/statuses'
|
14
|
+
endpoint '{+edm}/field_gateway/statuses/{id}'
|
15
|
+
|
16
|
+
has_many :field_gateways, class_name: 'Netilion::EDM::FieldGateway'
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Netilion
|
4
|
+
module EDM
|
5
|
+
class FieldGatewayType < ::Netilion::Record
|
6
|
+
configuration items_key: :field_gateway_types
|
7
|
+
|
8
|
+
configuration pagination_strategy: :page
|
9
|
+
configuration limit_key: { body: [:pagination, :per_page], parameter: :per_page }
|
10
|
+
configuration pagination_key: { body: [:pagination, :page], parameter: :page }
|
11
|
+
configuration total_key: { body: [:pagination, :total_key], parameter: :total_key }
|
12
|
+
|
13
|
+
endpoint '{+edm}/field_gateway/statuses'
|
14
|
+
endpoint '{+edm}/field_gateway/statuses/{id}'
|
15
|
+
|
16
|
+
has_many :field_gateways, class_name: 'Netilion::EDM::FieldGateway'
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Netilion
|
4
|
+
module EDM
|
5
|
+
class NetworkInterface < ::Netilion::Record
|
6
|
+
configuration items_key: :network_interfaces
|
7
|
+
|
8
|
+
configuration pagination_strategy: :page
|
9
|
+
configuration limit_key: { body: [:pagination, :per_page], parameter: :per_page }
|
10
|
+
configuration pagination_key: { body: [:pagination, :page], parameter: :page }
|
11
|
+
configuration total_key: { body: [:pagination, :total_key], parameter: :total_key }
|
12
|
+
|
13
|
+
endpoint '{+edm}/edge_devices/{edge_device_id}/network_interfaces'
|
14
|
+
endpoint '{+edm}/edge_devices/{edge_device_id}/network_interfaces/{id}'
|
15
|
+
|
16
|
+
has_one :edge_device, class_name: 'Netilion::EDM::EdgeDevice'
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Netilion
|
4
|
+
module EDM
|
5
|
+
class SoftwareImage < ::Netilion::Record
|
6
|
+
configuration items_key: :software_images
|
7
|
+
|
8
|
+
configuration pagination_strategy: :page
|
9
|
+
configuration limit_key: { body: [:pagination, :per_page], parameter: :per_page }
|
10
|
+
configuration pagination_key: { body: [:pagination, :page], parameter: :page }
|
11
|
+
configuration total_key: { body: [:pagination, :total_key], parameter: :total_key }
|
12
|
+
|
13
|
+
endpoint '{+edm}/software_images'
|
14
|
+
endpoint '{+edm}/software_images/{id}'
|
15
|
+
endpoint '{+edm}/software_versions/{software_version_id}/software_images'
|
16
|
+
|
17
|
+
has_one :type, class_name: 'Netilion::EDM::SoftwareImageType'
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Netilion
|
4
|
+
module EDM
|
5
|
+
class SoftwareImageType < ::Netilion::Record
|
6
|
+
configuration items_key: :software_image_types
|
7
|
+
|
8
|
+
configuration pagination_strategy: :page
|
9
|
+
configuration limit_key: { body: [:pagination, :per_page], parameter: :per_page }
|
10
|
+
configuration pagination_key: { body: [:pagination, :page], parameter: :page }
|
11
|
+
configuration total_key: { body: [:pagination, :total_key], parameter: :total_key }
|
12
|
+
|
13
|
+
endpoint '{+edm}/software_image/types'
|
14
|
+
endpoint '{+edm}/software_image/types/{id}'
|
15
|
+
|
16
|
+
has_many :software_images, class_name: 'Netilion::EDM::SoftwareImage'
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Netilion
|
4
|
+
module EDM
|
5
|
+
class SoftwareVersion < ::Netilion::Record
|
6
|
+
configuration items_key: :software_versions
|
7
|
+
|
8
|
+
configuration pagination_strategy: :page
|
9
|
+
configuration limit_key: { body: [:pagination, :per_page], parameter: :per_page }
|
10
|
+
configuration pagination_key: { body: [:pagination, :page], parameter: :page }
|
11
|
+
configuration total_key: { body: [:pagination, :total_key], parameter: :total_key }
|
12
|
+
|
13
|
+
endpoint '{+edm}/software_versions'
|
14
|
+
endpoint '{+edm}/software_versions/{id}'
|
15
|
+
|
16
|
+
has_one :status, class_name: 'Netilion::EDM::SoftwareVersionStatus'
|
17
|
+
has_one :edge_device_type, class_name: 'Netilion::EDM::EdgeDeviceType'
|
18
|
+
has_many :software_images, class_name: 'Netilion::EDM::SoftwareImage'
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|