rumm 0.0.22 → 0.0.23

Sign up to get free protection for your applications and to get access to all the features.
Files changed (144) hide show
  1. checksums.yaml +14 -6
  2. data/.gitignore +2 -1
  3. data/app/controllers/attachments_controller.rb +21 -11
  4. data/app/controllers/containers_controller.rb +8 -2
  5. data/app/controllers/databases_controller.rb +7 -2
  6. data/app/controllers/files_controller.rb +13 -2
  7. data/app/controllers/instances_controller.rb +10 -4
  8. data/app/controllers/nodes_controller.rb +11 -5
  9. data/app/controllers/volumes_controller.rb +9 -5
  10. data/app/forms/attachments/attach_detach_show_form.rb +8 -0
  11. data/app/forms/containers/create_form.rb +5 -0
  12. data/app/forms/databases/create_form.rb +6 -0
  13. data/app/forms/files/create_form.rb +5 -0
  14. data/app/forms/files/download_form.rb +5 -0
  15. data/app/forms/instances/create_form.rb +11 -0
  16. data/app/forms/loadbalancers/create_form.rb +2 -2
  17. data/app/forms/nodes/create_form.rb +12 -0
  18. data/app/forms/users/create_form.rb +1 -1
  19. data/app/forms/volumes/create_form.rb +10 -0
  20. data/app/help/create_attachment_on_server.txt +14 -0
  21. data/app/help/create_container.txt +1 -0
  22. data/app/help/{create_database.txt → create_database_on_dbinstance.txt} +3 -3
  23. data/app/help/create_dbinstance.txt +3 -3
  24. data/app/help/create_file_in_container.txt +14 -0
  25. data/app/help/create_node_on_loadbalancer.txt +17 -0
  26. data/app/help/create_server.txt +4 -4
  27. data/app/help/{create_user.txt → create_user_on_dbinstance.txt} +0 -0
  28. data/app/help/create_volume.txt +4 -2
  29. data/app/help/destroy_attachment_on_server.txt +14 -0
  30. data/app/help/{destroy_database.txt → destroy_database_on_dbinstance.txt} +0 -0
  31. data/app/help/{destroy_file.txt → destroy_file_in_container.txt} +0 -0
  32. data/app/help/{destroy_node.txt → destroy_node_on_loadbalancer.txt} +0 -0
  33. data/app/help/destroy_user_on_dbinstance.txt +15 -0
  34. data/app/help/download_file_in_container.txt +15 -0
  35. data/app/help/routes.rb +4 -3
  36. data/app/help/show_attachment_on_server.txt +14 -0
  37. data/app/help/{show_attachments.txt → show_attachments_on_server.txt} +0 -0
  38. data/app/help/{show_database.txt → show_database_on_dbinstance.txt} +0 -0
  39. data/app/help/{show_databases.txt → show_databases_on_dbinstance.txt} +0 -0
  40. data/app/help/{show_file.txt → show_file_in_container.txt} +0 -0
  41. data/app/help/{show_files.txt → show_files_in_container.txt} +0 -0
  42. data/app/help/{show_node.txt → show_node_in_loadbalancer.txt} +0 -0
  43. data/app/help/show_user_on_dbinstance.txt +15 -0
  44. data/app/help/{show_users.txt → show_users_on_dbinstance.txt} +0 -0
  45. data/app/providers/compute_provider.rb +2 -1
  46. data/app/providers/containers_provider.rb +2 -1
  47. data/app/providers/databases_provider.rb +2 -1
  48. data/app/providers/instances_provider.rb +2 -1
  49. data/app/providers/loadbalancers_provider.rb +2 -1
  50. data/app/providers/nodes_provider.rb +2 -1
  51. data/app/providers/volumes_provider.rb +2 -1
  52. data/app/routes.rb +5 -4
  53. data/app/views/attachments/attach.txt.erb +4 -1
  54. data/app/views/attachments/detach.txt.erb +1 -1
  55. data/app/views/attachments/index.txt.erb +10 -2
  56. data/app/views/attachments/show.txt.erb +3 -1
  57. data/app/views/containers/create.txt.erb +1 -1
  58. data/app/views/containers/destroy.txt.erb +1 -1
  59. data/app/views/containers/index.txt.erb +7 -1
  60. data/app/views/databases/create.txt.erb +1 -1
  61. data/app/views/databases/destroy.txt.erb +1 -1
  62. data/app/views/databases/index.txt.erb +2 -1
  63. data/app/views/files/create.txt.erb +1 -2
  64. data/app/views/files/destroy.txt.erb +1 -1
  65. data/app/views/files/download.txt.erb +1 -1
  66. data/app/views/files/index.txt.erb +9 -1
  67. data/app/views/files/show.txt.erb +2 -1
  68. data/app/views/instances/create.txt.erb +1 -1
  69. data/app/views/instances/destroy.txt.erb +1 -1
  70. data/app/views/instances/index.txt.erb +2 -1
  71. data/app/views/instances/show.txt.erb +4 -1
  72. data/app/views/loadbalancers/create.txt.erb +1 -1
  73. data/app/views/loadbalancers/destroy.txt.erb +1 -1
  74. data/app/views/loadbalancers/index.txt.erb +1 -0
  75. data/app/views/nodes/create.txt.erb +1 -1
  76. data/app/views/nodes/destroy.txt.erb +1 -1
  77. data/app/views/nodes/index.txt.erb +7 -2
  78. data/app/views/nodes/show.txt.erb +6 -1
  79. data/app/views/users/index.txt.erb +4 -3
  80. data/app/views/volumes/create.txt.erb +1 -1
  81. data/app/views/volumes/destroy.txt.erb +1 -1
  82. data/app/views/volumes/index.txt.erb +8 -1
  83. data/app/views/volumes/show.txt.erb +7 -1
  84. data/lib/rumm/version.rb +1 -1
  85. data/rumm.gemspec +3 -3
  86. data/spec/features/attachments_spec.rb +33 -0
  87. data/spec/features/containers_spec.rb +30 -0
  88. data/spec/features/databases_spec.rb +29 -0
  89. data/spec/features/dbinstances_spec.rb +30 -0
  90. data/spec/features/files_spec.rb +50 -0
  91. data/spec/features/help_spec.rb +2 -2
  92. data/spec/features/loadbalancers_spec.rb +30 -0
  93. data/spec/features/login_spec.rb +21 -17
  94. data/spec/features/nodes_spec.rb +35 -0
  95. data/spec/features/servers_spec.rb +7 -13
  96. data/spec/features/volumes_spec.rb +29 -0
  97. data/spec/fixtures/cassettes/attachments/create.yml +305 -0
  98. data/spec/fixtures/cassettes/attachments/destroy.yml +342 -0
  99. data/spec/fixtures/cassettes/attachments/show-all.yml +145 -0
  100. data/spec/fixtures/cassettes/attachments/show.yml +309 -0
  101. data/spec/fixtures/cassettes/authentication/successful-login.yml +78 -0
  102. data/spec/fixtures/cassettes/{unsuccessful-login.yml → authentication/unsuccessful-login.yml} +3 -3
  103. data/spec/fixtures/cassettes/containers/create.yml +212 -0
  104. data/spec/fixtures/cassettes/containers/destroy.yml +211 -0
  105. data/spec/fixtures/cassettes/containers/show-all.yml +92 -0
  106. data/spec/fixtures/cassettes/containers/show.yml +92 -0
  107. data/spec/fixtures/cassettes/databases/create.yml +171 -0
  108. data/spec/fixtures/cassettes/databases/destroy.yml +206 -0
  109. data/spec/fixtures/cassettes/databases/show-all.yml +171 -0
  110. data/spec/fixtures/cassettes/databases/show.yml +171 -0
  111. data/spec/fixtures/cassettes/files/create.yml +129 -0
  112. data/spec/fixtures/cassettes/files/destroy.yml +166 -0
  113. data/spec/fixtures/cassettes/files/download.yml +132 -0
  114. data/spec/fixtures/cassettes/files/show-all.yml +175 -0
  115. data/spec/fixtures/cassettes/files/show.yml +133 -0
  116. data/spec/fixtures/cassettes/instances/create.yml +87 -0
  117. data/spec/fixtures/cassettes/instances/destroy.yml +128 -0
  118. data/spec/fixtures/cassettes/instances/show-all.yml +87 -0
  119. data/spec/fixtures/cassettes/instances/show.yml +128 -0
  120. data/spec/fixtures/cassettes/loadbalancers/create.yml +81 -0
  121. data/spec/fixtures/cassettes/loadbalancers/destroy.yml +114 -0
  122. data/spec/fixtures/cassettes/loadbalancers/show-all.yml +81 -0
  123. data/spec/fixtures/cassettes/loadbalancers/show.yml +81 -0
  124. data/spec/fixtures/cassettes/nodes/create.yml +159 -0
  125. data/spec/fixtures/cassettes/nodes/destroy.yml +192 -0
  126. data/spec/fixtures/cassettes/nodes/show-all.yml +159 -0
  127. data/spec/fixtures/cassettes/nodes/show.yml +159 -0
  128. data/spec/fixtures/cassettes/{create-server.yml → servers/create.yml} +2452 -3032
  129. data/spec/fixtures/cassettes/servers/destroy.yml +130 -0
  130. data/spec/fixtures/cassettes/servers/show-all.yml +81 -0
  131. data/spec/fixtures/cassettes/servers/show.yml +183 -0
  132. data/spec/fixtures/cassettes/volumes/create.yml +83 -0
  133. data/spec/fixtures/cassettes/volumes/destroy.yml +114 -0
  134. data/spec/fixtures/cassettes/volumes/show-all.yml +83 -0
  135. data/spec/fixtures/cassettes/volumes/show.yml +83 -0
  136. data/spec/spec_helper.rb +37 -7
  137. metadata +135 -62
  138. data/app/help/attach_volume.txt +0 -15
  139. data/app/help/create_node.txt +0 -14
  140. data/app/help/detach_volume.txt +0 -15
  141. data/spec/fixtures/cassettes/destroy-server.yml +0 -130
  142. data/spec/fixtures/cassettes/show-server.yml +0 -183
  143. data/spec/fixtures/cassettes/show-servers.yml +0 -81
  144. data/spec/fixtures/cassettes/successful-login.yml +0 -78
