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,114 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://identity.api.rackspacecloud.com/v2.0/tokens
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"auth":{"RAX-KSKEY:apiKeyCredentials":{"username":"<rackspace-username>","apiKey":"<rackspace-api-key>"}}}'
9
+ headers:
10
+ User-Agent:
11
+ - fog/1.12.1
12
+ Content-Type:
13
+ - application/json
14
+ Accept:
15
+ - application/json
16
+ X-Auth-Token: []
17
+ response:
18
+ status:
19
+ code: 200
20
+ message:
21
+ headers:
22
+ Server:
23
+ - nginx/0.8.55
24
+ Date:
25
+ - Fri, 23 Aug 2013 16:57:15 GMT
26
+ Content-Type:
27
+ - application/json
28
+ Connection:
29
+ - keep-alive
30
+ vary:
31
+ - Accept, Accept-Encoding, X-Auth-Token
32
+ VIA:
33
+ - 1.0 Repose (Repose/2.3.5)
34
+ Content-Length:
35
+ - '6168'
36
+ Front-End-Https:
37
+ - 'on'
38
+ body:
39
+ encoding: UTF-8
40
+ string: '{"access":{"token":{"id":"<rackspace-api-token>","expires":"2013-08-24T10:37:06.604-05:00","tenant":{"id":"833532","name":"833532"},"RAX-AUTH:authenticatedBy":["APIKEY"]},"serviceCatalog":[{"name":"cloudFilesCDN","endpoints":[{"region":"ORD","tenantId":"MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","publicURL":"https:\/\/cdn2.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd"},{"region":"SYD","tenantId":"MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","publicURL":"https:\/\/cdn4.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd"},{"region":"DFW","tenantId":"MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","publicURL":"https:\/\/cdn1.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd"},{"region":"IAD","tenantId":"MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","publicURL":"https:\/\/cdn5.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd"}],"type":"rax:object-cdn"},{"name":"cloudFiles","endpoints":[{"region":"ORD","tenantId":"MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","publicURL":"https:\/\/storage101.ord1.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","internalURL":"https:\/\/snet-storage101.ord1.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd"},{"region":"DFW","tenantId":"MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","publicURL":"https:\/\/storage101.dfw1.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","internalURL":"https:\/\/snet-storage101.dfw1.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd"},{"region":"SYD","tenantId":"MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","publicURL":"https:\/\/storage101.syd2.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","internalURL":"https:\/\/snet-storage101.syd2.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd"},{"region":"IAD","tenantId":"MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","publicURL":"https:\/\/storage101.iad3.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","internalURL":"https:\/\/snet-storage101.iad3.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd"}],"type":"object-store"},{"name":"cloudBackup","endpoints":[{"tenantId":"833532","publicURL":"https:\/\/backup.api.rackspacecloud.com\/v1.0\/833532"}],"type":"rax:backup"},{"name":"cloudBlockStorage","endpoints":[{"region":"SYD","tenantId":"833532","publicURL":"https:\/\/syd.blockstorage.api.rackspacecloud.com\/v1\/833532"},{"region":"ORD","tenantId":"833532","publicURL":"https:\/\/ord.blockstorage.api.rackspacecloud.com\/v1\/833532"},{"region":"DFW","tenantId":"833532","publicURL":"https:\/\/dfw.blockstorage.api.rackspacecloud.com\/v1\/833532"},{"region":"IAD","tenantId":"833532","publicURL":"https:\/\/iad.blockstorage.api.rackspacecloud.com\/v1\/833532"}],"type":"volume"},{"name":"cloudServersOpenStack","endpoints":[{"region":"SYD","tenantId":"833532","publicURL":"https:\/\/syd.servers.api.rackspacecloud.com\/v2\/833532","versionInfo":"https:\/\/syd.servers.api.rackspacecloud.com\/v2","versionList":"https:\/\/syd.servers.api.rackspacecloud.com\/","versionId":"2"},{"region":"ORD","tenantId":"833532","publicURL":"https:\/\/ord.servers.api.rackspacecloud.com\/v2\/833532","versionInfo":"https:\/\/ord.servers.api.rackspacecloud.com\/v2","versionList":"https:\/\/ord.servers.api.rackspacecloud.com\/","versionId":"2"},{"region":"DFW","tenantId":"833532","publicURL":"https:\/\/dfw.servers.api.rackspacecloud.com\/v2\/833532","versionInfo":"https:\/\/dfw.servers.api.rackspacecloud.com\/v2","versionList":"https:\/\/dfw.servers.api.rackspacecloud.com\/","versionId":"2"},{"region":"IAD","tenantId":"833532","publicURL":"https:\/\/iad.servers.api.rackspacecloud.com\/v2\/833532","versionInfo":"https:\/\/iad.servers.api.rackspacecloud.com\/v2","versionList":"https:\/\/iad.servers.api.rackspacecloud.com\/","versionId":"2"}],"type":"compute"},{"name":"cloudMonitoring","endpoints":[{"tenantId":"833532","publicURL":"https:\/\/monitoring.api.rackspacecloud.com\/v1.0\/833532"}],"type":"rax:monitor"},{"name":"cloudDatabases","endpoints":[{"region":"SYD","tenantId":"833532","publicURL":"https:\/\/syd.databases.api.rackspacecloud.com\/v1.0\/833532"},{"region":"ORD","tenantId":"833532","publicURL":"https:\/\/ord.databases.api.rackspacecloud.com\/v1.0\/833532"},{"region":"DFW","tenantId":"833532","publicURL":"https:\/\/dfw.databases.api.rackspacecloud.com\/v1.0\/833532"},{"region":"IAD","tenantId":"833532","publicURL":"https:\/\/iad.databases.api.rackspacecloud.com\/v1.0\/833532"}],"type":"rax:database"},{"name":"cloudServers","endpoints":[{"tenantId":"833532","publicURL":"https:\/\/servers.api.rackspacecloud.com\/v1.0\/833532","versionInfo":"https:\/\/servers.api.rackspacecloud.com\/v1.0","versionList":"https:\/\/servers.api.rackspacecloud.com\/","versionId":"1.0"}],"type":"compute"},{"name":"cloudDNS","endpoints":[{"tenantId":"833532","publicURL":"https:\/\/dns.api.rackspacecloud.com\/v1.0\/833532"}],"type":"rax:dns"},{"name":"cloudLoadBalancers","endpoints":[{"region":"SYD","tenantId":"833532","publicURL":"https:\/\/syd.loadbalancers.api.rackspacecloud.com\/v1.0\/833532"},{"region":"ORD","tenantId":"833532","publicURL":"https:\/\/ord.loadbalancers.api.rackspacecloud.com\/v1.0\/833532"},{"region":"DFW","tenantId":"833532","publicURL":"https:\/\/dfw.loadbalancers.api.rackspacecloud.com\/v1.0\/833532"},{"region":"IAD","tenantId":"833532","publicURL":"https:\/\/iad.loadbalancers.api.rackspacecloud.com\/v1.0\/833532"}],"type":"rax:load-balancer"}],"user":{"id":"10038092","roles":[{"id":"10000150","description":"Checkmate
41
+ Access role","name":"checkmate"},{"id":"3","description":"User Admin Role.","name":"identity:user-admin"},{"tenantId":"MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","id":"5","description":"A
42
+ Role that allows a user access to keystone Service methods","name":"object-store:default"},{"tenantId":"833532","id":"6","description":"A
43
+ Role that allows a user access to keystone Service methods","name":"compute:default"}],"name":"<rackspace-username>","RAX-AUTH:defaultRegion":"ORD"}}}'
44
+ http_version:
45
+ recorded_at: Fri, 23 Aug 2013 16:57:15 GMT
46
+ - request:
47
+ method: get
48
+ uri: https://ord.blockstorage.api.rackspacecloud.com/v1/833532/volumes
49
+ body:
50
+ encoding: US-ASCII
51
+ string: ''
52
+ headers:
53
+ User-Agent:
54
+ - fog/1.12.1
55
+ Content-Type:
56
+ - application/json
57
+ Accept:
58
+ - application/json
59
+ X-Auth-Token:
60
+ - <rackspace-api-token>
61
+ response:
62
+ status:
63
+ code: 200
64
+ message:
65
+ headers:
66
+ X-Compute-Request-Id:
67
+ - req-396a3fd8-4478-40dc-aac2-d8510e661b69
68
+ Content-Type:
69
+ - application/json
70
+ Content-Length:
71
+ - '359'
72
+ Date:
73
+ - Fri, 23 Aug 2013 16:57:16 GMT
74
+ body:
75
+ encoding: UTF-8
76
+ string: '{"volumes": [{"status": "available", "display_name": "vaulting-vigilante",
77
+ "attachments": [], "availability_zone": "nova", "bootable": "false", "created_at":
78
+ "2013-08-23T16:57:10.000000", "display_description": null, "volume_type":
79
+ "SATA", "snapshot_id": null, "source_volid": null, "metadata": {}, "id": "fb9aa7b4-36ff-4dd1-b47b-4b452a604aeb",
80
+ "size": 100}]}'
81
+ http_version:
82
+ recorded_at: Fri, 23 Aug 2013 16:57:16 GMT
83
+ - request:
84
+ method: delete
85
+ uri: https://ord.blockstorage.api.rackspacecloud.com/v1/833532/volumes/fb9aa7b4-36ff-4dd1-b47b-4b452a604aeb
86
+ body:
87
+ encoding: US-ASCII
88
+ string: ''
89
+ headers:
90
+ User-Agent:
91
+ - fog/1.12.1
92
+ Content-Type:
93
+ - application/json
94
+ Accept:
95
+ - application/json
96
+ X-Auth-Token:
97
+ - <rackspace-api-token>
98
+ response:
99
+ status:
100
+ code: 202
101
+ message:
102
+ headers:
103
+ Content-Type:
104
+ - text/html; charset=UTF-8
105
+ Content-Length:
106
+ - '0'
107
+ Date:
108
+ - Fri, 23 Aug 2013 16:57:17 GMT
109
+ body:
110
+ encoding: UTF-8
111
+ string: ''
112
+ http_version:
113
+ recorded_at: Fri, 23 Aug 2013 16:57:17 GMT
114
+ recorded_with: VCR 2.5.0
@@ -0,0 +1,83 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://identity.api.rackspacecloud.com/v2.0/tokens
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"auth":{"RAX-KSKEY:apiKeyCredentials":{"username":"<rackspace-username>","apiKey":"<rackspace-api-key>"}}}'
9
+ headers:
10
+ User-Agent:
11
+ - fog/1.12.1
12
+ Content-Type:
13
+ - application/json
14
+ Accept:
15
+ - application/json
16
+ X-Auth-Token: []
17
+ response:
18
+ status:
19
+ code: 200
20
+ message:
21
+ headers:
22
+ Server:
23
+ - nginx/0.8.55
24
+ Date:
25
+ - Fri, 23 Aug 2013 16:57:14 GMT
26
+ Content-Type:
27
+ - application/json
28
+ Connection:
29
+ - keep-alive
30
+ vary:
31
+ - Accept, Accept-Encoding, X-Auth-Token
32
+ VIA:
33
+ - 1.0 Repose (Repose/2.3.5)
34
+ Content-Length:
35
+ - '6168'
36
+ Front-End-Https:
37
+ - 'on'
38
+ body:
39
+ encoding: UTF-8
40
+ string: '{"access":{"token":{"id":"<rackspace-api-token>","expires":"2013-08-24T10:37:06.604-05:00","tenant":{"id":"833532","name":"833532"},"RAX-AUTH:authenticatedBy":["APIKEY"]},"serviceCatalog":[{"name":"cloudFiles","endpoints":[{"region":"ORD","tenantId":"MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","publicURL":"https:\/\/storage101.ord1.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","internalURL":"https:\/\/snet-storage101.ord1.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd"},{"region":"SYD","tenantId":"MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","publicURL":"https:\/\/storage101.syd2.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","internalURL":"https:\/\/snet-storage101.syd2.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd"},{"region":"DFW","tenantId":"MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","publicURL":"https:\/\/storage101.dfw1.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","internalURL":"https:\/\/snet-storage101.dfw1.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd"},{"region":"IAD","tenantId":"MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","publicURL":"https:\/\/storage101.iad3.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","internalURL":"https:\/\/snet-storage101.iad3.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd"}],"type":"object-store"},{"name":"cloudFilesCDN","endpoints":[{"region":"ORD","tenantId":"MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","publicURL":"https:\/\/cdn2.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd"},{"region":"SYD","tenantId":"MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","publicURL":"https:\/\/cdn4.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd"},{"region":"DFW","tenantId":"MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","publicURL":"https:\/\/cdn1.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd"},{"region":"IAD","tenantId":"MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","publicURL":"https:\/\/cdn5.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd"}],"type":"rax:object-cdn"},{"name":"cloudBlockStorage","endpoints":[{"region":"SYD","tenantId":"833532","publicURL":"https:\/\/syd.blockstorage.api.rackspacecloud.com\/v1\/833532"},{"region":"ORD","tenantId":"833532","publicURL":"https:\/\/ord.blockstorage.api.rackspacecloud.com\/v1\/833532"},{"region":"DFW","tenantId":"833532","publicURL":"https:\/\/dfw.blockstorage.api.rackspacecloud.com\/v1\/833532"},{"region":"IAD","tenantId":"833532","publicURL":"https:\/\/iad.blockstorage.api.rackspacecloud.com\/v1\/833532"}],"type":"volume"},{"name":"cloudLoadBalancers","endpoints":[{"region":"SYD","tenantId":"833532","publicURL":"https:\/\/syd.loadbalancers.api.rackspacecloud.com\/v1.0\/833532"},{"region":"ORD","tenantId":"833532","publicURL":"https:\/\/ord.loadbalancers.api.rackspacecloud.com\/v1.0\/833532"},{"region":"DFW","tenantId":"833532","publicURL":"https:\/\/dfw.loadbalancers.api.rackspacecloud.com\/v1.0\/833532"},{"region":"IAD","tenantId":"833532","publicURL":"https:\/\/iad.loadbalancers.api.rackspacecloud.com\/v1.0\/833532"}],"type":"rax:load-balancer"},{"name":"cloudServersOpenStack","endpoints":[{"region":"SYD","tenantId":"833532","publicURL":"https:\/\/syd.servers.api.rackspacecloud.com\/v2\/833532","versionInfo":"https:\/\/syd.servers.api.rackspacecloud.com\/v2","versionList":"https:\/\/syd.servers.api.rackspacecloud.com\/","versionId":"2"},{"region":"DFW","tenantId":"833532","publicURL":"https:\/\/dfw.servers.api.rackspacecloud.com\/v2\/833532","versionInfo":"https:\/\/dfw.servers.api.rackspacecloud.com\/v2","versionList":"https:\/\/dfw.servers.api.rackspacecloud.com\/","versionId":"2"},{"region":"ORD","tenantId":"833532","publicURL":"https:\/\/ord.servers.api.rackspacecloud.com\/v2\/833532","versionInfo":"https:\/\/ord.servers.api.rackspacecloud.com\/v2","versionList":"https:\/\/ord.servers.api.rackspacecloud.com\/","versionId":"2"},{"region":"IAD","tenantId":"833532","publicURL":"https:\/\/iad.servers.api.rackspacecloud.com\/v2\/833532","versionInfo":"https:\/\/iad.servers.api.rackspacecloud.com\/v2","versionList":"https:\/\/iad.servers.api.rackspacecloud.com\/","versionId":"2"}],"type":"compute"},{"name":"cloudDatabases","endpoints":[{"region":"SYD","tenantId":"833532","publicURL":"https:\/\/syd.databases.api.rackspacecloud.com\/v1.0\/833532"},{"region":"DFW","tenantId":"833532","publicURL":"https:\/\/dfw.databases.api.rackspacecloud.com\/v1.0\/833532"},{"region":"ORD","tenantId":"833532","publicURL":"https:\/\/ord.databases.api.rackspacecloud.com\/v1.0\/833532"},{"region":"IAD","tenantId":"833532","publicURL":"https:\/\/iad.databases.api.rackspacecloud.com\/v1.0\/833532"}],"type":"rax:database"},{"name":"cloudDNS","endpoints":[{"tenantId":"833532","publicURL":"https:\/\/dns.api.rackspacecloud.com\/v1.0\/833532"}],"type":"rax:dns"},{"name":"cloudServers","endpoints":[{"tenantId":"833532","publicURL":"https:\/\/servers.api.rackspacecloud.com\/v1.0\/833532","versionInfo":"https:\/\/servers.api.rackspacecloud.com\/v1.0","versionList":"https:\/\/servers.api.rackspacecloud.com\/","versionId":"1.0"}],"type":"compute"},{"name":"cloudMonitoring","endpoints":[{"tenantId":"833532","publicURL":"https:\/\/monitoring.api.rackspacecloud.com\/v1.0\/833532"}],"type":"rax:monitor"},{"name":"cloudBackup","endpoints":[{"tenantId":"833532","publicURL":"https:\/\/backup.api.rackspacecloud.com\/v1.0\/833532"}],"type":"rax:backup"}],"user":{"id":"10038092","roles":[{"id":"10000150","description":"Checkmate
41
+ Access role","name":"checkmate"},{"id":"3","description":"User Admin Role.","name":"identity:user-admin"},{"tenantId":"MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","id":"5","description":"A
42
+ Role that allows a user access to keystone Service methods","name":"object-store:default"},{"tenantId":"833532","id":"6","description":"A
43
+ Role that allows a user access to keystone Service methods","name":"compute:default"}],"name":"<rackspace-username>","RAX-AUTH:defaultRegion":"ORD"}}}'
44
+ http_version:
45
+ recorded_at: Fri, 23 Aug 2013 16:57:14 GMT
46
+ - request:
47
+ method: get
48
+ uri: https://ord.blockstorage.api.rackspacecloud.com/v1/833532/volumes
49
+ body:
50
+ encoding: US-ASCII
51
+ string: ''
52
+ headers:
53
+ User-Agent:
54
+ - fog/1.12.1
55
+ Content-Type:
56
+ - application/json
57
+ Accept:
58
+ - application/json
59
+ X-Auth-Token:
60
+ - <rackspace-api-token>
61
+ response:
62
+ status:
63
+ code: 200
64
+ message:
65
+ headers:
66
+ X-Compute-Request-Id:
67
+ - req-0c8a060e-9c88-4001-b9c7-6b2a99c9775f
68
+ Content-Type:
69
+ - application/json
70
+ Content-Length:
71
+ - '359'
72
+ Date:
73
+ - Fri, 23 Aug 2013 16:57:15 GMT
74
+ body:
75
+ encoding: UTF-8
76
+ string: '{"volumes": [{"status": "available", "display_name": "vaulting-vigilante",
77
+ "attachments": [], "availability_zone": "nova", "bootable": "false", "created_at":
78
+ "2013-08-23T16:57:10.000000", "display_description": null, "volume_type":
79
+ "SATA", "snapshot_id": null, "source_volid": null, "metadata": {}, "id": "fb9aa7b4-36ff-4dd1-b47b-4b452a604aeb",
80
+ "size": 100}]}'
81
+ http_version:
82
+ recorded_at: Fri, 23 Aug 2013 16:57:15 GMT
83
+ recorded_with: VCR 2.5.0
@@ -0,0 +1,83 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://identity.api.rackspacecloud.com/v2.0/tokens
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"auth":{"RAX-KSKEY:apiKeyCredentials":{"username":"<rackspace-username>","apiKey":"<rackspace-api-key>"}}}'
9
+ headers:
10
+ User-Agent:
11
+ - fog/1.12.1
12
+ Content-Type:
13
+ - application/json
14
+ Accept:
15
+ - application/json
16
+ X-Auth-Token: []
17
+ response:
18
+ status:
19
+ code: 200
20
+ message:
21
+ headers:
22
+ Server:
23
+ - nginx/0.8.55
24
+ Date:
25
+ - Fri, 23 Aug 2013 16:57:13 GMT
26
+ Content-Type:
27
+ - application/json
28
+ Connection:
29
+ - keep-alive
30
+ vary:
31
+ - Accept, Accept-Encoding, X-Auth-Token
32
+ VIA:
33
+ - 1.0 Repose (Repose/2.3.5)
34
+ Content-Length:
35
+ - '6168'
36
+ Front-End-Https:
37
+ - 'on'
38
+ body:
39
+ encoding: UTF-8
40
+ string: '{"access":{"token":{"id":"<rackspace-api-token>","expires":"2013-08-24T10:37:06.604-05:00","tenant":{"id":"833532","name":"833532"},"RAX-AUTH:authenticatedBy":["APIKEY"]},"serviceCatalog":[{"name":"cloudFiles","endpoints":[{"region":"ORD","tenantId":"MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","publicURL":"https:\/\/storage101.ord1.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","internalURL":"https:\/\/snet-storage101.ord1.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd"},{"region":"SYD","tenantId":"MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","publicURL":"https:\/\/storage101.syd2.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","internalURL":"https:\/\/snet-storage101.syd2.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd"},{"region":"DFW","tenantId":"MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","publicURL":"https:\/\/storage101.dfw1.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","internalURL":"https:\/\/snet-storage101.dfw1.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd"},{"region":"IAD","tenantId":"MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","publicURL":"https:\/\/storage101.iad3.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","internalURL":"https:\/\/snet-storage101.iad3.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd"}],"type":"object-store"},{"name":"cloudFilesCDN","endpoints":[{"region":"ORD","tenantId":"MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","publicURL":"https:\/\/cdn2.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd"},{"region":"SYD","tenantId":"MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","publicURL":"https:\/\/cdn4.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd"},{"region":"DFW","tenantId":"MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","publicURL":"https:\/\/cdn1.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd"},{"region":"IAD","tenantId":"MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","publicURL":"https:\/\/cdn5.clouddrive.com\/v1\/MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd"}],"type":"rax:object-cdn"},{"name":"cloudDatabases","endpoints":[{"region":"SYD","tenantId":"833532","publicURL":"https:\/\/syd.databases.api.rackspacecloud.com\/v1.0\/833532"},{"region":"DFW","tenantId":"833532","publicURL":"https:\/\/dfw.databases.api.rackspacecloud.com\/v1.0\/833532"},{"region":"ORD","tenantId":"833532","publicURL":"https:\/\/ord.databases.api.rackspacecloud.com\/v1.0\/833532"},{"region":"IAD","tenantId":"833532","publicURL":"https:\/\/iad.databases.api.rackspacecloud.com\/v1.0\/833532"}],"type":"rax:database"},{"name":"cloudMonitoring","endpoints":[{"tenantId":"833532","publicURL":"https:\/\/monitoring.api.rackspacecloud.com\/v1.0\/833532"}],"type":"rax:monitor"},{"name":"cloudBlockStorage","endpoints":[{"region":"SYD","tenantId":"833532","publicURL":"https:\/\/syd.blockstorage.api.rackspacecloud.com\/v1\/833532"},{"region":"DFW","tenantId":"833532","publicURL":"https:\/\/dfw.blockstorage.api.rackspacecloud.com\/v1\/833532"},{"region":"ORD","tenantId":"833532","publicURL":"https:\/\/ord.blockstorage.api.rackspacecloud.com\/v1\/833532"},{"region":"IAD","tenantId":"833532","publicURL":"https:\/\/iad.blockstorage.api.rackspacecloud.com\/v1\/833532"}],"type":"volume"},{"name":"cloudServersOpenStack","endpoints":[{"region":"SYD","tenantId":"833532","publicURL":"https:\/\/syd.servers.api.rackspacecloud.com\/v2\/833532","versionInfo":"https:\/\/syd.servers.api.rackspacecloud.com\/v2","versionList":"https:\/\/syd.servers.api.rackspacecloud.com\/","versionId":"2"},{"region":"ORD","tenantId":"833532","publicURL":"https:\/\/ord.servers.api.rackspacecloud.com\/v2\/833532","versionInfo":"https:\/\/ord.servers.api.rackspacecloud.com\/v2","versionList":"https:\/\/ord.servers.api.rackspacecloud.com\/","versionId":"2"},{"region":"DFW","tenantId":"833532","publicURL":"https:\/\/dfw.servers.api.rackspacecloud.com\/v2\/833532","versionInfo":"https:\/\/dfw.servers.api.rackspacecloud.com\/v2","versionList":"https:\/\/dfw.servers.api.rackspacecloud.com\/","versionId":"2"},{"region":"IAD","tenantId":"833532","publicURL":"https:\/\/iad.servers.api.rackspacecloud.com\/v2\/833532","versionInfo":"https:\/\/iad.servers.api.rackspacecloud.com\/v2","versionList":"https:\/\/iad.servers.api.rackspacecloud.com\/","versionId":"2"}],"type":"compute"},{"name":"cloudServers","endpoints":[{"tenantId":"833532","publicURL":"https:\/\/servers.api.rackspacecloud.com\/v1.0\/833532","versionInfo":"https:\/\/servers.api.rackspacecloud.com\/v1.0","versionList":"https:\/\/servers.api.rackspacecloud.com\/","versionId":"1.0"}],"type":"compute"},{"name":"cloudDNS","endpoints":[{"tenantId":"833532","publicURL":"https:\/\/dns.api.rackspacecloud.com\/v1.0\/833532"}],"type":"rax:dns"},{"name":"cloudLoadBalancers","endpoints":[{"region":"SYD","tenantId":"833532","publicURL":"https:\/\/syd.loadbalancers.api.rackspacecloud.com\/v1.0\/833532"},{"region":"ORD","tenantId":"833532","publicURL":"https:\/\/ord.loadbalancers.api.rackspacecloud.com\/v1.0\/833532"},{"region":"DFW","tenantId":"833532","publicURL":"https:\/\/dfw.loadbalancers.api.rackspacecloud.com\/v1.0\/833532"},{"region":"IAD","tenantId":"833532","publicURL":"https:\/\/iad.loadbalancers.api.rackspacecloud.com\/v1.0\/833532"}],"type":"rax:load-balancer"},{"name":"cloudBackup","endpoints":[{"tenantId":"833532","publicURL":"https:\/\/backup.api.rackspacecloud.com\/v1.0\/833532"}],"type":"rax:backup"}],"user":{"id":"10038092","roles":[{"id":"10000150","description":"Checkmate
41
+ Access role","name":"checkmate"},{"id":"3","description":"User Admin Role.","name":"identity:user-admin"},{"tenantId":"MossoCloudFS_558014f8-1c3d-44b9-a771-f42ace65e8dd","id":"5","description":"A
42
+ Role that allows a user access to keystone Service methods","name":"object-store:default"},{"tenantId":"833532","id":"6","description":"A
43
+ Role that allows a user access to keystone Service methods","name":"compute:default"}],"name":"<rackspace-username>","RAX-AUTH:defaultRegion":"ORD"}}}'
44
+ http_version:
45
+ recorded_at: Fri, 23 Aug 2013 16:57:13 GMT
46
+ - request:
47
+ method: get
48
+ uri: https://ord.blockstorage.api.rackspacecloud.com/v1/833532/volumes
49
+ body:
50
+ encoding: US-ASCII
51
+ string: ''
52
+ headers:
53
+ User-Agent:
54
+ - fog/1.12.1
55
+ Content-Type:
56
+ - application/json
57
+ Accept:
58
+ - application/json
59
+ X-Auth-Token:
60
+ - <rackspace-api-token>
61
+ response:
62
+ status:
63
+ code: 200
64
+ message:
65
+ headers:
66
+ X-Compute-Request-Id:
67
+ - req-ea34fa34-a816-4ea5-8956-37b0e9e710d6
68
+ Content-Type:
69
+ - application/json
70
+ Content-Length:
71
+ - '359'
72
+ Date:
73
+ - Fri, 23 Aug 2013 16:57:14 GMT
74
+ body:
75
+ encoding: UTF-8
76
+ string: '{"volumes": [{"status": "available", "display_name": "vaulting-vigilante",
77
+ "attachments": [], "availability_zone": "nova", "bootable": "false", "created_at":
78
+ "2013-08-23T16:57:10.000000", "display_description": null, "volume_type":
79
+ "SATA", "snapshot_id": null, "source_volid": null, "metadata": {}, "id": "fb9aa7b4-36ff-4dd1-b47b-4b452a604aeb",
80
+ "size": 100}]}'
81
+ http_version:
82
+ recorded_at: Fri, 23 Aug 2013 16:57:13 GMT
83
+ recorded_with: VCR 2.5.0
@@ -2,6 +2,7 @@ require "rumm"
2
2
  require "vcr"
