vas 0.3.0 → 0.4.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 (84) hide show
  1. data/README.md +25 -5
  2. data/lib/vas.rb +2 -7
  3. data/lib/vas/gemfire/agent_instances.rb +16 -6
  4. data/lib/vas/gemfire/agent_live_configurations.rb +14 -4
  5. data/lib/vas/gemfire/agent_logs.rb +5 -4
  6. data/lib/vas/gemfire/agent_node_instances.rb +5 -4
  7. data/lib/vas/gemfire/agent_pending_configurations.rb +5 -4
  8. data/lib/vas/gemfire/application_code.rb +7 -6
  9. data/lib/vas/gemfire/application_code_images.rb +19 -11
  10. data/lib/vas/gemfire/cache_server_instances.rb +18 -8
  11. data/lib/vas/gemfire/cache_server_live_configurations.rb +14 -4
  12. data/lib/vas/gemfire/cache_server_logs.rb +5 -4
  13. data/lib/vas/gemfire/cache_server_node_instances.rb +7 -6
  14. data/lib/vas/gemfire/cache_server_pending_configurations.rb +6 -5
  15. data/lib/vas/gemfire/disk_stores.rb +23 -13
  16. data/lib/vas/gemfire/gemfire.rb +8 -7
  17. data/lib/vas/gemfire/groups.rb +9 -8
  18. data/lib/vas/gemfire/installation_images.rb +5 -4
  19. data/lib/vas/gemfire/installations.rb +11 -10
  20. data/lib/vas/gemfire/live_application_codes.rb +3 -3
  21. data/lib/vas/gemfire/locator_instances.rb +25 -20
  22. data/lib/vas/gemfire/locator_live_configurations.rb +14 -4
  23. data/lib/vas/gemfire/locator_logs.rb +5 -4
  24. data/lib/vas/gemfire/locator_node_instances.rb +7 -6
  25. data/lib/vas/gemfire/locator_pending_configurations.rb +6 -5
  26. data/lib/vas/gemfire/nodes.rb +20 -21
  27. data/lib/vas/gemfire/pending_application_codes.rb +8 -4
  28. data/lib/vas/gemfire/statistics.rb +21 -13
  29. data/lib/vas/rabbitmq/groups.rb +8 -7
  30. data/lib/vas/rabbitmq/installation_images.rb +7 -6
  31. data/lib/vas/rabbitmq/installations.rb +8 -7
  32. data/lib/vas/rabbitmq/instances.rb +20 -10
  33. data/lib/vas/rabbitmq/live_configurations.rb +15 -5
  34. data/lib/vas/rabbitmq/logs.rb +7 -6
  35. data/lib/vas/rabbitmq/node_instances.rb +7 -6
  36. data/lib/vas/rabbitmq/nodes.rb +13 -15
  37. data/lib/vas/rabbitmq/pending_configurations.rb +7 -6
  38. data/lib/vas/rabbitmq/plugin_images.rb +14 -8
  39. data/lib/vas/rabbitmq/plugins.rb +24 -23
  40. data/lib/vas/rabbitmq/rabbitmq.rb +10 -7
  41. data/lib/vas/shared/collection.rb +12 -6
  42. data/lib/vas/shared/configuration.rb +16 -8
  43. data/lib/vas/shared/groups.rb +28 -10
  44. data/lib/vas/shared/installation_images.rb +20 -8
  45. data/lib/vas/shared/installations.rb +23 -12
  46. data/lib/vas/shared/{instances.rb → instance.rb} +11 -12
  47. data/lib/vas/shared/logs.rb +30 -21
  48. data/lib/vas/shared/mutable_collection.rb +5 -3
  49. data/lib/vas/shared/node_instances.rb +12 -7
  50. data/lib/vas/shared/nodes.rb +14 -12
  51. data/lib/vas/shared/pending_configuration.rb +12 -5
  52. data/lib/vas/shared/resource.rb +10 -6
  53. data/lib/vas/shared/security.rb +15 -11
  54. data/lib/vas/shared/state_resource.rb +12 -6
  55. data/lib/vas/tc_server/applications.rb +24 -21
  56. data/lib/vas/tc_server/configuration.rb +3 -3
  57. data/lib/vas/tc_server/groups.rb +7 -6
  58. data/lib/vas/tc_server/installation_images.rb +5 -4
  59. data/lib/vas/tc_server/installations.rb +11 -12
  60. data/lib/vas/tc_server/instances.rb +28 -20
  61. data/lib/vas/tc_server/live_configurations.rb +3 -3
  62. data/lib/vas/tc_server/logs.rb +1 -2
  63. data/lib/vas/tc_server/node_applications.rb +19 -19
  64. data/lib/vas/tc_server/node_instances.rb +9 -8
  65. data/lib/vas/tc_server/node_revisions.rb +12 -10
  66. data/lib/vas/tc_server/nodes.rb +11 -9
  67. data/lib/vas/tc_server/pending_configurations.rb +5 -4
  68. data/lib/vas/tc_server/revision_images.rb +19 -11
  69. data/lib/vas/tc_server/revisions.rb +22 -18
  70. data/lib/vas/tc_server/tc_server.rb +9 -8
  71. data/lib/vas/tc_server/template_images.rb +19 -11
  72. data/lib/vas/tc_server/templates.rb +19 -17
  73. data/lib/vas/util/client.rb +4 -3
  74. data/lib/vas/util/link_utils.rb +4 -3
  75. data/lib/vas/vas_exception.rb +6 -6
  76. data/lib/vas/vfabric/agent_image.rb +14 -3
  77. data/lib/vas/vfabric/nodes.rb +16 -10
  78. data/lib/vas/vfabric/v_fabric.rb +6 -3
  79. data/lib/vas/vfabric_administration_server.rb +11 -11
  80. metadata +13 -17
  81. data/lib/vas/gemfire/agent_configuration.rb +0 -28
  82. data/lib/vas/gemfire/cache_server_configuration.rb +0 -28
  83. data/lib/vas/gemfire/locator_configuration.rb +0 -28
  84. data/lib/vas/rabbitmq/configuration.rb +0 -28
