vas 0.4.0 → 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 (109) hide show
  1. data/README.md +1 -1
  2. data/lib/vas.rb +44 -1
  3. data/lib/vas/gemfire/agent_instances.rb +4 -3
  4. data/lib/vas/gemfire/agent_live_configurations.rb +3 -3
  5. data/lib/vas/gemfire/agent_node_instances.rb +2 -2
  6. data/lib/vas/gemfire/agent_node_live_configurations.rb +39 -0
  7. data/lib/vas/gemfire/application_code.rb +13 -12
  8. data/lib/vas/gemfire/application_code_images.rb +13 -11
  9. data/lib/vas/gemfire/cache_server_instances.rb +20 -12
  10. data/lib/vas/gemfire/cache_server_live_configurations.rb +3 -3
  11. data/lib/vas/gemfire/cache_server_node_instances.rb +16 -9
  12. data/lib/vas/gemfire/cache_server_node_live_configurations.rb +39 -0
  13. data/lib/vas/gemfire/disk_stores.rb +19 -11
  14. data/lib/vas/gemfire/gemfire.rb +4 -4
  15. data/lib/vas/gemfire/groups.rb +17 -10
  16. data/lib/vas/gemfire/installations.rb +12 -3
  17. data/lib/vas/gemfire/live_application_codes.rb +2 -2
  18. data/lib/vas/gemfire/locator_instances.rb +23 -13
  19. data/lib/vas/gemfire/locator_live_configurations.rb +3 -3
  20. data/lib/vas/gemfire/locator_node_instances.rb +22 -14
  21. data/lib/vas/gemfire/locator_node_live_configurations.rb +39 -0
  22. data/lib/vas/gemfire/nodes.rb +27 -6
  23. data/lib/vas/gemfire/pending_application_codes.rb +7 -2
  24. data/lib/vas/gemfire/statistics.rb +18 -11
  25. data/lib/vas/rabbitmq/groups.rb +6 -4
  26. data/lib/vas/rabbitmq/installations.rb +14 -6
  27. data/lib/vas/rabbitmq/instances.rb +9 -6
  28. data/lib/vas/rabbitmq/live_configurations.rb +3 -3
  29. data/lib/vas/rabbitmq/node_instances.rb +2 -2
  30. data/lib/vas/rabbitmq/node_live_configurations.rb +39 -0
  31. data/lib/vas/rabbitmq/nodes.rb +11 -8
  32. data/lib/vas/rabbitmq/plugin_images.rb +14 -7
  33. data/lib/vas/rabbitmq/plugins.rb +29 -20
  34. data/lib/vas/rabbitmq/rabbitmq.rb +4 -4
  35. data/lib/vas/shared/collection.rb +34 -11
  36. data/lib/vas/shared/configuration.rb +16 -9
  37. data/lib/vas/shared/deletable.rb +34 -0
  38. data/lib/vas/shared/groups.rb +26 -15
  39. data/lib/vas/shared/installation_images.rb +18 -10
  40. data/lib/vas/shared/installations.rb +22 -22
  41. data/lib/vas/shared/instance.rb +40 -19
  42. data/lib/vas/shared/live_configuration.rb +42 -0
  43. data/lib/vas/shared/logs.rb +27 -14
  44. data/lib/vas/shared/mutable_collection.rb +13 -5
  45. data/lib/vas/shared/node_configuration.rb +74 -0
  46. data/lib/vas/shared/node_instances.rb +32 -14
  47. data/lib/vas/shared/nodes.rb +37 -14
  48. data/lib/vas/shared/{pending_configuration.rb → pending_configurations.rb} +4 -2
  49. data/lib/vas/shared/resource.rb +12 -2
  50. data/lib/vas/shared/security.rb +11 -4
  51. data/lib/vas/shared/state_resource.rb +1 -1
  52. data/lib/vas/sqlfire/agent_instances.rb +98 -0
  53. data/lib/vas/sqlfire/agent_live_configurations.rb +39 -0
  54. data/lib/vas/sqlfire/agent_logs.rb +39 -0
  55. data/lib/vas/sqlfire/agent_node_instances.rb +54 -0
  56. data/lib/vas/sqlfire/agent_node_live_configurations.rb +39 -0
  57. data/lib/vas/sqlfire/agent_pending_configurations.rb +39 -0
  58. data/lib/vas/sqlfire/groups.rb +58 -0
  59. data/lib/vas/sqlfire/installation_images.rb +39 -0
  60. data/lib/vas/sqlfire/installations.rb +61 -0
  61. data/lib/vas/sqlfire/locator_instances.rb +210 -0
  62. data/lib/vas/sqlfire/locator_live_configurations.rb +39 -0
  63. data/lib/vas/sqlfire/locator_logs.rb +39 -0
  64. data/lib/vas/sqlfire/locator_node_instances.rb +91 -0
  65. data/lib/vas/sqlfire/locator_node_live_configurations.rb +39 -0
  66. data/lib/vas/sqlfire/locator_pending_configurations.rb +39 -0
  67. data/lib/vas/sqlfire/nodes.rb +73 -0
  68. data/lib/vas/sqlfire/server_instances.rb +192 -0
  69. data/lib/vas/sqlfire/server_live_configurations.rb +39 -0
  70. data/lib/vas/sqlfire/server_logs.rb +39 -0
  71. data/lib/vas/sqlfire/server_node_instances.rb +86 -0
  72. data/lib/vas/sqlfire/server_node_live_configurations.rb +39 -0
  73. data/lib/vas/sqlfire/server_pending_configurations.rb +39 -0
  74. data/lib/vas/sqlfire/sqlfire.rb +44 -0
  75. data/lib/vas/tc_server/applications.rb +32 -21
  76. data/lib/vas/tc_server/configuration.rb +1 -1
  77. data/lib/vas/tc_server/groups.rb +7 -4
  78. data/lib/vas/tc_server/installations.rb +16 -6
  79. data/lib/vas/tc_server/instances.rb +25 -13
  80. data/lib/vas/tc_server/live_configurations.rb +11 -1
  81. data/lib/vas/tc_server/logs.rb +4 -2
  82. data/lib/vas/tc_server/node_applications.rb +21 -17
  83. data/lib/vas/tc_server/node_instances.rb +23 -9
  84. data/lib/vas/tc_server/node_live_configurations.rb +39 -0
  85. data/lib/vas/tc_server/node_revisions.rb +15 -10
  86. data/lib/vas/tc_server/nodes.rb +15 -8
  87. data/lib/vas/tc_server/revision_images.rb +16 -10
  88. data/lib/vas/tc_server/revisions.rb +20 -16
  89. data/lib/vas/tc_server/tc_server.rb +5 -5
  90. data/lib/vas/tc_server/template_images.rb +13 -7
  91. data/lib/vas/tc_server/templates.rb +21 -13
  92. data/lib/vas/util/client.rb +15 -6
  93. data/lib/vas/vfabric/agent_image.rb +1 -1
  94. data/lib/vas/vfabric/nodes.rb +4 -11
  95. data/lib/vas/vfabric/v_fabric.rb +2 -2
  96. data/lib/vas/vfabric_administration_server.rb +37 -6
  97. data/lib/vas/web_server/configuration.rb +29 -0
  98. data/lib/vas/web_server/groups.rb +44 -0
  99. data/lib/vas/web_server/installation_images.rb +54 -0
  100. data/lib/vas/web_server/installations.rb +52 -0
  101. data/lib/vas/web_server/instances.rb +65 -0
  102. data/lib/vas/web_server/live_configurations.rb +39 -0
  103. data/lib/vas/web_server/logs.rb +37 -0
  104. data/lib/vas/web_server/node_instances.rb +39 -0
  105. data/lib/vas/web_server/node_live_configurations.rb +39 -0
  106. data/lib/vas/web_server/nodes.rb +53 -0
  107. data/lib/vas/web_server/pending_configurations.rb +39 -0
  108. data/lib/vas/web_server/web_server.rb +43 -0
  109. metadata +137 -76
