rumm 0.0.22 → 0.0.23

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 (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: