oneview-sdk 3.1.0 → 4.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +40 -8
- data/README.md +41 -11
- data/Rakefile +47 -0
- data/lib/oneview-sdk.rb +6 -1
- data/lib/oneview-sdk/cli.rb +21 -6
- data/lib/oneview-sdk/client.rb +23 -7
- data/lib/oneview-sdk/image-streamer/client.rb +96 -0
- data/lib/oneview-sdk/image-streamer/resource/api300/artifacts_bundle.rb +26 -0
- data/lib/oneview-sdk/image-streamer/resource/api300/build_plan.rb +26 -0
- data/lib/oneview-sdk/image-streamer/resource/api300/deployment_plan.rb +26 -0
- data/lib/oneview-sdk/image-streamer/resource/api300/golden_image.rb +26 -0
- data/lib/oneview-sdk/{resource/api300/synergy/logical_switch_group.rb → image-streamer/resource/api300/os_volume.rb} +17 -13
- data/lib/oneview-sdk/image-streamer/resource/api300/plan_script.rb +42 -0
- data/lib/oneview-sdk/image-streamer/resource/api300/resource.rb +21 -0
- data/lib/oneview-sdk/image-streamer/resource/api_300.rb +39 -0
- data/lib/oneview-sdk/image_streamer.rb +68 -0
- data/lib/oneview-sdk/resource.rb +13 -1
- data/lib/oneview-sdk/resource/api200/connection_template.rb +2 -2
- data/lib/oneview-sdk/resource/api200/datacenter.rb +2 -2
- data/lib/oneview-sdk/resource/api200/enclosure.rb +2 -2
- data/lib/oneview-sdk/resource/api200/enclosure_group.rb +6 -0
- data/lib/oneview-sdk/resource/api200/fabric.rb +4 -4
- data/lib/oneview-sdk/resource/api200/firmware_driver.rb +2 -2
- data/lib/oneview-sdk/resource/api200/interconnect.rb +3 -3
- data/lib/oneview-sdk/resource/api200/logical_downlink.rb +3 -3
- data/lib/oneview-sdk/resource/api200/logical_interconnect_group.rb +8 -8
- data/lib/oneview-sdk/resource/api200/logical_switch.rb +2 -4
- data/lib/oneview-sdk/resource/api200/managed_san.rb +3 -3
- data/lib/oneview-sdk/resource/api200/power_device.rb +2 -2
- data/lib/oneview-sdk/resource/api200/rack.rb +2 -2
- data/lib/oneview-sdk/resource/api200/san_manager.rb +2 -2
- data/lib/oneview-sdk/resource/api200/server_hardware.rb +2 -2
- data/lib/oneview-sdk/resource/api200/server_hardware_type.rb +2 -2
- data/lib/oneview-sdk/resource/api200/storage_pool.rb +3 -3
- data/lib/oneview-sdk/resource/api200/storage_system.rb +2 -2
- data/lib/oneview-sdk/resource/api200/switch.rb +4 -4
- data/lib/oneview-sdk/resource/api200/unmanaged_device.rb +2 -2
- data/lib/oneview-sdk/resource/api200/user.rb +79 -0
- data/lib/oneview-sdk/resource/api200/volume_attachment.rb +3 -3
- data/lib/oneview-sdk/resource/api200/volume_snapshot.rb +2 -2
- data/lib/oneview-sdk/resource/api300.rb +2 -2
- data/lib/oneview-sdk/resource/api300/c7000/enclosure.rb +3 -15
- data/lib/oneview-sdk/resource/api300/c7000/enclosure_group.rb +54 -1
- data/lib/oneview-sdk/resource/api300/c7000/logical_downlink.rb +2 -2
- data/lib/oneview-sdk/resource/api300/c7000/logical_switch.rb +4 -0
- data/lib/oneview-sdk/resource/api300/c7000/managed_san.rb +1 -1
- data/lib/oneview-sdk/resource/api300/c7000/scope.rb +142 -0
- data/lib/oneview-sdk/resource/api300/c7000/server_hardware.rb +3 -17
- data/lib/oneview-sdk/resource/api300/c7000/user.rb +22 -0
- data/lib/oneview-sdk/resource/api300/synergy/drive_enclosure.rb +3 -3
- data/lib/oneview-sdk/resource/api300/synergy/enclosure.rb +4 -31
- data/lib/oneview-sdk/resource/api300/synergy/enclosure_group.rb +3 -6
- data/lib/oneview-sdk/resource/api300/synergy/logical_downlink.rb +2 -2
- data/lib/oneview-sdk/resource/api300/synergy/logical_enclosure.rb +1 -1
- data/lib/oneview-sdk/resource/api300/synergy/logical_interconnect_group.rb +24 -23
- data/lib/oneview-sdk/resource/api300/synergy/logical_switch.rb +2 -0
- data/lib/oneview-sdk/resource/api300/synergy/sas_interconnect.rb +3 -3
- data/lib/oneview-sdk/resource/api300/synergy/sas_logical_interconnect.rb +2 -2
- data/lib/oneview-sdk/resource/api300/synergy/scope.rb +22 -0
- data/lib/oneview-sdk/resource/api300/synergy/user.rb +22 -0
- data/lib/oneview-sdk/rest.rb +7 -2
- data/lib/oneview-sdk/version.rb +2 -2
- data/oneview-sdk.gemspec +1 -0
- metadata +32 -4
@@ -19,25 +19,25 @@ module OneviewSDK
|
|
19
19
|
|
20
20
|
# Method is not available
|
21
21
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
22
|
-
def create
|
22
|
+
def create(*)
|
23
23
|
unavailable_method
|
24
24
|
end
|
25
25
|
|
26
26
|
# Method is not available
|
27
27
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
28
|
-
def update
|
28
|
+
def update(*)
|
29
29
|
unavailable_method
|
30
30
|
end
|
31
31
|
|
32
32
|
# Method is not available
|
33
33
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
34
|
-
def delete
|
34
|
+
def delete(*)
|
35
35
|
unavailable_method
|
36
36
|
end
|
37
37
|
|
38
38
|
# Method is not available
|
39
39
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
40
|
-
def refresh
|
40
|
+
def refresh(*)
|
41
41
|
unavailable_method
|
42
42
|
end
|
43
43
|
end
|
@@ -23,13 +23,13 @@ module OneviewSDK
|
|
23
23
|
|
24
24
|
# Method is not available
|
25
25
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
26
|
-
def delete
|
26
|
+
def delete(*)
|
27
27
|
unavailable_method
|
28
28
|
end
|
29
29
|
|
30
30
|
# Method is not available
|
31
31
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
32
|
-
def update
|
32
|
+
def update(*)
|
33
33
|
unavailable_method
|
34
34
|
end
|
35
35
|
end
|
@@ -31,19 +31,19 @@ module OneviewSDK
|
|
31
31
|
|
32
32
|
# Method is not available
|
33
33
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
34
|
-
def create
|
34
|
+
def create(*)
|
35
35
|
unavailable_method
|
36
36
|
end
|
37
37
|
|
38
38
|
# Method is not available
|
39
39
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
40
|
-
def update
|
40
|
+
def update(*)
|
41
41
|
unavailable_method
|
42
42
|
end
|
43
43
|
|
44
44
|
# Method is not available
|
45
45
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
46
|
-
def delete
|
46
|
+
def delete(*)
|
47
47
|
unavailable_method
|
48
48
|
end
|
49
49
|
|
@@ -19,19 +19,19 @@ module OneviewSDK
|
|
19
19
|
|
20
20
|
# Method is not available
|
21
21
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
22
|
-
def create
|
22
|
+
def create(*)
|
23
23
|
unavailable_method
|
24
24
|
end
|
25
25
|
|
26
26
|
# Method is not available
|
27
27
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
28
|
-
def update
|
28
|
+
def update(*)
|
29
29
|
unavailable_method
|
30
30
|
end
|
31
31
|
|
32
32
|
# Method is not available
|
33
33
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
34
|
-
def delete
|
34
|
+
def delete(*)
|
35
35
|
unavailable_method
|
36
36
|
end
|
37
37
|
|
@@ -40,6 +40,14 @@ module OneviewSDK
|
|
40
40
|
parse_interconnect_map_template if @data['interconnectMapTemplate']['interconnectMapEntryTemplates'] == []
|
41
41
|
end
|
42
42
|
|
43
|
+
# Get the logical interconnect group default settings
|
44
|
+
# @param [OneviewSDK::Client] client The client object for the OneView appliance
|
45
|
+
# @return [Hash] The logical interconnect group settings
|
46
|
+
def self.get_default_settings(client)
|
47
|
+
response = client.rest_get(BASE_URI + '/defaultSettings', client.api_version)
|
48
|
+
client.response_handler(response)
|
49
|
+
end
|
50
|
+
|
43
51
|
# Adds an interconnect
|
44
52
|
# @param [Fixnum] bay Bay number
|
45
53
|
# @param [String] type Interconnect type
|
@@ -63,14 +71,6 @@ module OneviewSDK
|
|
63
71
|
@data['uplinkSets'] << uplink_set.data
|
64
72
|
end
|
65
73
|
|
66
|
-
# Get the logical interconnect group default settings
|
67
|
-
# @return [Hash] The logical interconnect group settings
|
68
|
-
def get_default_settings
|
69
|
-
get_uri = self.class::BASE_URI + '/defaultSettings'
|
70
|
-
response = @client.rest_get(get_uri, @api_version)
|
71
|
-
@client.response_handler(response)
|
72
|
-
end
|
73
|
-
|
74
74
|
# Gets the logical interconnect group settings
|
75
75
|
# @return [Hash] The logical interconnect group settings
|
76
76
|
def get_settings
|
@@ -46,10 +46,8 @@ module OneviewSDK
|
|
46
46
|
self
|
47
47
|
end
|
48
48
|
|
49
|
-
#
|
50
|
-
|
51
|
-
# @return [Resource] self
|
52
|
-
def refresh
|
49
|
+
# Reclaims the top-of-rack switches in a logical switch.
|
50
|
+
def refresh_state
|
53
51
|
response = @client.rest_put(@data['uri'] + '/refresh')
|
54
52
|
@client.response_handler(response)
|
55
53
|
end
|
@@ -19,19 +19,19 @@ module OneviewSDK
|
|
19
19
|
|
20
20
|
# Method is not available
|
21
21
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
22
|
-
def create
|
22
|
+
def create(*)
|
23
23
|
unavailable_method
|
24
24
|
end
|
25
25
|
|
26
26
|
# Method is not available
|
27
27
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
28
|
-
def delete
|
28
|
+
def delete(*)
|
29
29
|
unavailable_method
|
30
30
|
end
|
31
31
|
|
32
32
|
# Method is not available
|
33
33
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
34
|
-
def update
|
34
|
+
def update(*)
|
35
35
|
unavailable_method
|
36
36
|
end
|
37
37
|
|
@@ -42,13 +42,13 @@ module OneviewSDK
|
|
42
42
|
|
43
43
|
# Method is not available
|
44
44
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
45
|
-
def create
|
45
|
+
def create(*)
|
46
46
|
unavailable_method
|
47
47
|
end
|
48
48
|
|
49
49
|
# Method is not available
|
50
50
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
51
|
-
def delete
|
51
|
+
def delete(*)
|
52
52
|
unavailable_method
|
53
53
|
end
|
54
54
|
|
@@ -41,13 +41,13 @@ module OneviewSDK
|
|
41
41
|
|
42
42
|
# Method is not available
|
43
43
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
44
|
-
def create
|
44
|
+
def create(*)
|
45
45
|
unavailable_method
|
46
46
|
end
|
47
47
|
|
48
48
|
# Method is not available
|
49
49
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
50
|
-
def delete
|
50
|
+
def delete(*)
|
51
51
|
unavailable_method
|
52
52
|
end
|
53
53
|
|
@@ -46,13 +46,13 @@ module OneviewSDK
|
|
46
46
|
|
47
47
|
# Method is not available
|
48
48
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
49
|
-
def create
|
49
|
+
def create(*)
|
50
50
|
unavailable_method
|
51
51
|
end
|
52
52
|
|
53
53
|
# Method is not available
|
54
54
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
55
|
-
def delete
|
55
|
+
def delete(*)
|
56
56
|
unavailable_method
|
57
57
|
end
|
58
58
|
|
@@ -64,13 +64,13 @@ module OneviewSDK
|
|
64
64
|
|
65
65
|
# Method is not available
|
66
66
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
67
|
-
def create
|
67
|
+
def create(*)
|
68
68
|
unavailable_method
|
69
69
|
end
|
70
70
|
|
71
71
|
# Method is not available
|
72
72
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
73
|
-
def delete
|
73
|
+
def delete(*)
|
74
74
|
unavailable_method
|
75
75
|
end
|
76
76
|
|
@@ -33,13 +33,13 @@ module OneviewSDK
|
|
33
33
|
|
34
34
|
# Method is not available
|
35
35
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
36
|
-
def create
|
36
|
+
def create(*)
|
37
37
|
unavailable_method
|
38
38
|
end
|
39
39
|
|
40
40
|
# Method is not available
|
41
41
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
42
|
-
def delete
|
42
|
+
def delete(*)
|
43
43
|
unavailable_method
|
44
44
|
end
|
45
45
|
|
@@ -40,19 +40,19 @@ module OneviewSDK
|
|
40
40
|
|
41
41
|
# Method is not available
|
42
42
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
43
|
-
def create
|
43
|
+
def create(*)
|
44
44
|
unavailable_method
|
45
45
|
end
|
46
46
|
|
47
47
|
# Method is not available
|
48
48
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
49
|
-
def delete
|
49
|
+
def delete(*)
|
50
50
|
unavailable_method
|
51
51
|
end
|
52
52
|
|
53
53
|
# Method is not available
|
54
54
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
55
|
-
def update
|
55
|
+
def update(*)
|
56
56
|
unavailable_method
|
57
57
|
end
|
58
58
|
|
@@ -34,13 +34,13 @@ module OneviewSDK
|
|
34
34
|
|
35
35
|
# Method is not available
|
36
36
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
37
|
-
def create
|
37
|
+
def create(*)
|
38
38
|
unavailable_method
|
39
39
|
end
|
40
40
|
|
41
41
|
# Method is not available
|
42
42
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
43
|
-
def delete
|
43
|
+
def delete(*)
|
44
44
|
unavailable_method
|
45
45
|
end
|
46
46
|
|
@@ -25,25 +25,25 @@ module OneviewSDK
|
|
25
25
|
|
26
26
|
# Method is not available
|
27
27
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
28
|
-
def create
|
28
|
+
def create(*)
|
29
29
|
unavailable_method
|
30
30
|
end
|
31
31
|
|
32
32
|
# Method is not available
|
33
33
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
34
|
-
def update
|
34
|
+
def update(*)
|
35
35
|
unavailable_method
|
36
36
|
end
|
37
37
|
|
38
38
|
# Method is not available
|
39
39
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
40
|
-
def refresh
|
40
|
+
def refresh(*)
|
41
41
|
unavailable_method
|
42
42
|
end
|
43
43
|
|
44
44
|
# Method is not available
|
45
45
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
46
|
-
def delete
|
46
|
+
def delete(*)
|
47
47
|
unavailable_method
|
48
48
|
end
|
49
49
|
|
@@ -30,13 +30,13 @@ module OneviewSDK
|
|
30
30
|
|
31
31
|
# Method is not available
|
32
32
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
33
|
-
def create
|
33
|
+
def create(*)
|
34
34
|
unavailable_method
|
35
35
|
end
|
36
36
|
|
37
37
|
# Method is not available
|
38
38
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
39
|
-
def delete
|
39
|
+
def delete(*)
|
40
40
|
unavailable_method
|
41
41
|
end
|
42
42
|
|
@@ -0,0 +1,79 @@
|
|
1
|
+
# (c) Copyright 2017 Hewlett Packard Enterprise Development LP
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
|
6
|
+
#
|
7
|
+
# Unless required by applicable law or agreed to in writing, software distributed
|
8
|
+
# under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
9
|
+
# CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
|
10
|
+
# language governing permissions and limitations under the License.
|
11
|
+
|
12
|
+
require_relative 'resource'
|
13
|
+
|
14
|
+
module OneviewSDK
|
15
|
+
module API200
|
16
|
+
# User resource implementation
|
17
|
+
class User < Resource
|
18
|
+
BASE_URI = '/rest/users'.freeze
|
19
|
+
UNIQUE_IDENTIFIERS = %w(userName uri).freeze
|
20
|
+
|
21
|
+
# Create a resource object, associate it with a client, and set its properties.
|
22
|
+
# @param [OneviewSDK::Client] client The client object for the OneView appliance
|
23
|
+
# @param [Hash] params The options for this resource (key-value pairs)
|
24
|
+
# @param [Integer] api_ver The api version to use when interracting with this resource.
|
25
|
+
def initialize(client, params = {}, api_ver = nil)
|
26
|
+
super
|
27
|
+
# Default values:
|
28
|
+
@data['type'] ||= 'UserAndRoles'
|
29
|
+
@data['enabled'] ||= true
|
30
|
+
@data['roles'] ||= ['Read only']
|
31
|
+
end
|
32
|
+
|
33
|
+
# Create the resource on OneView using the current data
|
34
|
+
# @note Calls the refresh method to set additional data
|
35
|
+
# @note Removes the password attribute after creation
|
36
|
+
# @raise [OneviewSDK::IncompleteResource] if the client is not set
|
37
|
+
# @raise [StandardError] if the resource creation fails
|
38
|
+
# @return [Resource] self
|
39
|
+
def create
|
40
|
+
ensure_client
|
41
|
+
response = @client.rest_post(self.class::BASE_URI, { 'body' => @data }, @api_version)
|
42
|
+
body = @client.response_handler(response)
|
43
|
+
@data.delete('password')
|
44
|
+
set_all(body)
|
45
|
+
self
|
46
|
+
end
|
47
|
+
|
48
|
+
# Set data and save to OneView
|
49
|
+
# @param [Hash] attributes The attributes to add/change for this resource (key-value pairs)
|
50
|
+
# @raise [OneviewSDK::IncompleteResource] if the client or uri is not set
|
51
|
+
# @raise [StandardError] if the resource save fails
|
52
|
+
# @return [Resource] self
|
53
|
+
def update(attributes = {})
|
54
|
+
set_all(attributes)
|
55
|
+
ensure_client && ensure_uri
|
56
|
+
new_data = @data.select { |k, _v| k.to_s != 'roles' } # This cannot be updated here. It is updated below
|
57
|
+
response = @client.rest_put(self.class::BASE_URI, { 'body' => new_data }, @api_version)
|
58
|
+
d = @client.response_handler(response)
|
59
|
+
set_roles(@data['roles']) if @data['roles'] && @data['roles'].sort != d['roles'].sort
|
60
|
+
self
|
61
|
+
end
|
62
|
+
|
63
|
+
# Set data and save to OneView
|
64
|
+
# @param [Array] roles The names of the roles to set for this user
|
65
|
+
# @raise [OneviewSDK::IncompleteResource] if the client or uri is not set
|
66
|
+
# @raise [StandardError] if setting the role fails
|
67
|
+
# @return [Resource] self
|
68
|
+
def set_roles(roles)
|
69
|
+
ensure_client && ensure_uri
|
70
|
+
data = roles.map { |r| { roleName: r, type: 'RoleNameDtoV2' } }
|
71
|
+
response = @client.rest_put("#{@data['uri']}/roles?multiResource=true", { 'body' => data }, @api_version)
|
72
|
+
r = @client.response_handler(response)
|
73
|
+
new_roles = r.map { |i| i['roleName'] }
|
74
|
+
set('roles', new_roles)
|
75
|
+
self
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
@@ -29,19 +29,19 @@ module OneviewSDK
|
|
29
29
|
|
30
30
|
# Method is not available
|
31
31
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
32
|
-
def create
|
32
|
+
def create(*)
|
33
33
|
unavailable_method
|
34
34
|
end
|
35
35
|
|
36
36
|
# Method is not available
|
37
37
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
38
|
-
def update
|
38
|
+
def update(*)
|
39
39
|
unavailable_method
|
40
40
|
end
|
41
41
|
|
42
42
|
# Method is not available
|
43
43
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
44
|
-
def delete
|
44
|
+
def delete(*)
|
45
45
|
unavailable_method
|
46
46
|
end
|
47
47
|
|
@@ -29,13 +29,13 @@ module OneviewSDK
|
|
29
29
|
|
30
30
|
# Method is not available
|
31
31
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
32
|
-
def create
|
32
|
+
def create(*)
|
33
33
|
unavailable_method
|
34
34
|
end
|
35
35
|
|
36
36
|
# Method is not available
|
37
37
|
# @raise [OneviewSDK::MethodUnavailable] method is not available
|
38
|
-
def update
|
38
|
+
def update(*)
|
39
39
|
unavailable_method
|
40
40
|
end
|
41
41
|
|