data/README.md CHANGED
@@ -37,7 +37,7 @@ A number of [examples](https://github.com/vFabric/vas-ruby-api/tree/master/examp
37
37
 
38
38
  ### Documentation
39
39
 
40
- You may also like to look at the [API documentation](http://rubydoc.info/gems/vas/0.3.0/frames).
40
+ You may also like to look at the [API documentation](http://rubydoc.info/gems/vas/frames).
41
41
 
42
42
  ##Licence
43
43
 
data/lib/vas.rb CHANGED
@@ -20,12 +20,15 @@ require 'net/https'
20
20
  require 'net/http/post/multipart'
21
21
  require 'vas/shared/resource'
22
22
  require 'vas/shared/collection'
23
+ require 'vas/shared/deletable'
23
24
  require 'vas/shared/mutable_collection'
24
25
  require 'vas/shared/configuration'
25
26
  require 'vas/shared/groups'
26
27
  require 'vas/shared/installations'
27
28
  require 'vas/shared/installation_images'
28
- require 'vas/shared/pending_configuration'
29
+ require 'vas/shared/live_configuration'
30
+ require 'vas/shared/node_configuration'
31
+ require 'vas/shared/pending_configurations'
29
32
  require 'vas/shared/security'
30
33
  require 'vas/shared/state_resource'
31
34
  require 'vas/shared/instance'
@@ -36,6 +39,7 @@ require 'vas/gemfire/agent_instances'
36
39
  require 'vas/gemfire/agent_live_configurations'
37
40
  require 'vas/gemfire/agent_logs'
38
41
  require 'vas/gemfire/agent_node_instances'
42
+ require 'vas/gemfire/agent_node_live_configurations'
39
43
  require 'vas/gemfire/agent_pending_configurations'
40
44
  require 'vas/gemfire/application_code_images'
41
45
  require 'vas/gemfire/application_code'
@@ -43,6 +47,7 @@ require 'vas/gemfire/cache_server_instances'
43
47
  require 'vas/gemfire/cache_server_live_configurations'
44
48
  require 'vas/gemfire/cache_server_logs'
45
49
  require 'vas/gemfire/cache_server_node_instances'
50
+ require 'vas/gemfire/cache_server_node_live_configurations'
46
51
  require 'vas/gemfire/cache_server_pending_configurations'
47
52
  require 'vas/gemfire/disk_stores'
48
53
  require 'vas/gemfire/gemfire'
@@ -54,6 +59,7 @@ require 'vas/gemfire/locator_instances'
54
59
  require 'vas/gemfire/locator_live_configurations'
55
60
  require 'vas/gemfire/locator_logs'
56
61
  require 'vas/gemfire/locator_node_instances'
62
+ require 'vas/gemfire/locator_node_live_configurations'
57
63
  require 'vas/gemfire/locator_pending_configurations'
58
64
  require 'vas/gemfire/nodes'
59
65
  require 'vas/gemfire/pending_application_codes'
@@ -67,9 +73,33 @@ require 'vas/rabbitmq/instances'
67
73
  require 'vas/rabbitmq/live_configurations'
68
74
  require 'vas/rabbitmq/logs'
69
75
  require 'vas/rabbitmq/node_instances'
76
+ require 'vas/rabbitmq/node_live_configurations'
70
77
  require 'vas/rabbitmq/nodes'
71
78
  require 'vas/rabbitmq/pending_configurations'
72
79
  require 'vas/rabbitmq/rabbitmq'
80
+ require 'vas/sqlfire/agent_instances'
81
+ require 'vas/sqlfire/agent_live_configurations'
82
+ require 'vas/sqlfire/agent_logs'
83
+ require 'vas/sqlfire/agent_node_instances'
84
+ require 'vas/sqlfire/agent_node_live_configurations'
85
+ require 'vas/sqlfire/agent_pending_configurations'
86
+ require 'vas/sqlfire/groups'
87
+ require 'vas/sqlfire/installation_images'
88
+ require 'vas/sqlfire/installations'
89
+ require 'vas/sqlfire/locator_instances'
90
+ require 'vas/sqlfire/locator_live_configurations'
91
+ require 'vas/sqlfire/locator_logs'
92
+ require 'vas/sqlfire/locator_node_instances'
93
+ require 'vas/sqlfire/locator_node_live_configurations'
94
+ require 'vas/sqlfire/locator_pending_configurations'
95
+ require 'vas/sqlfire/nodes'
96
+ require 'vas/sqlfire/server_instances'
97
+ require 'vas/sqlfire/server_live_configurations'
98
+ require 'vas/sqlfire/server_logs'
99
+ require 'vas/sqlfire/server_node_instances'
100
+ require 'vas/sqlfire/server_node_live_configurations'
101
+ require 'vas/sqlfire/server_pending_configurations'
102
+ require 'vas/sqlfire/sqlfire'
73
103
  require 'vas/tc_server/applications'
74
104
  require 'vas/tc_server/configuration'
75
105
  require 'vas/tc_server/groups'
@@ -80,6 +110,7 @@ require 'vas/tc_server/live_configurations'
80
110
  require 'vas/tc_server/logs'
81
111
  require 'vas/tc_server/node_applications'
82
112
  require 'vas/tc_server/node_instances'
113
+ require 'vas/tc_server/node_live_configurations'
83
114
  require 'vas/tc_server/node_revisions'
84
115
  require 'vas/tc_server/nodes'
85
116
  require 'vas/tc_server/pending_configurations'
@@ -95,4 +126,16 @@ require 'vas/vfabric/agent_image'
95
126
  require 'vas/vfabric/nodes'
96
127
  require 'vas/vfabric/v_fabric'
97
128
  require 'vas/vfabric_administration_server'
129
+ require 'vas/web_server/configuration'
130
+ require 'vas/web_server/groups'
131
+ require 'vas/web_server/installation_images'
132
+ require 'vas/web_server/installations'
133
+ require 'vas/web_server/instances'
134
+ require 'vas/web_server/live_configurations'
135
+ require 'vas/web_server/logs'
136
+ require 'vas/web_server/node_instances'
137
+ require 'vas/web_server/node_live_configurations'
138
+ require 'vas/web_server/nodes'
139
+ require 'vas/web_server/pending_configurations'
140
+ require 'vas/web_server/web_server'
98
141
  require 'zip/zipfilesystem'
@@ -21,7 +21,7 @@ module Gemfire
21
21
 
22
22
  # @private
23
23
  def initialize(location, client)
24
- super(location, client, "agent-group-instances", AgentInstance)
24
+ super(location, client, 'agent-group-instances', AgentInstance)
25
25
  end
26
26
 
27
27
  # Creates a new agent instance
@@ -32,7 +32,7 @@ module Gemfire
32
32
  # @return [AgentInstance] the new agent instance
33
33
  def create(installation, name)
34
34
  payload = { :installation => installation.location, :name => name }
35
- AgentInstance.new(client.post(location, payload, "agent-group-instance"), client)
35
+ super(payload, 'agent-group-instance')
36
36
  end
37
37
 
38
38
  end
@@ -51,7 +51,8 @@ module Gemfire
51
51
  #
52
52
  # @return [void]
53
53
  def update(installation)
54
- client.post(location, { :installation => installation.location });
54
+ client.post(location, { :installation => installation.location })
55
+ reload
55
56
  end
56
57
 
57
58
  end
@@ -21,17 +21,17 @@ module Gemfire
21
21
 
22
22
  # @private
23
23
  def initialize(location, client)
24
- super(location, client, "live-configurations", AgentLiveConfiguration)
24
+ super(location, client, 'live-configurations', AgentLiveConfiguration)
25
25
  end
26
26
 
27
27
  end
28
28
 
29
29
  # A live configuration file in an agent instance
30
- class AgentLiveConfiguration < Shared::Configuration
30
+ class AgentLiveConfiguration < Shared::LiveConfiguration
31
31
 
32
32
  # @private
33
33
  def initialize(location, client)
34
- super(location, client, "agent-group-instance", AgentInstance)
34
+ super(location, client, 'agent-group-instance', AgentInstance, AgentNodeLiveConfiguration)
35
35
  end
36
36
 
37
37
  end
@@ -21,7 +21,7 @@ module Gemfire
21
21
 
22
22
  # @private
23
23
  def initialize(location, client)
24
- super(location, client, "agent-node-instances", AgentNodeInstance)
24
+ super(location, client, 'agent-node-instances', AgentNodeInstance)
25
25
  end
26
26
 
27
27
  end
@@ -31,7 +31,7 @@ module Gemfire
31
31
 
32
32
  # @private
33
33
  def initialize(location, client)
34
- super(location, client, Node, AgentLogs, AgentInstance, 'agent-group-instance')
34
+ super(location, client, Node, AgentLogs, AgentInstance, 'agent-group-instance', AgentNodeLiveConfigurations)
35
35
  end
36
36
 
37
37
  end
@@ -0,0 +1,39 @@
1
+ # vFabric Administration Server Ruby API
2
+ # Copyright (c) 2012 VMware, Inc. All Rights Reserved.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+
16
+
17
+ module Gemfire
18
+
19
+ # Used to enumerate an agent node instance's live configuration
20
+ class AgentNodeLiveConfigurations < Shared::Collection
21
+
22
+ # @private
23
+ def initialize(location, client)
24
+ super(location, client, 'node-live-configurations', AgentNodeLiveConfiguration)
25
+ end
26
+
27
+ end
28
+
29
+ # A live configuration file in an agent node instance
30
+ class AgentNodeLiveConfiguration < Shared::NodeConfiguration
31
+
32
+ # @private
33
+ def initialize(location, client)
34
+ super(location, client, 'agent-node-instance', AgentNodeInstance, AgentLiveConfiguration)
35
+ end
36
+
37
+ end
38
+
39
+ end
@@ -25,24 +25,25 @@ module Gemfire
25
25
  # @return [String] the version of the application code
26
26
  attr_reader :version
27
27
 
28
- # @return [ApplicationCodeImage] the image that was used to create the application code
29
- attr_reader :application_code_image
30
-
31
- # @return [CacheServerInstance] the cache server instance that contains the application code
32
- attr_reader :instance
33
-
34
28
  # @private
35
29
  def initialize(location, client)
36
30
  super(location, client)
37
31
 
38
- @name = details["name"]
39
- @version = details["version"]
32
+ @name = details['name']
33
+ @version = details['version']
40
34
 
41
- @application_code_image = ApplicationCodeImage.new(
42
- Util::LinkUtils.get_link_href(details, 'application-code-image'), client)
35
+ @application_code_image_location = Util::LinkUtils.get_link_href(details, 'application-code-image')
36
+ @instance_location = Util::LinkUtils.get_link_href(details, 'cache-server-group-instance')
37
+ end
43
38
 
44
- @instance = CacheServerInstance.new(
45
- Util::LinkUtils.get_link_href(details, 'cache-server-group-instance'), client)
39
+ # @return [ApplicationCodeImage] the image that was used to create the application code
40
+ def application_code_image
41
+ @application_code_image ||= ApplicationCodeImage.new(@application_code_image_location, client)
42
+ end
43
+
44
+ # @return [CacheServerInstance] the cache server instance that contains the application code
45
+ def instance
46
+ @instance ||= CacheServerInstance.new(@instance_location, client)
46
47
  end
47
48
 
48
49
  # @return [String] a string representation of the application code
@@ -21,7 +21,7 @@ module Gemfire
21
21
 
22
22
  # @private
23
23
  def initialize(location, client)
24
- super(location, client, "application-code-images", ApplicationCodeImage)
24
+ super(location, client, 'application-code-images', ApplicationCodeImage)
25
25
  end
26
26
 
27
27
  # Creates a new application code image by uploading a file and assigning it a name and version
@@ -32,13 +32,15 @@ module Gemfire
32
32
  #
33
33
  # @return [ApplicationCodeImage] the new application code image
34
34
  def create(path, name, version)
35
- ApplicationCodeImage.new(client.post_image(location, path, { :name => name, :version => version }), client)
35
+ create_image(path, { :name => name, :version => version })
36
36
  end
37
37
 
38
38
  end
39
39
 
40
40
  # An application code image
41
41
  class ApplicationCodeImage < Shared::Resource
42
+
43
+ include Shared::Deletable
42
44
 
43
45
  # @return [String] the application code image's name
44
46
  attr_reader :name
@@ -60,23 +62,23 @@ module Gemfire
60
62
 
61
63
  # @return [ApplicationCode[]] the live application code that has been created from this application code image
62
64
  def live_application_code
63
- application_codes = []
64
- Util::LinkUtils.get_link_hrefs(client.get(location), "live-application-code").each {
65
- |application_code_location| application_codes << ApplicationCode.new(application_code_location, client)}
66
- application_codes
65
+ @live_application_codes ||= create_resources_from_links('live-application-code', ApplicationCode)
67
66
  end
68
67
 
69
68
  # @return [ApplicationCode[]] the pending application code that has been created from this application code image
70
69
  def pending_application_code
71
- application_codes = []
72
- Util::LinkUtils.get_link_hrefs(client.get(location), "pending-application-code").each {
73
- |application_code_location| application_codes << ApplicationCode.new(application_code_location, client)}
74
- application_codes
70
+ @pending_application_codes ||= create_resources_from_links('pending-application-code', ApplicationCode)
71
+ end
72
+
73
+ def reload
74
+ super
75
+ @live_application_codes = nil
76
+ @pending_application_codes = nil
75
77
  end
76
78
 
77
79
  # @return [String] a string representation of the application code image
78
80
  def to_s
79
- "#<#{self.class} name='#@name' version='#@version'>"
81
+ "#<#{self.class} name='#@name' version='#@version' size='#@size'>"
80
82
  end
81
83
 
82
84
  end
@@ -21,7 +21,7 @@ module Gemfire
21
21
 
22
22
  # @private
23
23
  def initialize(location, client)
24
- super(location, client, "cache-server-group-instances", CacheServerInstance)
24
+ super(location, client, 'cache-server-group-instances', CacheServerInstance)
25
25
  end
26
26
 
27
27
  # Creates a new cache server instance
@@ -32,7 +32,7 @@ module Gemfire
32
32
  # @return [CacheServerInstance] the new cache server instance
33
33
  def create(installation, name)
34
34
  payload = { :installation => installation.location, :name => name }
35
- CacheServerInstance.new(client.post(location, payload, "cache-server-group-instance"), client)
35
+ super(payload, 'cache-server-group-instance')
36
36
  end
37
37
 
38
38
  end
@@ -40,17 +40,14 @@ module Gemfire
40
40
  # A cache server instance
41
41
  class CacheServerInstance < Shared::Instance
42
42
 
43
- # @return [LiveApplicationCodes] the instance's live application code
44
- attr_reader :live_application_code
45
-
46
- # @return [PendingApplicationCodes] the instance's pending application code
47
- attr_reader :pending_application_code
48
-
49
43
  # @private
50
44
  def initialize(location, client)
51
- super(location, client, Group, Installation, CacheServerLiveConfigurations, CacheServerPendingConfigurations, CacheServerNodeInstance, 'cache-server-node-instance')
52
- @live_application_code = LiveApplicationCodes.new(Util::LinkUtils.get_link_href(details, 'live-application-code'), client)
53
- @pending_application_code = PendingApplicationCodes.new(Util::LinkUtils.get_link_href(details, 'pending-application-code'), client)
45
+ super(location, client, Group, Installation, CacheServerLiveConfigurations, CacheServerPendingConfigurations,
46
+ CacheServerNodeInstance, 'cache-server-node-instance')
47
+
48
+ @live_application_code_location = Util::LinkUtils.get_link_href(details, 'live-application-code')
49
+ @pending_application_code_location = Util::LinkUtils.get_link_href(details, 'pending-application-code')
50
+
54
51
  end
55
52
 
56
53
  # Updates the instance to use a different installation
@@ -59,7 +56,18 @@ module Gemfire
59
56
  #
60
57
  # @return [void]
61
58
  def update(installation)
62
- client.post(location, { :installation => installation.location });
59
+ client.post(location, { :installation => installation.location })
60
+ reload
61
+ end
62
+
63
+ # @return [LiveApplicationCodes] the instance's live application code
64
+ def live_application_code
65
+ @live_application_code ||= LiveApplicationCodes.new(@live_application_code_location, client)
66
+ end
67
+
68
+ # @return [PendingApplicationCodes] the instance's pending application code
69
+ def pending_application_code
70
+ @pending_application_code ||= PendingApplicationCodes.new(@pending_application_code_location, client)
63
71
  end
64
72
 
65
73
  end
@@ -21,17 +21,17 @@ module Gemfire
21
21
 
22
22
  # @private
23
23
  def initialize(location, client)
24
- super(location, client, "live-configurations", CacheServerLiveConfiguration)
24
+ super(location, client, 'live-configurations', CacheServerLiveConfiguration)
25
25
  end
26
26
 
27
27
  end
28
28
 
29
29
  # A live configuration file in a cache server instance
30
- class CacheServerLiveConfiguration < Shared::Configuration
30
+ class CacheServerLiveConfiguration < Shared::LiveConfiguration
31
31
 
32
32
  # @private
33
33
  def initialize(location, client)
34
- super(location, client, "cache-server-group-instance", CacheServerInstance)
34
+ super(location, client, 'cache-server-group-instance', CacheServerInstance, CacheServerNodeLiveConfiguration)
35
35
  end
36
36
 
37
37
  end
@@ -21,7 +21,7 @@ module Gemfire
21
21
 
22
22
  # @private
23
23
  def initialize(location, client)
24
- super(location, client, "cache-server-node-instances", CacheServerNodeInstance)
24
+ super(location, client, 'cache-server-node-instances', CacheServerNodeInstance)
25
25
  end
26
26
 
27
27
  end
@@ -29,17 +29,24 @@ module Gemfire
29
29
  # A cache server node instance
30
30
  class CacheServerNodeInstance < Shared::NodeInstance
31
31
 
32
+ # @private
33
+ def initialize(location, client)
34
+ super(location, client, Node, CacheServerLogs, CacheServerInstance, 'cache-server-group-instance',
35
+ CacheServerNodeLiveConfigurations)
36
+
37
+ @disk_stores_location = Util::LinkUtils.get_link_href(details, 'disk-stores')
38
+ @statistics_location = Util::LinkUtils.get_link_href(details, 'statistics')
39
+
40
+ end
41
+
32
42
  # @return [DiskStores] the instance's disk stores
33
- attr_reader :disk_stores
43
+ def disk_stores
44
+ @disk_stores ||= DiskStores.new(@disk_stores_location, client)
45
+ end
34
46
 
35
47
  # @return [Statistics] the instance's statistics
36
- attr_reader :statistics
37
-
38
- # @private
39
- def initialize(location, client)
40
- super(location, client, Node, CacheServerLogs, CacheServerInstance, 'cache-server-group-instance')
41
- @disk_stores = DiskStores.new(Util::LinkUtils.get_link_href(details, 'disk-stores'), client)
42
- @statistics = Statistics.new(Util::LinkUtils.get_link_href(details, 'statistics'), client)
48
+ def statistics
49
+ @statistics ||= Statistics.new(@statistics_location, client)
43
50
  end
44
51
 
45
52
  end
@@ -0,0 +1,39 @@
1
+ # vFabric Administration Server Ruby API
2
+ # Copyright (c) 2012 VMware, Inc. All Rights Reserved.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+
16
+
17
+ module Gemfire
18
+
19
+ # Used to enumerate a cache server node instance's live configuration
20
+ class CacheServerNodeLiveConfigurations < Shared::Collection
21
+
22
+ # @private
23
+ def initialize(location, client)
24
+ super(location, client, 'node-live-configurations', CacheServerNodeLiveConfiguration)
25
+ end
26
+
27
+ end
28
+
29
+ # A live configuration file in a cache server node instance
30
+ class CacheServerNodeLiveConfiguration < Shared::NodeConfiguration
31
+
32
+ # @private
33
+ def initialize(location, client)
34
+ super(location, client, 'cache-server-node-instance', CacheServerNodeInstance, CacheServerLiveConfiguration)
35
+ end
36
+
37
+ end
38
+
39
+ end