oneview-sdk 3.1.0 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
|