veeam 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6163d719d045dea4a72b05a6dae5b14d6f8c65c09bd7e83ab6cf8143c862092a
4
- data.tar.gz: 45176225fcaa997c0fefc7718340b91f0c3f2d8fea6599d150d8bfe12421c451
3
+ metadata.gz: 148191d02ac28a90ed3d295fbc8ebec48f2dab60e8338d78b29b9f5207d3d93f
4
+ data.tar.gz: fc816fd6cd3f55c336f4e22953fa5ca3b7b9cd9e2ff58b9310d007b2d068db66
5
5
  SHA512:
6
- metadata.gz: d2ea1e16122625bfe8611a76d2262976ffa19e387341de4345949c0fea9712ab77bec345958a135fa7b75f84d780dbed96c1d536a7e6e74c2888eeea9838cb4b
7
- data.tar.gz: ee02233ed031debcb7bc6e1e50aef7ddb154e21f333dec7442ed10df9731d46211fe83fc2df7da2fa555d0d79b8003b1f8a576af7efb6030a94e7fdc1b15a17f
6
+ metadata.gz: 441bbce8273f5481b2599a2e93916b39b890dd7bcfc6a47b5a3735737b6422fd69a9d5be460847560bdc001e1ae314d55d567dbf8f8212ae55d8ffec597c9481
7
+ data.tar.gz: e2ef14ecf16f6ec7b4c86b72405bdd0bd0d9057193a679c7b36fa5cfb36da113274ce4e792f8489d011c1b365feb02f55128543c2dce5ebf5bfd5fe3678e2bfd
data/CHANGELOG.md CHANGED
@@ -2,3 +2,6 @@
2
2
 
3
3
  ## [0.1.0] - 2024-02-07
4
4
  - Initial release
5
+
6
+ ## [0.2.0] - 2024-02-20
7
+ - Exception handling updated
data/Gemfile CHANGED
@@ -2,9 +2,10 @@
2
2
 
3
3
  source 'https://rubygems.org'
4
4
 
5
- # Specify your gem's dependencies in cloudally.gemspec
5
+ # Specify your gem's dependencies in veeam.gemspec
6
6
  gemspec
7
7
 
8
8
  gem 'rake', '~> 13.0'
9
9
  gem 'rubocop', '~> 1.7'
10
+ gem 'simplecov', require: false, group: :test
10
11
  gem 'wrapi'
data/README.md CHANGED
@@ -1,4 +1,7 @@
1
1
  # Veeam backup API
2
+ [![Version](https://img.shields.io/gem/v/veeam.svg)](https://rubygems.org/gems/veaam)
3
+ [![Maintainability](https://api.codeclimate.com/v1/badges/cf41385233dc8059e8e6/maintainability)](https://codeclimate.com/github/jancotanis/veeam/maintainability)
4
+ [![Test Coverage](https://api.codeclimate.com/v1/badges/cf41385233dc8059e8e6/test_coverage)](https://codeclimate.com/github/jancotanis/veeam/test_coverage)
2
5
 
3
6
  This is a wrapper for the Veeam Service Provider Console rest API. You can see the API endpoints here https://helpcenter.veeam.com/docs/vac/rest/reference/vspc-rest.html
4
7
 
data/Rakefile CHANGED
@@ -1,12 +1,20 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'bundler/gem_tasks'
4
+ require 'dotenv'
4
5
  require 'rake/testtask'
5
6
 
7
+ Dotenv.load
8
+
9
+ system './bin/cc-test-reporter before-build'
10
+
6
11
  Rake::TestTask.new(:test) do |t|
7
12
  t.libs << 'test'
8
13
  t.libs << 'lib'
9
14
  t.test_files = FileList['test/**/*_test.rb']
15
+ at_exit do
16
+ system './bin/cc-test-reporter after-build'
17
+ end
10
18
  end
11
19
 
12
20
  require 'rubocop/rake_task'
@@ -1,3 +1,4 @@
1
+ require File.expand_path('error', __dir__)
1
2
 
2
3
  module Veeam
3
4
  # Deals with authentication flow and stores it within global configuration
@@ -6,10 +7,13 @@ module Veeam
6
7
  # https://helpcenter.veeam.com/docs/vac/rest/reference/vspc-rest.html?ver=80#tag/Authentication
7
8
  # Authorize to the Veeam portal and return access_token
8
9
  def login(options = {})
9
- raise ArgumentError, "Accesstoken/api-key not set" unless access_token
10
+ raise ConfigurationError, "Accesstoken/api-key not set" unless access_token
10
11
  # only bearer token needed
11
12
  # will do sanitty check if token if valid
12
13
  get("/api/v3/about")
14
+ rescue Faraday::UnauthorizedError => e
15
+
16
+ raise AuthenticationError.new 'Unauthorized; response ' + e.to_s
13
17
  end
14
18
 
15
19
  end
@@ -0,0 +1,11 @@
1
+ module Veeam
2
+
3
+ # Generic error to be able to rescue all Veeam errors
4
+ class VeeamError < StandardError; end
5
+
6
+ # Raised when Veeam not configured correctly
7
+ class ConfigurationError < VeeamError; end
8
+
9
+ # Error when authentication fails
10
+ class AuthenticationError < VeeamError; end
11
+ end
data/lib/veeam/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Veeam
4
- VERSION = '0.1.0'
4
+ VERSION = '0.2.0'
5
5
  end
data/veeam.gemspec CHANGED
@@ -33,4 +33,5 @@ Gem::Specification.new do |s|
33
33
  s.add_development_dependency 'dotenv'
34
34
  s.add_development_dependency 'minitest'
35
35
  s.add_development_dependency 'rubocop'
36
+ s.add_development_dependency 'simplecov'
36
37
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: veeam
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Janco Tanis
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-02-09 00:00:00.000000000 Z
11
+ date: 2024-02-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: simplecov
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  description:
84
98
  email: gems@jancology.com
85
99
  executables: []
@@ -100,6 +114,7 @@ files:
100
114
  - lib/veeam/client/alarms.rb
101
115
  - lib/veeam/client/companies.rb
102
116
  - lib/veeam/client/infrastructure.rb
117
+ - lib/veeam/error.rb
103
118
  - lib/veeam/pagination.rb
104
119
  - lib/veeam/version.rb
105
120
  - veeam.gemspec