3
3
  require "aruba/api"
4
4
  require "rspec-given"
5
+ require "netrc"
5
6
  $: << File.expand_path("../../app/providers", __FILE__)
6
7
 
7
8
  module Rumm::SpecHelper
@@ -26,7 +27,7 @@ end
26
27
  RSpec.configure do |config|
27
28
  config.color_enabled = true
28
29
  config.include Aruba::Api, :example_group => {
29
- :file_path => /spec\/features/
30
+ :file_path => /spec\/features/
30
31
  }
31
32
  config.include Rumm::SpecHelper
32
33
 
@@ -42,17 +43,46 @@ RSpec.configure do |config|
42
43
  end
43
44
  end
44
45
 
46
+ shared_context "netrc" do
47
+ before do
48
+ if netrc = Netrc.read['api.rackspace.com']
49
+ login, api_token = netrc
50
+ else
51
+ login, api_token = '<rackspace-username>', '<rackspace-api-token>'
52
+ end
53
+ File.open(home.join('.netrc'), "w") do |f|
54
+ f.chmod 0600
55
+ f.puts "machine api.rackspace.com"
56
+ f.puts " login #{login}"
57
+ f.puts " password #{api_token}"
58
+ end
59
+ end
60
+ Given(:home) {Pathname(set_env "HOME", File.expand_path(current_dir))}
61
+
62
+ after do
63
+ restore_env
64
+ end
65
+ end
66
+
45
67
  VCR.configure do |c|