@@ -0,0 +1,17 @@
1
+ Usage:
2
+ rumm create node on loadbalancer LOADBALANCER_ID [--address IPADDRESS] [--port INTEGER] [--type PRIMARY|SECONDARY] [--condition ENABLED|DISABLED|DRAINING]
3
+
4
+ Options:
5
+ --address IPADDRESS # IP address for the node
6
+ --port INTEGER # Port number for what you're loadbalancing
7
+ --type PRIMARY|SECONDARY # Type of node to add
8
+ --condition ENABLED|DISABLED|DRAINING # Condition of the node
9
+
10
+ Arguments:
11
+ LOADBALANCER_ID: STRING # Name of the loadbalancer that contains the node requested
12
+
13
+ Description:
14
+ Creates a new node on the named load balancer.
15
+
16
+ Examples:
17
+ rumm create node on loadbalancer LOADBALANCER_ID
@@ -1,12 +1,12 @@
1
1
  Usage:
2
- rumm create server [--name STRING] [--image-id STRING] [--flavor-id STRING]
2
+ rumm create server [--name STRING] [--image-id STRING] [--flavor-id STRING] [--ssh-private STRING] [--ssh-publinc STRING]
3
3
 
4
4
  Options:
5
5
  -n, --name STRING # Name to give the new server
6
6
  -i, --image-id STRING # Use this VM image
7
7
  -f, --flavor-id STRING # Create with the specified flavor
8
- --private-key-path STRING # Path to your private ssh key
9
- --public-key-path STRING # Path to your public ssh key
8
+ --ssh-private STRING # Path to your private ssh key
9
+ --ssh-public STRING # Path to your public ssh key
10
10
 
11
11
  Arguments:
12
12
  none
@@ -20,7 +20,7 @@ Description:
20
20
 
21
21
  rumm assumes that your ssh keys are at ~/.ssh/id_rsa.pub and
22
22
  ~/.ssh/id_rsa. If that is not the case, you will need to specify the path
23
- to your keys with the public-key-path and private-key-path options.
23
+ to your keys with the ssh-public and ssh-private options.
24
24
 
25
25
  Examples:
26
26
  rumm create server
@@ -1,8 +1,10 @@
1
1
  Usage:
2
- rumm create volume
2
+ rumm create volume [--name STRING] [--type SATA|SSD] [--size INTEGER]
3
3
 
4
4
  Options:
5
- none
5
+ --name STRING # The name to be given to the volume
6
+ --type SATA|SSD # The type of volume to be created
7
+ --size INTEGER # The size in GB of the volume
6
8
 
7
9
  Arguments:
8
10
  none
@@ -0,0 +1,14 @@
1
+ Usage:
2
+ rumm destroy attachment on server SERVER_ID
3
+
4
+ Options:
5
+ -v, --volume STRING # Name of the volume to attach
6
+
7
+ Arguments:
8
+ SERVER_ID: STRING # The name of the server the volume is to be detached from
9
+
10
+ Description:
11
+ Detaches the specified volume from the named server.
12
+
13
+ Examples:
14
+ rumm destroy attachment on server superordinate-struthioniformes --volume colorful-caterpillar
@@ -0,0 +1,15 @@
1
+ Usage:
2
+ rumm destroy user ID on dbinstance DBINSTANCE_ID
3
+
4
+ Options:
5
+ none
6
+
7
+ Arguments:
8
+ ID: STRING # Name of the user to destroy
9
+ DBINSTANCE_ID # Name of the dbinstance the user is on
10
+
11
+ Description:
12
+ This command will send a request to destroy the named user on the given dbinstance.
13
+
14
+ Examples:
15
+ rumm destroy user happy-hippo on dbinstance daring-basket
@@ -0,0 +1,15 @@
1
+ Usage:
2
+ rumm download file ID in container CONTAINER_ID [--destination PATHNAME]
3
+
4
+ Options:
5
+ --destination: PATHNAME # Path to download the file to
6
+
7
+ Arguments:
8
+ ID: STRING # Name of the file to download
9
+ CONTAINER_ID: STRING # Name of the container to store the file
10
+
11
+ Description:
12
+ Uploads the specified file to the specified container.
13
+
14
+ Examples:
15
+ rumm download file log.txt on container colorful-cat
@@ -31,7 +31,7 @@ help('destroy loadbalancer')
31
31
 
32
32
  help('show nodes on loadbalancer')
33
33
  help('show node on loadbalancer')
34
- help('createnode on loadbalancer')
34
+ help('create node on loadbalancer')
35
35
  help('update node on loadbalancer')
36
36
  help('destroy node on loadbalancer')
37
37
 
@@ -50,6 +50,7 @@ help('destroy database on dbinstance')
50
50
  help('show users on dbinstance')
51
51
  help('show user on dbinstance')
52
52
  help('create user on dbinstance')
53
+ help('destroy user on dbinstance')
53
54
 
54
55
  help('ssh')
55
56
 
@@ -73,5 +74,5 @@ help('update volume')
73
74
  help('destroy volume')
74
75
 
75
76
  help('show attachments on server')
76
- help('attach volume to server')
77
- help('detach volume from server')
77
+ help('create attachment on server')
78
+ help('destroy attachment on server')
@@ -0,0 +1,14 @@
1
+ Usage:
2
+ rumm show attachment on server SERVER_ID
3
+
4
+ Options:
5
+ -v, --volume STRING # Name of the volume to attach
6
+
7
+ Arguments:
8
+ SERVER_ID: STRING # The name of the server the volume is to be detached from
9
+
10
+ Description:
11
+ Detaches the specified volume from the named server.
12
+
13
+ Examples:
14
+ rumm show attachment on server superordinate-struthioniformes --volume colorful-caterpillar
@@ -0,0 +1,15 @@
1
+ Usage:
2
+ rumm show user ID on dbinstance DBINSTANCE_ID
3
+
4
+ Options:
5
+ none
6
+
7
+ Arguments:
8
+ ID: STRING # Name of the user to destroy
9
+ DBINSTANCE_ID # Name of the dbinstance the user is on
10
+
11
+ Description:
12
+ Shows the attributes of the specified user on the given dbinstance
13
+
14
+ Examples:
15
+ rumm show user happy-hippo on dbinstance daring-basket
@@ -8,7 +8,8 @@ class ComputeProvider
8
8
  :rackspace_username => credentials.username,
9
9
  :rackspace_api_key => credentials.api_key,
10
10
  :version => :v2,
11
- :rackspace_region => credentials.rackspace_region
11
+ :rackspace_region => credentials.rackspace_region,
12
+ :connection_options => {:headers => {"User-Agent" => "rumm/#{Rumm::VERSION} fog/#{Fog::VERSION}"}}
12
13
  }
13
14
  Fog::Compute.new(options)
14
15
  end
@@ -8,7 +8,8 @@ class ContainersProvider
8
8
  :provider => 'Rackspace',
9
9
  :rackspace_username => credentials.username,
10
10
  :rackspace_api_key => credentials.api_key,
11
- :rackspace_region => credentials.rackspace_region
11
+ :rackspace_region => credentials.rackspace_region,
12
+ :connection_options => {:headers => {"User-Agent" => "rumm/#{Rumm::VERSION} fog/#{Fog::VERSION}"}}
12
13
  }
13
14
  Fog::Storage.new(options).directories
14
15
  end
@@ -6,7 +6,8 @@ class DatabasesProvider
6
6
  options = {
7
7
  :rackspace_username => credentials.username,
8
8
  :rackspace_api_key => credentials.api_key,
9
- :rackspace_region => credentials.rackspace_region
9
+ :rackspace_region => credentials.rackspace_region,
10
+ :connection_options => {:headers => {"User-Agent" => "rumm/#{Rumm::VERSION} fog/#{Fog::VERSION}"}}
10
11
  }
11
12
  Fog::Rackspace::Databases.new(options).databases
12
13
  end
@@ -6,7 +6,8 @@ class InstancesProvider
6
6
  options = {
7
7
  :rackspace_username => credentials.username,
8
8
  :rackspace_api_key => credentials.api_key,
9
- :rackspace_region => credentials.rackspace_region
9
+ :rackspace_region => credentials.rackspace_region,
10
+ :connection_options => {:headers => {"User-Agent" => "rumm/#{Rumm::VERSION} fog/#{Fog::VERSION}"}}
10
11
  }
11
12
  Fog::Rackspace::Databases.new(options).instances
12
13
  end
@@ -6,7 +6,8 @@ class LoadbalancersProvider
6
6
  options = {
7
7
  :rackspace_username => credentials.username,
8
8
  :rackspace_api_key => credentials.api_key,
9
- :rackspace_region => credentials.rackspace_region
9
+ :rackspace_region => credentials.rackspace_region,
10
+ :connection_options => {:headers => {"User-Agent" => "rumm/#{Rumm::VERSION} fog/#{Fog::VERSION}"}}
10
11
  }
11
12
  Fog::Rackspace::LoadBalancers.new(options).load_balancers
12
13
  end
@@ -6,7 +6,8 @@ class NodesProvider
6
6
  options = {
7
7
  :rackspace_username => credentials.username,
8
8
  :rackspace_api_key => credentials.api_key,
9
- :rackspace_region => credentials.rackspace_region
9
+ :rackspace_region => credentials.rackspace_region,
10
+ :connection_options => {:headers => {"User-Agent" => "rumm/#{Rumm::VERSION} fog/#{Fog::VERSION}"}}
10
11
  }
11
12
  Fog::Rackspace::LoadBalancers.new(options).nodes
12
13
  end
@@ -7,7 +7,8 @@ class VolumesProvider
7
7
  options = {
8
8
  :rackspace_username => credentials.username,
9
9
  :rackspace_api_key => credentials.api_key,
10
- :rackspace_region => credentials.rackspace_region
10
+ :rackspace_region => credentials.rackspace_region,
11
+ :connection_options => {:headers => {"User-Agent" => "rumm/#{Rumm::VERSION} fog/#{Fog::VERSION}"}}
11
12
  }
12
13
  Fog::Rackspace::BlockStorage.new(options).volumes
13
14
  end
@@ -1,7 +1,7 @@
1
- macro /(-v|--version)/ => "version"
1
+ macro /^(-v|--version)/ => "version"
2
2
  match 'version' => proc {|cmd| cmd.output << "#{Rumm::VERSION}\n" }
3
3
 
4
- macro /(-h|--help)(.*)/ => "help\\2"
4
+ macro /(.*[^\-]|^)(-h(\s|$)|--help)(.*)/ => "help \\1\\4"
5
5
  match 'help' => 'help#show'
6
6
 
7
7
  match 'login' => 'authentication#login'
@@ -67,8 +67,9 @@ match 'update volume :id' => 'volumes#update'
67
67
  match 'destroy volume :id' => 'volumes#destroy'
68
68
 
69
69
  match 'show attachments on server :server_id' => 'attachments#index'
70
- match 'attach volume :id to server :server_id' => 'attachments#attach'
71
- match 'detach volume :id from server :server_id' => 'attachments#detach'
70
+ match 'create attachment on server :server_id' => 'attachments#attach'
71
+ match 'destroy attachment on server :server_id' => 'attachments#detach'
72
+ match 'show attachment on server :server_id' => 'attachments#show'
72
73
 
73
74
  # Stop-gap measure to load help for each rumm command
74
75
  # ==========
@@ -1 +1,4 @@
1
- <%= this.inspect %>
1
+ Attached volume:
2
+ device: <%= this.device %>
3
+ serverId: <%= this.server_id %>
4
+ volumeId: <%= this.volume_id %>
@@ -1 +1 @@
1
- <%= this %>
1
+ Detached volume
@@ -1,4 +1,12 @@
1
+ <% if this.empty? %>
2
+ you don't have any attachments to this server, but you can create one by running:
3
+ rumm create attachment on server <server_name>
4
+ <% else %>
5
+ server id: <%= this.first.server_id %>
6
+ Attachments:
1
7
  <% this.each do |attachment| %>
2
- id: <%= attachment.volume_id %>
3
- <% end %>
4
8
 
9
+ device: <%= attachment.device %>
10
+ volume id: <%= attachment.volume_id %>
11
+ <% end %>
12
+ <% end %>
@@ -1 +1,3 @@
1
- <%= this.display_name %>
1
+ device: <%= this.device %>
2
+ server Id: <%= this.server_id %>
3
+ volume Id: <%= this.volume_id %>
@@ -1 +1 @@
1
- created container: <%= this.key %>
1
+ Created container: <%= this.key %>
@@ -1 +1 @@
1
- requested destruction of container <%= this %>
1
+ Requested destruction of container <%= this %>
@@ -1,3 +1,9 @@
1
+ <% if this.empty? %>
2
+ you don't have any containers, but you can create one by running:
3
+ rumm create container
4
+ <% else %>
5
+ Containers:
1
6
  <% this.each do |container| %>
2
- id: <%= container.key %>
7
+ id: <%= container.key %>
8
+ <% end %>
3
9
  <% end %>
@@ -1 +1 @@
1
- created database: <%= this.name %>
1
+ Created database: <%= this.name %>
@@ -1 +1 @@
1
- database instance <%= this.name %> queued for destruction
1
+ Destroyed database <%= this.name %>
@@ -2,7 +2,8 @@
2
2
  you don't have any databases on this instance, but you can create one by running:
3
3
  rumm create database on dbinstance <instance_name>
4
4
  <% else %>
5
+ Databases:
5
6
  <% this.each do |database| %>
6
- name: <%= database.name %>
7
+ name: <%= database.name %>
7
8
  <% end %>
8
9
  <% end %>
@@ -1,2 +1 @@
1
- created container: <%= this.key %>
2
-
1
+ Created file: <%= this.key %>
@@ -1 +1 @@
1
- requested destruction of container <%= this %>
1
+ Requested destruction of file <%= this %>
@@ -1 +1 @@
1
- <%= this %>
1
+ Downloaded file <%= this.inspect %>
@@ -1,4 +1,12 @@
1
+ <% if this.empty? %>
2
+ you don't have any files in this container, but you can create one by running:
3
+ rumm create file in container <container_name>
4
+ <% else %>
5
+ Files:
1
6
  <% this.each do |file| %>
2
- id: <%= file.key %>
7
+ <%= file.key %>, size: <%= file.content_length %>
3
8
  <% end %>
4
9
 
10
+ total number of files: <%= this.directory.count %>
11
+ total number of bytes: <%= this.directory.bytes %>
12
+ <% end %>
@@ -1,2 +1,3 @@
1
1
  <%= this.key %>
2
-
2
+ length: <%= this.content_length %>
3
+ last modified: <%= this.last_modified %>
@@ -1,2 +1,2 @@
1
- created database instance: <%= this.name %>
1
+ Created database instance: <%= this.name %>
2
2
  id: <%= this.id %>
@@ -1 +1 @@
1
- requested destruction of instance <%= this.name %>
1
+ Requested destruction of instance <%= this.name %>
@@ -2,7 +2,8 @@
2
2
  you don't have any database instances, but you can create one by running:
3
3
  rumm create dbinstance
4
4
  <% else %>
5
+ Database instances:
5
6
  <% this.each do |instance| %>
6
- <%= instance.name %> -> id: <%= instance.id %>, status: <%= instance.state %>
7
+ <%= instance.name %> -> id: <%= instance.id %>, status: <%= instance.state %>
7
8
  <% end %>
8
9
  <% end %>
@@ -1 +1,4 @@
1
- <%= this.name %> -> id: <%= this.id %>, hostname: <%= this.hostname %>, status: <%= this.state %>
1
+ <%= this.name %>
2
+ id: <%= this.id %>
3
+ hostname: <%= this.hostname %>
4
+ status: <%= this.state %>
@@ -1 +1 @@
1
- created load balancer: <%= this.name %>
1
+ Created load balancer: <%= this.name %>
@@ -1 +1 @@
1
- requested destruction of load balancer <%= this.name %>
1
+ Requested destruction of load balancer <%= this.name %>
@@ -2,6 +2,7 @@
2
2
  you don't have any loadbalancers, but you can create one by running:
3
3
  rumm create loadbalancer
4
4
  <% else %>
5
+ Loadbalancers:
5
6
  <% this.each do |loadbalancer| %>
6
7
  <%= loadbalancer.name %> -> id: <%= loadbalancer.id %>,
7
8
  <% end %>
@@ -1,2 +1,2 @@
1
- created node: <%= this.id %>
1
+ Created node: <%= this.id %>
2
2
 
@@ -1 +1 @@
1
- requested destruction of node <%= this %>
1
+ Destroyed node <%= this %>
@@ -1,4 +1,9 @@
1
+ <% if this.empty? %>
2
+ you don't have any nodes on this load balancer, but you can create one by running:
3
+ rumm create node on loadbalancer <loadbalancer_name>
4
+ <% else %>
5
+ Nodes:
1
6
  <% this.each do |node| %>
2
- id: <%= node.id %>
7
+ id: <%= node.id %>, address: <%= node.address %>, condition: <%= node.condition %>, status: <%= node.status %>, weight: <%= node.weight %>
8
+ <% end %>
3
9
  <% end %>
4
-