data/README.md CHANGED
@@ -13,13 +13,33 @@ The VAS Ruby API requires Ruby 1.8.7 or 1.9.x. It has been built and tested on 1
13
13
 
14
14
  ## Installation
15
15
 
16
- The VAS Ruby API is not yet available on [RubyGems](https://rubygems.org/). However, pre-built
17
- gems can be [downloaded](https://github.com/vFabric/vas-ruby-api/downloads) and installed. For
18
- example:
16
+ The VAS Ruby API is available on [RubyGems](https://rubygems.org/gems/vas). To install it run:
19
17
 
20
- gem install vas-<version>.gem
18
+ gem install vas
21
19
 
22
- ## Licence
20
+ ## Getting started
21
+
22
+ ### Examples
23
+
24
+ A number of [examples](https://github.com/vFabric/vas-ruby-api/tree/master/examples) are provided:
25
+
26
+ #### tc Server
27
+
28
+ * [Provision tc Server and deploy a web application](https://github.com/vFabric/vas-ruby-api/tree/master/examples/tc-server/web-application)
29
+
30
+ #### RabbitMQ
31
+
32
+ * [Provision Rabbit and enable the management plugin](https://github.com/vFabric/vas-ruby-api/tree/master/examples/rabbitmq/management-plugin)
33
+
34
+ #### VAS
35
+
36
+ * [Download, install, and start the VAS agent](https://github.com/vFabric/vas-ruby-api/tree/master/examples/rabbitmq/management-plugin)
37
+
38
+ ### Documentation
39
+
40
+ You may also like to look at the [API documentation](http://rubydoc.info/gems/vas/0.3.0/frames).
41
+
42
+ ##Licence
23
43
 
24
44
  The VAS Ruby API is licensed under the [Apache Licence, Version 2.0][asl2].
25
45
 
data/lib/vas.rb CHANGED
@@ -1,4 +1,3 @@
1
- #--
2
1
  # vFabric Administration Server Ruby API
3
2
  # Copyright (c) 2012 VMware, Inc. All Rights Reserved.
4
3
  #
@@ -13,7 +12,7 @@
13
12
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
13
  # See the License for the specific language governing permissions and
15
14
  # limitations under the License.
16
- #++
15
+
17
16
 
18
17
  require 'json'
19
18
  require 'net/http'
@@ -29,11 +28,10 @@ require 'vas/shared/installation_images'
29
28
  require 'vas/shared/pending_configuration'
30
29
  require 'vas/shared/security'
31
30
  require 'vas/shared/state_resource'
32
- require 'vas/shared/instances'
31
+ require 'vas/shared/instance'
33
32
  require 'vas/shared/logs'
34
33
  require 'vas/shared/node_instances'
35
34
  require 'vas/shared/nodes'
36
- require 'vas/gemfire/agent_configuration'
37
35
  require 'vas/gemfire/agent_instances'
38
36
  require 'vas/gemfire/agent_live_configurations'
39
37
  require 'vas/gemfire/agent_logs'
@@ -41,7 +39,6 @@ require 'vas/gemfire/agent_node_instances'
41
39
  require 'vas/gemfire/agent_pending_configurations'
42
40
  require 'vas/gemfire/application_code_images'
43
41
  require 'vas/gemfire/application_code'
44
- require 'vas/gemfire/cache_server_configuration'
45
42
  require 'vas/gemfire/cache_server_instances'
46
43
  require 'vas/gemfire/cache_server_live_configurations'
47
44
  require 'vas/gemfire/cache_server_logs'
@@ -53,7 +50,6 @@ require 'vas/gemfire/groups'
53
50
  require 'vas/gemfire/installation_images'
54
51
  require 'vas/gemfire/installations'
55
52
  require 'vas/gemfire/live_application_codes'
56
- require 'vas/gemfire/locator_configuration'
57
53
  require 'vas/gemfire/locator_instances'
58
54
  require 'vas/gemfire/locator_live_configurations'
59
55
  require 'vas/gemfire/locator_logs'
@@ -62,7 +58,6 @@ require 'vas/gemfire/locator_pending_configurations'
62
58
  require 'vas/gemfire/nodes'
63
59
  require 'vas/gemfire/pending_application_codes'
64
60
  require 'vas/gemfire/statistics'
65
- require 'vas/rabbitmq/configuration'
66
61
  require 'vas/rabbitmq/groups'
67
62
  require 'vas/rabbitmq/installation_images'
68
63
  require 'vas/rabbitmq/plugin_images'
@@ -1,4 +1,3 @@
1
- #--
2
1
  # vFabric Administration Server Ruby API
3
2
  # Copyright (c) 2012 VMware, Inc. All Rights Reserved.
4
3
  #
@@ -13,18 +12,24 @@
13
12
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
13
  # See the License for the specific language governing permissions and
15
14
  # limitations under the License.
16
- #++
15
+
17
16
 
18
17
  module Gemfire
19
18
 
20
19
  # Used to enumerate, create, and delete agent instances.
21
20
  class AgentInstances < Shared::MutableCollection
22
21
 
23
- def initialize(location, client) #:nodoc:
22
+ # @private
23
+ def initialize(location, client)
24
24
  super(location, client, "agent-group-instances", AgentInstance)
25
25
  end
26
26
 
27
- # Creates a new instance named +name+, using the given +installation+.
27
+ # Creates a new agent instance
28
+ #
29
+ # @param installation [Installation] the installation to be used by the instance
30
+ # @param name [String] the name of the instance
31
+ #
32
+ # @return [AgentInstance] the new agent instance
28
33
  def create(installation, name)
29
34
  payload = { :installation => installation.location, :name => name }
30
35
  AgentInstance.new(client.post(location, payload, "agent-group-instance"), client)
@@ -35,11 +40,16 @@ module Gemfire
35
40
  # An agent instance
36
41
  class AgentInstance < Shared::Instance
37
42
 
38
- def initialize(location, client) #:nodoc:
43
+ # @private
44
+ def initialize(location, client)
39
45
  super(location, client, Group, Installation, AgentLiveConfigurations, AgentPendingConfigurations, AgentNodeInstance, 'agent-node-instance')
40
46
  end
41
47
 
42
- # Updates the instance to use the given +installation+
48
+ # Updates the instance to use a different installation
49
+ #
50
+ # @param installation [Installation] the installation that the instance should use
51
+ #
52
+ # @return [void]
43
53
  def update(installation)
44
54
  client.post(location, { :installation => installation.location });
45
55
  end
@@ -1,4 +1,3 @@
1
- #--
2
1
  # vFabric Administration Server Ruby API
3
2
  # Copyright (c) 2012 VMware, Inc. All Rights Reserved.
4
3
  #
@@ -13,15 +12,26 @@
13
12
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
13
  # See the License for the specific language governing permissions and
15
14
  # limitations under the License.
16
- #++
15
+
17
16
 
18
17
  module Gemfire
19
18
 
20
19
  # Used to enumerate an agent instance's live configuration
21
20
  class AgentLiveConfigurations < Shared::Collection
22
21
 
23
- def initialize(location, client) #:nodoc:
24
- super(location, client, "live-configurations", AgentConfiguration)
22
+ # @private
23
+ def initialize(location, client)
24
+ super(location, client, "live-configurations", AgentLiveConfiguration)
25
+ end
26
+
27
+ end
28
+
29
+ # A live configuration file in an agent instance
30
+ class AgentLiveConfiguration < Shared::Configuration
31
+
32
+ # @private
33
+ def initialize(location, client)
34
+ super(location, client, "agent-group-instance", AgentInstance)
25
35
  end
26
36
 
27
37
  end
@@ -1,4 +1,3 @@
1
- #--
2
1
  # vFabric Administration Server Ruby API
3
2
  # Copyright (c) 2012 VMware, Inc. All Rights Reserved.
4
3
  #
@@ -13,14 +12,15 @@
13
12
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
13
  # See the License for the specific language governing permissions and
15
14
  # limitations under the License.
16
- #++
15
+
17
16
 
18
17
  module Gemfire
19
18
 
20
19
  # Used to enumerate an agent node instance's logs
21
20
  class AgentLogs < Shared::Logs
22
21
 
23
- def initialize(location, client) #:nodoc:
22
+ # @private
23
+ def initialize(location, client)
24
24
  super(location, client, AgentLog)
25
25
  end
26
26
 
@@ -29,7 +29,8 @@ module Gemfire
29
29
  # A log file in an agent node instance
30
30
  class AgentLog < Shared::Log
31
31
 
32
- def initialize(location, client) #:nodoc:
32
+ # @private
33
+ def initialize(location, client)
33
34
  super(location, client, 'agent-node-instance', AgentNodeInstance)
34
35
  end
35
36
 
@@ -1,4 +1,3 @@
1
- #--
2
1
  # vFabric Administration Server Ruby API
3
2
  # Copyright (c) 2012 VMware, Inc. All Rights Reserved.
4
3
  #
@@ -13,14 +12,15 @@
13
12
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
13
  # See the License for the specific language governing permissions and
15
14
  # limitations under the License.
16
- #++
15
+
17
16
 
18
17
  module Gemfire
19
18
 
20
19
  # Used to enumerate agent instances on an individual node
21
20
  class AgentNodeInstances < Shared::NodeInstances
22
21
 
23
- def initialize(location, client) #:nodoc:
22
+ # @private
23
+ def initialize(location, client)
24
24
  super(location, client, "agent-node-instances", AgentNodeInstance)
25
25
  end
26
26
 
@@ -29,7 +29,8 @@ module Gemfire
29
29
  # An agent node instance
30
30
  class AgentNodeInstance < Shared::NodeInstance
31
31
 
32
- def initialize(location, client) #:nodoc:
32
+ # @private
33
+ def initialize(location, client)
33
34
  super(location, client, Node, AgentLogs, AgentInstance, 'agent-group-instance')
34
35
  end
35
36
 
@@ -1,4 +1,3 @@
1
- #--
2
1
  # vFabric Administration Server Ruby API
3
2
  # Copyright (c) 2012 VMware, Inc. All Rights Reserved.
4
3
  #
@@ -13,14 +12,15 @@
13
12
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
13
  # See the License for the specific language governing permissions and
15
14
  # limitations under the License.
16
- #++
15
+
17
16
 
18
17
  module Gemfire
19
18
 
20
19
  # Used to enumerate an agent instance's pending configuration
21
20
  class AgentPendingConfigurations < Shared::PendingConfigurations
22
21
 
23
- def initialize(location, client) #:nodoc:
22
+ # @private
23
+ def initialize(location, client)
24
24
  super(location, client, 'pending-configurations', AgentPendingConfiguration)
25
25
  end
26
26
 
@@ -29,7 +29,8 @@ module Gemfire
29
29
  # A configuration file that is pending
30
30
  class AgentPendingConfiguration < Shared::PendingConfiguration
31
31
 
32
- def initialize(location, client) #:nodoc:
32
+ # @private
33
+ def initialize(location, client)
33
34
  super(location, client, 'agent-group-instance', AgentInstance)
34
35
  end
35
36
 
@@ -1,4 +1,3 @@
1
- #--
2
1
  # vFabric Administration Server Ruby API
3
2
  # Copyright (c) 2012 VMware, Inc. All Rights Reserved.
4
3
  #
@@ -13,25 +12,26 @@
13
12
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
13
  # See the License for the specific language governing permissions and
15
14
  # limitations under the License.
16
- #++
15
+
17
16
 
18
17
  module Gemfire
19
18
 
20
19
  # Application code in a cache server instance
21
20
  class ApplicationCode < Shared::Resource
22
21
 
23
- # The name of the application code
22
+ # @return [String] the name of the application code
24
23
  attr_reader :name
25
24
 
26
- # The version of the application code
25
+ # @return [String] the version of the application code
27
26
  attr_reader :version
28
27
 
29
- # The image that was used to create this application code
28
+ # @return [ApplicationCodeImage] the image that was used to create the application code
30
29
  attr_reader :application_code_image
31
30
 
32
- # The cache server instance that contains this application code
31
+ # @return [CacheServerInstance] the cache server instance that contains the application code
33
32
  attr_reader :instance
34
33
 
34
+ # @private
35
35
  def initialize(location, client)
36
36
  super(location, client)
37
37
 
@@ -45,6 +45,7 @@ module Gemfire
45
45
  Util::LinkUtils.get_link_href(details, 'cache-server-group-instance'), client)
46
46
  end
47
47
 
48
+ # @return [String] a string representation of the application code
48
49
  def to_s #:nodoc:
49
50
  "#<#{self.class} name='#@name' version=#@version>"
50
51
  end
@@ -1,4 +1,3 @@
1
- #--
2
1
  # vFabric Administration Server Ruby API
3
2
  # Copyright (c) 2012 VMware, Inc. All Rights Reserved.
4
3
  #
@@ -13,18 +12,25 @@
13
12
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
13
  # See the License for the specific language governing permissions and
15
14
  # limitations under the License.
16
- #++
15
+
17
16
 
18
17
  module Gemfire
19
18
 
20
19
  # Used to enumerate, create, and delete GemFire application code images.
21
20
  class ApplicationCodeImages < Shared::MutableCollection
22
21
 
23
- def initialize(location, client) #:nodoc:
22
+ # @private
23
+ def initialize(location, client)
24
24
  super(location, client, "application-code-images", ApplicationCodeImage)
25
25
  end
26
26
 
27
- # Creates an application code image named +name+ with the version +version+ by uploading the file at the given +path+
27
+ # Creates a new application code image by uploading a file and assigning it a name and version
28
+ #
29
+ # @param path [String] the path of the file to upload
30
+ # @param name [String] the name of the application code
31
+ # @param version [String] the version of the application code
32
+ #
33
+ # @return [ApplicationCodeImage] the new application code image
28
34
  def create(path, name, version)
29
35
  ApplicationCodeImage.new(client.post_image(location, path, { :name => name, :version => version }), client)
30
36
  end
@@ -34,16 +40,17 @@ module Gemfire
34
40
  # An application code image
35
41
  class ApplicationCodeImage < Shared::Resource
36
42
 
37
- # The application code image's name
43
+ # @return [String] the application code image's name
38
44
  attr_reader :name
39
45
 
40
- # The application code image's version
46
+ # @return [String] the application code image's version
41
47
  attr_reader :version
42
48
 
43
- # The application code image's size
49
+ # @return [String] the application code image's size
44
50
  attr_reader :size
45
51
 
46
- def initialize(location, client) #:nodoc:
52
+ # @private
53
+ def initialize(location, client)
47
54
  super(location, client)
48
55
 
49
56
  @name = details['name']
@@ -51,7 +58,7 @@ module Gemfire
51
58
  @size = details['size']
52
59
  end
53
60
 
54
- # An array of the live application code that has been created from this application code image
61
+ # @return [ApplicationCode[]] the live application code that has been created from this application code image
55
62
  def live_application_code
56
63
  application_codes = []
57
64
  Util::LinkUtils.get_link_hrefs(client.get(location), "live-application-code").each {
@@ -59,7 +66,7 @@ module Gemfire
59
66
  application_codes
60
67
  end
61
68
 
62
- # An array of the pending application code that has been created from this application code image
69
+ # @return [ApplicationCode[]] the pending application code that has been created from this application code image
63
70
  def pending_application_code
64
71
  application_codes = []
65
72
  Util::LinkUtils.get_link_hrefs(client.get(location), "pending-application-code").each {
@@ -67,7 +74,8 @@ module Gemfire
67
74
  application_codes
68
75
  end
69
76
 
70
- def to_s #:nodoc:
77
+ # @return [String] a string representation of the application code image
78
+ def to_s
71
79
  "#<#{self.class} name='#@name' version='#@version'>"
72
80
  end
73
81
 
@@ -1,4 +1,3 @@
1
- #--
2
1
  # vFabric Administration Server Ruby API
3
2
  # Copyright (c) 2012 VMware, Inc. All Rights Reserved.
4
3
  #
@@ -13,18 +12,24 @@
13
12
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
13
  # See the License for the specific language governing permissions and
15
14
  # limitations under the License.
16
- #++
15
+
17
16
 
18
17
  module Gemfire
19
18
 
20
19
  # Used to enumerate, create, and delete cache server instances.
21
20
  class CacheServerInstances < Shared::MutableCollection
22
21
 
23
- def initialize(location, client) #:nodoc:
22
+ # @private
23
+ def initialize(location, client)
24
24
  super(location, client, "cache-server-group-instances", CacheServerInstance)
25
25
  end
26
26
 
27
- # Creates a new instance named +name+, using the given +installation+.
27
+ # Creates a new cache server instance
28
+ #
29
+ # @param installation [Installation] the installation to be used by the instance
30
+ # @param name [String] the name of the instance
31
+ #
32
+ # @return [CacheServerInstance] the new cache server instance
28
33
  def create(installation, name)
29
34
  payload = { :installation => installation.location, :name => name }
30
35
  CacheServerInstance.new(client.post(location, payload, "cache-server-group-instance"), client)
@@ -35,19 +40,24 @@ module Gemfire
35
40
  # A cache server instance
36
41
  class CacheServerInstance < Shared::Instance
37
42
 
38
- # The instance's live application code
43
+ # @return [LiveApplicationCodes] the instance's live application code
39
44
  attr_reader :live_application_code
40
45
 
41
- # The instance's pending application code
46
+ # @return [PendingApplicationCodes] the instance's pending application code
42
47
  attr_reader :pending_application_code
43
48
 
44
- def initialize(location, client) #:nodoc:
49
+ # @private
50
+ def initialize(location, client)
45
51
  super(location, client, Group, Installation, CacheServerLiveConfigurations, CacheServerPendingConfigurations, CacheServerNodeInstance, 'cache-server-node-instance')
46
52
  @live_application_code = LiveApplicationCodes.new(Util::LinkUtils.get_link_href(details, 'live-application-code'), client)
47
53
  @pending_application_code = PendingApplicationCodes.new(Util::LinkUtils.get_link_href(details, 'pending-application-code'), client)
48
54
  end
49
55
 
50
- # Updates the instance to use the given +installation+
56
+ # Updates the instance to use a different installation
57
+ #
58
+ # @param installation [Installation] the installation that the instance should use
59
+ #
60
+ # @return [void]
51
61
  def update(installation)
52
62
  client.post(location, { :installation => installation.location });
53
63
  end