46
- c.default_cassette_options = {:record => :new_episodes}
68
+ c.default_cassette_options = {:record => :once}
47
69
  c.hook_into :excon
48
70
  #c.debug_logger = $stderr
49
71
 
50
72
  c.cassette_library_dir = 'spec/fixtures/cassettes'
51
- c.filter_sensitive_data("<rackspace-username>") do
52
- ENV['RACKSPACE_USERNAME']
73
+ c.filter_sensitive_data("<rackspace-username>") do |interaction|
74
+ if interaction.response.body =~ /"username":"(\w+)"/ or interaction.request.body =~ /"username":"(\w+)"/
75
+ $1
76
+ else
77
+ ENV['RACKSPACE_USERNAME']
78
+ end
53
79
  end
54
- c.filter_sensitive_data("<rackspace-password>") do
55
- ENV['RACKSPACE_PASSWORD']
80
+ c.filter_sensitive_data("<rackspace-password>") do |interaction|
81
+ if interaction.response.body =~ /"password":"(.+)"/ or interaction.request.body =~ /"password":"(.+)"/
82
+ $1
83
+ else
84
+ ENV['RACKSPACE_PASSWORD']
85
+ end
56
86
  end
57
87
  c.filter_sensitive_data("<rackspace-api-token>") do |interaction|
58
88
  if interaction.response.body =~ /"token":{"id":"(\w+)"/
@@ -62,7 +92,7 @@ VCR.configure do |c|
62
92
  end
63
93
  end
64
94
  c.filter_sensitive_data("<rackspace-api-key>") do |interaction|
65
- if interaction.response.body =~ /"apiKey":"(\w+)"/
95
+ if interaction.response.body =~ /"apiKey":"(\w+)"/ or interaction.request.body =~ /"apiKey":"(\w+)"/
66
96
  $1
67
97
  else
68
98
  ENV['RACKSPACE_API_KEY']
metadata CHANGED
@@ -1,35 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rumm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.22
4
+ version: 0.0.23
5
5
  platform: ruby
6
6
  authors:
7
7
  - Charles Lowell
8
8
  autorequire:
9
9
  bindir: bin
10
- cert_chain:
11
- - |
12
- -----BEGIN CERTIFICATE-----
13
- MIIDPjCCAiagAwIBAgIBADANBgkqhkiG9w0BAQUFADBFMRAwDgYDVQQDDAdjb3di
14
- b3lkMRwwGgYKCZImiZPyLGQBGRYMdGhlZnJvbnRzaWRlMRMwEQYKCZImiZPyLGQB
15
- GRYDbmV0MB4XDTEzMDEzMDIxMDYwNFoXDTE0MDEzMDIxMDYwNFowRTEQMA4GA1UE
16
- AwwHY293Ym95ZDEcMBoGCgmSJomT8ixkARkWDHRoZWZyb250c2lkZTETMBEGCgmS
17
- JomT8ixkARkWA25ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAO45
18
- CUxpETDGYXjCCy2dMg/aIrdrTqBqQW5ZrzhHxF9EkcdmWFr0z/qMz0JSpZ3pF11Z
19
- KYaj5PaQQpjZfLPwbuiGGkuSWi+UAac//V18xo6S4lzRBjO+gpzG9f2AOzt9b+SR
20
- Uc8UhO7QBZ5edUDxMxw9QstD+U0YBAlzsPJbHuUOqdtxXmNQCds3ZnqTgZaIpdUy
21
- CSejtrukSmlthxFzwgMezYQhcYxmkl+Q475JUodnI6Pjc6nja/Or8Y6cEWiLgeUa
22
- a+efcPGLDEbwJC7TGRrvk8yassMByBEJ3XueTMzeqWFd+665ptciojYo6BvIAR0N
23
- iLwks0x567FZyS8SqTcCAwEAAaM5MDcwCQYDVR0TBAIwADAdBgNVHQ4EFgQUxVgR
24
- 5TUqf7Hd24ICb3g4FNbM7oYwCwYDVR0PBAQDAgSwMA0GCSqGSIb3DQEBBQUAA4IB
25
- AQDdJj+NzZhiYXA56z0wzRUA/Fcf6CYqKB+RFRlPssDEcHTor5SnwdWgQof/gNLi
26
- Qel1Om4zO0Shcp89jxaUqtvEdYVhmyfc0vycHmemKttNBT734yMrEJtF8Hhy+Dnz
27
- 9CzixXLvgGaRH+mf3M0+l+zIDJJr2L+39L8cyTSSRnp/srfI8aSmJKhGshudBKoC
28
- Ty6Gi071pwoJXvdMaE/6iPy7bUzlndYdHyYuWSKaO9N47HqQ62oEnBraglw6ghoi
29
- UgImJlChAzCoDP9zi9tdm6jAr7ttF25R9PPYr11ILb7dYe3qUzlNlM6zJx/nb31b
30
- IhdyRVup4qLcqYSTPsm6u7VA
31
- -----END CERTIFICATE-----
32
- date: 2013-07-22 00:00:00.000000000 Z
10
+ cert_chain: []
11
+ date: 2013-09-03 00:00:00.000000000 Z
33
12
  dependencies:
34
13
  - !ruby/object:Gem::Dependency
35
14
  name: mvcli
@@ -37,40 +16,40 @@ dependencies:
37
16
  requirements:
38
17
  - - ~>
39
18
  - !ruby/object:Gem::Version
40
- version: 0.0.13
19
+ version: 0.0.16
41
20
  type: :runtime
42
21
  prerelease: false
43
22
  version_requirements: !ruby/object:Gem::Requirement
44
23
  requirements:
45
24
  - - ~>
46
25
  - !ruby/object:Gem::Version
47
- version: 0.0.13
26
+ version: 0.0.16
48
27
  - !ruby/object:Gem::Dependency
49
28
  name: fog
50
29
  requirement: !ruby/object:Gem::Requirement
51
30
  requirements:
52
31
  - - ~>
53
32
  - !ruby/object:Gem::Version
54
- version: 1.12.0
33
+ version: 1.15.0
55
34
  type: :runtime
56
35
  prerelease: false
57
36
  version_requirements: !ruby/object:Gem::Requirement
58
37
  requirements:
59
38
  - - ~>
60
39
  - !ruby/object:Gem::Version
61
- version: 1.12.0
40
+ version: 1.15.0
62
41
  - !ruby/object:Gem::Dependency
63
42
  name: netrc
64
43
  requirement: !ruby/object:Gem::Requirement
65
44
  requirements:
66
- - - '>='
45
+ - - ! '>='
67
46
  - !ruby/object:Gem::Version
68
47
  version: '0'
69
48
  type: :runtime
70
49
  prerelease: false
71
50
  version_requirements: !ruby/object:Gem::Requirement
72
51
  requirements:
73
- - - '>='
52
+ - - ! '>='
74
53
  - !ruby/object:Gem::Version
75
54
  version: '0'
76
55
  description: Lift heavy things inside your Rackspace
@@ -102,49 +81,62 @@ files:
102
81
  - app/controllers/servers_controller.rb
103
82
  - app/controllers/users_controller.rb
104
83
  - app/controllers/volumes_controller.rb
84
+ - app/forms/attachments/attach_detach_show_form.rb
85
+ - app/forms/containers/create_form.rb
86
+ - app/forms/databases/create_form.rb
87
+ - app/forms/files/create_form.rb
88
+ - app/forms/files/download_form.rb
89
+ - app/forms/instances/create_form.rb
105
90
  - app/forms/loadbalancers/create_form.rb
91
+ - app/forms/nodes/create_form.rb
106
92
  - app/forms/servers/create_form.rb
107
93
  - app/forms/users/create_form.rb
108
- - app/help/attach_volume.txt
94
+ - app/forms/volumes/create_form.rb
109
95
  - app/help/commands.txt
96
+ - app/help/create_attachment_on_server.txt
110
97
  - app/help/create_container.txt
111
- - app/help/create_database.txt
98
+ - app/help/create_database_on_dbinstance.txt
112
99
  - app/help/create_dbinstance.txt
100
+ - app/help/create_file_in_container.txt
113
101
  - app/help/create_loadbalancer.txt
114
- - app/help/create_node.txt
102
+ - app/help/create_node_on_loadbalancer.txt
115
103
  - app/help/create_server.txt
116
- - app/help/create_user.txt
104
+ - app/help/create_user_on_dbinstance.txt
117
105
  - app/help/create_volume.txt
106
+ - app/help/destroy_attachment_on_server.txt
118
107
  - app/help/destroy_container.txt
119
- - app/help/destroy_database.txt
108
+ - app/help/destroy_database_on_dbinstance.txt
120
109
  - app/help/destroy_dbinstance.txt
121
- - app/help/destroy_file.txt
110
+ - app/help/destroy_file_in_container.txt
122
111
  - app/help/destroy_loadbalancer.txt
123
- - app/help/destroy_node.txt
112
+ - app/help/destroy_node_on_loadbalancer.txt
124
113
  - app/help/destroy_server.txt
114
+ - app/help/destroy_user_on_dbinstance.txt
125
115
  - app/help/destroy_volume.txt
126
- - app/help/detach_volume.txt
116
+ - app/help/download_file_in_container.txt
127
117
  - app/help/login.txt
128
118
  - app/help/logout.txt
129
119
  - app/help/railsify_server.txt
130
120
  - app/help/routes.rb
131
- - app/help/show_attachments.txt
121
+ - app/help/show_attachment_on_server.txt
122
+ - app/help/show_attachments_on_server.txt
132
123
  - app/help/show_container.txt
133
124
  - app/help/show_containers.txt
134
- - app/help/show_database.txt
135
- - app/help/show_databases.txt
125
+ - app/help/show_database_on_dbinstance.txt
126
+ - app/help/show_databases_on_dbinstance.txt
136
127
  - app/help/show_dbinstance.txt
137
128
  - app/help/show_dbinstances.txt
138
- - app/help/show_file.txt
139
- - app/help/show_files.txt
129
+ - app/help/show_file_in_container.txt
130
+ - app/help/show_files_in_container.txt
140
131
  - app/help/show_images.txt
141
132
  - app/help/show_loadbalancer.txt
142
133
  - app/help/show_loadbalancers.txt
143
- - app/help/show_node.txt
134
+ - app/help/show_node_in_loadbalancer.txt
144
135
  - app/help/show_nodes_on_loadbalancer.txt
145
136
  - app/help/show_server.txt
146
137
  - app/help/show_servers.txt
147
- - app/help/show_users.txt
138
+ - app/help/show_user_on_dbinstance.txt
139
+ - app/help/show_users_on_dbinstance.txt
148
140
  - app/help/show_volume.txt
149
141
  - app/help/show_volumes.txt
150
142
  - app/help/ssh.txt
@@ -215,19 +207,60 @@ files:
215
207
  - lib/rumm.rb
216
208
  - lib/rumm/version.rb
217
209
  - rumm.gemspec
210
+ - spec/features/attachments_spec.rb
211
+ - spec/features/containers_spec.rb
212
+ - spec/features/databases_spec.rb
213
+ - spec/features/dbinstances_spec.rb
214
+ - spec/features/files_spec.rb
218
215
  - spec/features/help_spec.rb
216
+ - spec/features/loadbalancers_spec.rb
219
217
  - spec/features/login_spec.rb
218
+ - spec/features/nodes_spec.rb
220
219
  - spec/features/servers_spec.rb
221
- - spec/fixtures/cassettes/create-server.yml
222
- - spec/fixtures/cassettes/destroy-server.yml
223
- - spec/fixtures/cassettes/show-server.yml
224
- - spec/fixtures/cassettes/show-servers.yml
225
- - spec/fixtures/cassettes/successful-login.yml
226
- - spec/fixtures/cassettes/unsuccessful-login.yml
220
+ - spec/features/volumes_spec.rb
221
+ - spec/fixtures/cassettes/attachments/create.yml
222
+ - spec/fixtures/cassettes/attachments/destroy.yml
223
+ - spec/fixtures/cassettes/attachments/show-all.yml
224
+ - spec/fixtures/cassettes/attachments/show.yml
225
+ - spec/fixtures/cassettes/authentication/successful-login.yml
226
+ - spec/fixtures/cassettes/authentication/unsuccessful-login.yml
227
+ - spec/fixtures/cassettes/containers/create.yml
228
+ - spec/fixtures/cassettes/containers/destroy.yml
229
+ - spec/fixtures/cassettes/containers/show-all.yml
230
+ - spec/fixtures/cassettes/containers/show.yml
231
+ - spec/fixtures/cassettes/databases/create.yml
232
+ - spec/fixtures/cassettes/databases/destroy.yml
233
+ - spec/fixtures/cassettes/databases/show-all.yml
234
+ - spec/fixtures/cassettes/databases/show.yml
235
+ - spec/fixtures/cassettes/files/create.yml
236
+ - spec/fixtures/cassettes/files/destroy.yml
237
+ - spec/fixtures/cassettes/files/download.yml
238
+ - spec/fixtures/cassettes/files/show-all.yml
239
+ - spec/fixtures/cassettes/files/show.yml
240
+ - spec/fixtures/cassettes/instances/create.yml
241
+ - spec/fixtures/cassettes/instances/destroy.yml
242
+ - spec/fixtures/cassettes/instances/show-all.yml
243
+ - spec/fixtures/cassettes/instances/show.yml
244
+ - spec/fixtures/cassettes/loadbalancers/create.yml
245
+ - spec/fixtures/cassettes/loadbalancers/destroy.yml
246
+ - spec/fixtures/cassettes/loadbalancers/show-all.yml
247
+ - spec/fixtures/cassettes/loadbalancers/show.yml
248
+ - spec/fixtures/cassettes/nodes/create.yml
249
+ - spec/fixtures/cassettes/nodes/destroy.yml
250
+ - spec/fixtures/cassettes/nodes/show-all.yml
251
+ - spec/fixtures/cassettes/nodes/show.yml
252
+ - spec/fixtures/cassettes/servers/create.yml
253
+ - spec/fixtures/cassettes/servers/destroy.yml
254
+ - spec/fixtures/cassettes/servers/show-all.yml
255
+ - spec/fixtures/cassettes/servers/show.yml
256
+ - spec/fixtures/cassettes/volumes/create.yml
257
+ - spec/fixtures/cassettes/volumes/destroy.yml
258
+ - spec/fixtures/cassettes/volumes/show-all.yml
259
+ - spec/fixtures/cassettes/volumes/show.yml
227
260
  - spec/providers/naming_provider_spec.rb
228
261
  - spec/spec_helper.rb
229
262
  - tmp/aruba/.gitkeep
230
- homepage: https://github.com/rackerlabs/rumm
263
+ homepage: https://github.com/rackspace/rumm
231
264
  licenses:
232
265
  - MIT
233
266
  metadata: {}
@@ -237,30 +270,70 @@ require_paths:
237
270
  - lib
238
271
  required_ruby_version: !ruby/object:Gem::Requirement
239
272
  requirements:
240
- - - '>='
273
+ - - ! '>='
241
274
  - !ruby/object:Gem::Version
242
275
  version: 1.9.3
243
276
  required_rubygems_version: !ruby/object:Gem::Requirement
244
277
  requirements:
245
- - - '>='
278
+ - - ! '>='
246
279
  - !ruby/object:Gem::Version
247
280
  version: '0'
248
281
  requirements: []
249
282
  rubyforge_project:
250
- rubygems_version: 2.0.0
283
+ rubygems_version: 2.0.3
251
284
  signing_key:
252
285
  specification_version: 4
253
286
  summary: CLI and API for managing Rackspace infrastructure
254
287
  test_files:
288
+ - spec/features/attachments_spec.rb
289
+ - spec/features/containers_spec.rb
290
+ - spec/features/databases_spec.rb
291
+ - spec/features/dbinstances_spec.rb
292
+ - spec/features/files_spec.rb
255
293
  - spec/features/help_spec.rb
294
+ - spec/features/loadbalancers_spec.rb
256
295
  - spec/features/login_spec.rb
296
+ - spec/features/nodes_spec.rb
257
297
  - spec/features/servers_spec.rb
258
- - spec/fixtures/cassettes/create-server.yml
259
- - spec/fixtures/cassettes/destroy-server.yml
260
- - spec/fixtures/cassettes/show-server.yml
261
- - spec/fixtures/cassettes/show-servers.yml
262
- - spec/fixtures/cassettes/successful-login.yml
263
- - spec/fixtures/cassettes/unsuccessful-login.yml
298
+ - spec/features/volumes_spec.rb
299
+ - spec/fixtures/cassettes/attachments/create.yml
300
+ - spec/fixtures/cassettes/attachments/destroy.yml
301
+ - spec/fixtures/cassettes/attachments/show-all.yml
302
+ - spec/fixtures/cassettes/attachments/show.yml
303
+ - spec/fixtures/cassettes/authentication/successful-login.yml
304
+ - spec/fixtures/cassettes/authentication/unsuccessful-login.yml
305
+ - spec/fixtures/cassettes/containers/create.yml
306
+ - spec/fixtures/cassettes/containers/destroy.yml
307
+ - spec/fixtures/cassettes/containers/show-all.yml
308
+ - spec/fixtures/cassettes/containers/show.yml
309
+ - spec/fixtures/cassettes/databases/create.yml
310
+ - spec/fixtures/cassettes/databases/destroy.yml
311
+ - spec/fixtures/cassettes/databases/show-all.yml
312
+ - spec/fixtures/cassettes/databases/show.yml
313
+ - spec/fixtures/cassettes/files/create.yml
314
+ - spec/fixtures/cassettes/files/destroy.yml
315
+ - spec/fixtures/cassettes/files/download.yml
316
+ - spec/fixtures/cassettes/files/show-all.yml
317
+ - spec/fixtures/cassettes/files/show.yml
318
+ - spec/fixtures/cassettes/instances/create.yml
319
+ - spec/fixtures/cassettes/instances/destroy.yml
320
+ - spec/fixtures/cassettes/instances/show-all.yml
321
+ - spec/fixtures/cassettes/instances/show.yml
322
+ - spec/fixtures/cassettes/loadbalancers/create.yml
323
+ - spec/fixtures/cassettes/loadbalancers/destroy.yml
324
+ - spec/fixtures/cassettes/loadbalancers/show-all.yml
325
+ - spec/fixtures/cassettes/loadbalancers/show.yml
326
+ - spec/fixtures/cassettes/nodes/create.yml
327
+ - spec/fixtures/cassettes/nodes/destroy.yml
328
+ - spec/fixtures/cassettes/nodes/show-all.yml
329
+ - spec/fixtures/cassettes/nodes/show.yml
330
+ - spec/fixtures/cassettes/servers/create.yml
331
+ - spec/fixtures/cassettes/servers/destroy.yml
332
+ - spec/fixtures/cassettes/servers/show-all.yml
333
+ - spec/fixtures/cassettes/servers/show.yml
334
+ - spec/fixtures/cassettes/volumes/create.yml
335
+ - spec/fixtures/cassettes/volumes/destroy.yml
336
+ - spec/fixtures/cassettes/volumes/show-all.yml
337
+ - spec/fixtures/cassettes/volumes/show.yml
264
338
  - spec/providers/naming_provider_spec.rb
265
339
  - spec/spec_helper.rb
266
- has_rdoc: