rumm 0.0.3 → 0.0.4

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9ae99bad0d8ca431e0721494595d98aebb94bc79
4
- data.tar.gz: 3cc05f97d08fb1c2b5b7bf42809337497d44a2a7
3
+ metadata.gz: 86bfe27ae6f3268c4793883168dd315075ff5cb7
4
+ data.tar.gz: 3f17993a43ef0bffaca6f334c00620fbec070db5
5
5
  SHA512:
6
- metadata.gz: d6d09b4f528b9dc454608cf5807dd108df226fa176cf3cdb16a54a66fb3f72b2046d91faf5e4d45914daf5fea95a79e04fb510edeaf4666a2ffb4878855117d9
7
- data.tar.gz: daf676d8b71865cbb81a1aeb9fbcf00ba701d4b1af39154492320a6604f3c14099c9ee7166b3202953c27877ce145e9d06f23dc81059779a6819d93812a5e3ce
6
+ metadata.gz: 5698abc60b8dc140e2f60108d3bd707e92003a07043d39742c0d9fcf609605142e72c1a0a66d74bd10ac0a8f1813bcd6b9093fff24781433880e1d12d1d41dfc
7
+ data.tar.gz: a577175f66daa7c519052d70bb5bfb18c79aa4436a60c5c4c29f7a3a99c7b2736049c6183ab3b7c46407e2b118450e3f5a74932f6aacf2a502173db3b66bf563
@@ -0,0 +1,8 @@
1
+ rvm:
2
+ - 2.0.0
3
+ notifications:
4
+ recipients:
5
+ - prabhakar.gopalan@rackspace.com
6
+ - cowboyd@thefrontside.net
7
+ - hayesmp@thefrontside.net
8
+
data/README.md CHANGED
@@ -1,5 +1,10 @@
1
1
  ## Rumm: a tasty tool for pirates and hackers
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/rumm.png)](http://badge.fury.io/rb/rumm)
4
+ [![Build Status](https://travis-ci.org/rackerlabs/rumm.png?branch=master)](https://travis-ci.org/rackerlabs/rumm)
5
+ [![Dependency Status](https://gemnasium.com/rackerlabs/rumm.png)](https://gemnasium.com/rackerlabs/rumm)
6
+
7
+
3
8
  Rumm is a command line interface and API to rackspace. You can use it
4
9
  to easily build and manage infrastructure for great good.
5
10
 
@@ -7,30 +7,25 @@ class AuthenticationController < MVCLI::Controller
7
7
  requires :user
8
8
 
9
9
  def login
10
- #Check if they're already logged in
11
- #if(they're logged in)
12
- # prompt("you sure bout that?")
13
10
  login_info = user
14
11
  username = login_info.name
15
12
  password = login_info.password
16
13
 
17
- uri = URI('https://identity.api.rackspacecloud.com/v2.0/tokens')
18
- req = Net::HTTP::Post.new(uri)
19
- req['Content-Type'] = 'application/json'
20
- req.body = {auth: {passwordCredentials: {username: username, password: password}}}.to_json
21
- res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |https|
22
- https.request req
23
- end
24
- user_info = Map(JSON.parse res.body)
25
-
26
- uri = URI("https://identity.api.rackspacecloud.com/v2.0/users/#{user_info.access.user.id}/OS-KSADM/credentials/RAX-KSKEY:apiKeyCredentials")
27
- req = Net::HTTP::Get.new(uri, initheader = {'X-Auth-Token' => user_info.access.token.id})
28
- req['Content-Type'] = 'application/json'
29
- res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |https|
30
- https.request req
31
- end
32
-
33
- user_credentials = Map(JSON.parse res.body)
14
+ connection = Excon.new('https://identity.api.rackspacecloud.com')
15
+
16
+ headers = {'Content-Type' => 'application/json'}
17
+ body = {auth: {passwordCredentials: {username: username, password: password}}}
18
+
19
+ response = connection.post headers: headers, body: body.to_json, path: '/v2.0/tokens'
20
+
21
+
22
+ #TODO check the status code of the request
23
+ user_info = Map(JSON.parse response.body)
24
+
25
+ headers.merge!({'X-Auth-Token' => user_info.access.token.id})
26
+ response = connection.get headers: headers, path: "/v2.0/users/#{user_info.access.user.id}/OS-KSADM/credentials/RAX-KSKEY:apiKeyCredentials"
27
+
28
+ user_credentials = Map(JSON.parse response.body)
34
29
 
35
30
  netrc = Netrc.read
36
31
  netrc['api.rackspace.com'] = username, user_credentials["RAX-KSKEY:apiKeyCredentials"].apiKey
@@ -1,5 +1,4 @@
1
1
  class DatabasesController < MVCLI::Controller
2
-
3
2
  requires :instances
4
3
  requires :databases
5
4
  requires :naming
@@ -1,6 +1,5 @@
1
1
  class ServersController < MVCLI::Controller
2
2
  requires :compute
3
- requires :naming
4
3
  requires :command
5
4
 
6
5
  def index
@@ -13,17 +12,21 @@ class ServersController < MVCLI::Controller
13
12
  end
14
13
 
15
14
  def create
15
+ template = Servers::CreateForm
16
+ argv = MVCLI::Argv.new command.argv
17
+ form = template.new argv.options
18
+ form.validate!
16
19
  #Add personalization
17
20
  options = {
18
- name: naming.generate_name('s', 's'),
19
- flavor_id: 2,
20
- image_id: '9922a7c7-5a42-4a56-bc6a-93f857ae2346',
21
- private_key_path: "~/.ssh/id_dsa",
22
- public_key_path: "~/.ssh/id_dsa.pub"
21
+ name: form.name,
22
+ flavor_id: form.flavor_id,
23
+ image_id: form.image_id,
24
+ private_key_path: "~/.ssh/id_rsa",
25
+ public_key_path: "~/.ssh/id_rsa.pub"
23
26
  }
24
27
  command.output.puts "--> bootstrapping server #{options[:name]}"
25
28
  #Progress bar
26
- server = compute.servers.bootstrap options
29
+ server = compute.servers.create options
27
30
  command.output.puts " done."
28
31
  return server
29
32
  end
@@ -0,0 +1,22 @@
1
+ class UsersController < MVCLI::Controller
2
+ requires :instances
3
+ requires :command
4
+
5
+ def index
6
+ instance.users.all
7
+ end
8
+
9
+ def create
10
+ template = Users::CreateForm
11
+ argv = MVCLI::Argv.new command.argv
12
+ form = template.new argv.options
13
+ form.validate!
14
+ instance.users.create form.value
15
+ end
16
+
17
+ private
18
+
19
+ def instance
20
+ instances.all.find {|i| i.name == params[:dbinstance_id]} or fail Fog::Errors::NotFound
21
+ end
22
+ end
@@ -22,6 +22,8 @@ class Loadbalancers::CreateForm < MVCLI::Form
22
22
  validates(:condition, "invalid condition") {|c| ['ENABLED', 'DISABLED'].member? c}
23
23
  end
24
24
 
25
+ validates(:port, "port must be between 0 and 65,535") {|port| port >=0 && port < 65535}
26
+
25
27
  validates(:nodes, "at least one node must be enabled") { |nodes|
26
28
  nodes.any? {|n| n.condition == 'ENABLED'}
27
29
  }
@@ -0,0 +1,7 @@
1
+ class Servers::CreateForm < MVCLI::Form
2
+ requires :naming
3
+
4
+ input :name, String, default: ->() {naming.generate_name 's', 's'}
5
+ input :image_id, String, default: '9922a7c7-5a42-4a56-bc6a-93f857ae2346'
6
+ input :flavor_id, String, default: 2
7
+ end
@@ -0,0 +1,10 @@
1
+ class Users::CreateForm < MVCLI::Form
2
+ input :name, String, required: true
3
+ input :password, String, required: true
4
+ input :databases, [Map], decode: ->(s) {{name: s}}
5
+ input :host, String
6
+
7
+ validates(:host, "host must be a valid ip address or %") {|host|
8
+ host == "%" or IPAddr.new(host) rescue nil
9
+ }
10
+ end
@@ -6,7 +6,7 @@ class UserProvider
6
6
  def value
7
7
  name = get_name
8
8
  password = get_password
9
- Map(name: name, password: password)
9
+ Map name: name, password: password
10
10
  end
11
11
 
12
12
  private
@@ -33,6 +33,10 @@ match 'create database on dbinstance :instance_id' => 'databases#create'
33
33
  match 'update database :id on dbinstance :instance_id' => 'databases#update'
34
34
  match 'destroy database :id on dbinstance :instance_id' => 'databases#destroy'
35
35
 
36
+ match 'show users on dbinstance :dbinstance_id' => 'users#index'
37
+ match 'show user :id on dbinstance :dbinstance_id' => 'users#show'
38
+ match 'create user on dbinstance :dbinstance_id' => 'users#create'
39
+
36
40
  match 'ssh :id' => 'servers#ssh'
37
41
 
38
42
  match 'show containers' => 'containers#index'
@@ -0,0 +1 @@
1
+ created user <%= self.name %>
@@ -0,0 +1,7 @@
1
+ <% if empty? %>
2
+ You don't have any users yet.
3
+ <% else %>
4
+ <% each do |user| %>
5
+ <%= user.name %>, <%= user.databases.inspect %>
6
+ <% end %>
7
+ <% end %>
@@ -1,3 +1,3 @@
1
1
  module Rumm
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -2,28 +2,27 @@ require "spec_helper"
2
2
 
3
3
  describe "logging in" do
4
4
  before do
5
- @announce_dir = true
6
- @announce_cmd = true
7
- @announce_env = true
8
- @announce_stdout = true
9
- @announce_stderr = true
5
+ #@announce_dir = true
6
+ #@announce_cmd = true
7
+ #@announce_env = true
8
+ #@announce_stdout = true
9
+ #@announce_stderr = true
10
10
  @home = Pathname(set_env "HOME", File.expand_path(current_dir))
11
11
  end
12
12
  describe "interactively with valid credentials" do
13
13
  before do
14
- run_interactive "rumm login"
15
- type "<username>"
16
- type "<valid-password>"
17
- stop_process @interactive
14
+ VCR.use_cassette('successful-login') do
15
+ will_type ENV['RACKSPACE_USERNAME'] || "<username>"
16
+ will_type ENV['RACKSPACE_PASSWORD'] || "<valid-password>"
17
+ run_interactive "rumm login"
18
+ stop_process @interactive
19
+ end
18
20
  end
19
21
  it "successfully exits" do
20
22
  last_exit_status.should eq(0), "process failed"
21
23
  end
22
- it "stores the authentication information and service catalog" do
23
- @home.join('.rummrc').should exist
24
- access = Map(JSON.parse @home.join(".rummrc").read).access
25
- access.user.name.should eql "cowboyd"
26
- access.serviceCatalog.first.name.should eql "cloudServers"
24
+ it "places your login credentials in your .netrc" do
25
+
27
26
  end
28
27
  end
29
28
  end
@@ -7,8 +7,8 @@ describe "using the server api" do
7
7
  File.open(home.join('.netrc'), "w") do |f|
8
8
  f.chmod 0600
9
9
  f.puts "machine api.rackspace.com"
10
- f.puts " login #{ENV['RACKSPACE_LOGIN'] || '<rackspace-username>'}"
11
- f.puts " password #{ENV['RACKSPACE_API_TOKEN'] || '<rackspace-api-token>'}"
10
+ f.puts " login #{ENV['RACKSPACE_USERNAME'] || '<rackspace-username>'}"
11
+ f.puts " password #{ENV['RACKSPACE_API_KEY'] || '<rackspace-api-key>'}"
12
12
  end
13
13
  end
14
14
  context "when I list all my servers (and I don't have any')" do
@@ -17,23 +17,18 @@ describe "using the server api" do
17
17
  And {last_exit_status.should eql 0}
18
18
  end
19
19
  context "when I create a server" do
20
- When {VCR.use_cassette('create-server') {run "rumm create server"}}
20
+ When {VCR.use_cassette('create-server') {run "rumm create server --name silly-saffron"}}
21
21
  Then {all_stdout =~ /created server (\w+)/}
22
22
  And {last_exit_status.should eql 0}
23
23
  end
24
- #context "when I ssh into a server" do
25
- # When {VCR.use_cassette('show-server') {run "rumm ssh divine-reef"}}
26
- # Then {all_stdout =~ /test success/}
27
- #end
28
24
  context "when I show a server" do
29
- When {VCR.use_cassette('show-server') {run "rumm show server divine-reef"}}
25
+ When {VCR.use_cassette('show-server') {run "rumm show server silly-saffron"}}
30
26
  Then {last_exit_status.should eql 0}
31
27
  end
32
28
  context "when I destroy a server that exists" do
33
- When {VCR.use_cassette('destroy-server') {run "rumm destroy server divine-reef"}}
29
+ When {VCR.use_cassette('destroy-server') {run "rumm destroy server silly-saffron"}}
34
30
  Then {all_stdout =~ /destruction/}
35
31
  And {last_exit_status.should eql 0}
36
32
  end
37
33
  end
38
- context "without credentials"
39
34
  end
@@ -5,7 +5,7 @@ http_interactions:
5
5
  uri: https://identity.api.rackspacecloud.com/v2.0/tokens
6
6
  body:
7
7
  encoding: UTF-8
8
- string: '{"auth":{"RAX-KSKEY:apiKeyCredentials":{"username":"<rackspace-login>","apiKey":"<rackspace-api-token>"}}}'
8
+ string: '{"auth":{"RAX-KSKEY:apiKeyCredentials":{"username":"<rackspace-username>","apiKey":"<rackspace-api-key>"}}}'
9
9
  headers:
10
10
  User-Agent:
11
11
  - fog/1.11.1
@@ -22,33 +22,33 @@ http_interactions:
22
22
  Server:
23
23
  - nginx/0.8.55
24
24
  Date:
25
- - Mon, 27 May 2013 16:59:08 GMT
25
+ - Fri, 28 Jun 2013 18:45:22 GMT
26
26
  Content-Type:
27
27
  - application/json
28
- Transfer-Encoding:
29
- - chunked
30
28
  Connection:
31
29
  - keep-alive
32
- response-source:
33
- - cloud-auth
34
30
  vary:
35
31
  - Accept, Accept-Encoding, X-Auth-Token
36
32
  VIA:
37
33
  - 1.0 Repose (Repose/2.3.5)
34
+ Content-Length:
35
+ - '4973'
38
36
  Front-End-Https:
39
37
  - 'on'
40
38
  body:
41
39
  encoding: UTF-8
42
- string: |
43
- {"access":{"token":{"id":"6e57ad98-4d0b-4414-b9be-4c8a75e81261","expires":"2013-05-28T11:24:07.000-05:00","tenant":{"id":"829771","name":"829771"}},"serviceCatalog":[{"endpoints":[{"region":"DFW","tenantId":"829771","publicURL":"https:\/\/dfw.servers.api.rackspacecloud.com\/v2\/829771","versionInfo":"https:\/\/dfw.servers.api.rackspacecloud.com\/v2","versionList":"https:\/\/dfw.servers.api.rackspacecloud.com\/","versionId":"2"},{"region":"ORD","tenantId":"829771","publicURL":"https:\/\/ord.servers.api.rackspacecloud.com\/v2\/829771","versionInfo":"https:\/\/ord.servers.api.rackspacecloud.com\/v2","versionList":"https:\/\/ord.servers.api.rackspacecloud.com\/","versionId":"2"}],"name":"cloudServersOpenStack","type":"compute"},{"endpoints":[{"region":"DFW","tenantId":"829771","publicURL":"https:\/\/dfw.blockstorage.api.rackspacecloud.com\/v1\/829771"},{"region":"ORD","tenantId":"829771","publicURL":"https:\/\/ord.blockstorage.api.rackspacecloud.com\/v1\/829771"}],"name":"cloudBlockStorage","type":"volume"},{"endpoints":[{"tenantId":"829771","publicURL":"https:\/\/servers.api.rackspacecloud.com\/v1.0\/829771","versionInfo":"https:\/\/servers.api.rackspacecloud.com\/v1.0","versionList":"https:\/\/servers.api.rackspacecloud.com\/","versionId":"1.0"}],"name":"cloudServers","type":"compute"},{"endpoints":[{"tenantId":"829771","publicURL":"https:\/\/monitoring.api.rackspacecloud.com\/v1.0\/829771"}],"name":"cloudMonitoring","type":"rax:monitor"},{"endpoints":[{"tenantId":"829771","publicURL":"https:\/\/backup.api.rackspacecloud.com\/v1.0\/829771"}],"name":"cloudBackup","type":"rax:backup"},{"endpoints":[{"region":"DFW","tenantId":"MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","publicURL":"https:\/\/storage101.dfw1.clouddrive.com\/v1\/MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","internalURL":"https:\/\/snet-storage101.dfw1.clouddrive.com\/v1\/MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d"},{"region":"ORD","tenantId":"MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","publicURL":"https:\/\/storage101.ord1.clouddrive.com\/v1\/MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","internalURL":"https:\/\/snet-storage101.ord1.clouddrive.com\/v1\/MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d"}],"name":"cloudFiles","type":"object-store"},{"endpoints":[{"region":"ORD","tenantId":"829771","publicURL":"https:\/\/ord.loadbalancers.api.rackspacecloud.com\/v1.0\/829771"},{"region":"DFW","tenantId":"829771","publicURL":"https:\/\/dfw.loadbalancers.api.rackspacecloud.com\/v1.0\/829771"}],"name":"cloudLoadBalancers","type":"rax:load-balancer"},{"endpoints":[{"region":"DFW","tenantId":"MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","publicURL":"https:\/\/cdn1.clouddrive.com\/v1\/MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d"},{"region":"ORD","tenantId":"MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","publicURL":"https:\/\/cdn2.clouddrive.com\/v1\/MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d"}],"name":"cloudFilesCDN","type":"rax:object-cdn"},{"endpoints":[{"tenantId":"829771","publicURL":"https:\/\/dns.api.rackspacecloud.com\/v1.0\/829771"}],"name":"cloudDNS","type":"rax:dns"},{"endpoints":[{"region":"DFW","tenantId":"829771","publicURL":"https:\/\/dfw.databases.api.rackspacecloud.com\/v1.0\/829771"},{"region":"ORD","tenantId":"829771","publicURL":"https:\/\/ord.databases.api.rackspacecloud.com\/v1.0\/829771"}],"name":"cloudDatabases","type":"rax:database"}],"user":{"id":"356537","roles":[{"id":"3","description":"User Admin Role.","name":"identity:user-admin"}],"name":"<rackspace-login>","RAX-AUTH:defaultRegion":""}}}
40
+ string: '{"access":{"token":{"id":"<rackspace-api-token>","expires":"2013-06-28T15:57:21.042-05:00","tenant":{"id":"829771","name":"829771"}},"serviceCatalog":[{"name":"cloudFiles","endpoints":[{"region":"DFW","tenantId":"MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","publicURL":"https:\/\/storage101.dfw1.clouddrive.com\/v1\/MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","internalURL":"https:\/\/snet-storage101.dfw1.clouddrive.com\/v1\/MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d"},{"region":"SYD","tenantId":"MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","publicURL":"https:\/\/storage101.syd2.clouddrive.com\/v1\/MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","internalURL":"https:\/\/snet-storage101.syd2.clouddrive.com\/v1\/MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d"},{"region":"ORD","tenantId":"MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","publicURL":"https:\/\/storage101.ord1.clouddrive.com\/v1\/MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","internalURL":"https:\/\/snet-storage101.ord1.clouddrive.com\/v1\/MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d"}],"type":"object-store"},{"name":"cloudFilesCDN","endpoints":[{"region":"DFW","tenantId":"MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","publicURL":"https:\/\/cdn1.clouddrive.com\/v1\/MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d"},{"region":"ORD","tenantId":"MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","publicURL":"https:\/\/cdn2.clouddrive.com\/v1\/MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d"},{"region":"SYD","tenantId":"MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","publicURL":"https:\/\/cdn4.clouddrive.com\/v1\/MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d"}],"type":"rax:object-cdn"},{"name":"cloudLoadBalancers","endpoints":[{"region":"SYD","tenantId":"829771","publicURL":"https:\/\/syd.loadbalancers.api.rackspacecloud.com\/v1.0\/829771"},{"region":"ORD","tenantId":"829771","publicURL":"https:\/\/ord.loadbalancers.api.rackspacecloud.com\/v1.0\/829771"},{"region":"DFW","tenantId":"829771","publicURL":"https:\/\/dfw.loadbalancers.api.rackspacecloud.com\/v1.0\/829771"}],"type":"rax:load-balancer"},{"name":"cloudBlockStorage","endpoints":[{"region":"SYD","tenantId":"829771","publicURL":"https:\/\/syd.blockstorage.api.rackspacecloud.com\/v1\/829771"},{"region":"ORD","tenantId":"829771","publicURL":"https:\/\/ord.blockstorage.api.rackspacecloud.com\/v1\/829771"},{"region":"DFW","tenantId":"829771","publicURL":"https:\/\/dfw.blockstorage.api.rackspacecloud.com\/v1\/829771"}],"type":"volume"},{"name":"cloudDatabases","endpoints":[{"region":"SYD","tenantId":"829771","publicURL":"https:\/\/syd.databases.api.rackspacecloud.com\/v1.0\/829771"},{"region":"DFW","tenantId":"829771","publicURL":"https:\/\/dfw.databases.api.rackspacecloud.com\/v1.0\/829771"},{"region":"ORD","tenantId":"829771","publicURL":"https:\/\/ord.databases.api.rackspacecloud.com\/v1.0\/829771"}],"type":"rax:database"},{"name":"cloudServersOpenStack","endpoints":[{"region":"SYD","tenantId":"829771","publicURL":"https:\/\/syd.servers.api.rackspacecloud.com\/v2\/829771","versionInfo":"https:\/\/syd.servers.api.rackspacecloud.com\/v2","versionList":"https:\/\/syd.servers.api.rackspacecloud.com\/","versionId":"2"},{"region":"DFW","tenantId":"829771","publicURL":"https:\/\/dfw.servers.api.rackspacecloud.com\/v2\/829771","versionInfo":"https:\/\/dfw.servers.api.rackspacecloud.com\/v2","versionList":"https:\/\/dfw.servers.api.rackspacecloud.com\/","versionId":"2"},{"region":"ORD","tenantId":"829771","publicURL":"https:\/\/ord.servers.api.rackspacecloud.com\/v2\/829771","versionInfo":"https:\/\/ord.servers.api.rackspacecloud.com\/v2","versionList":"https:\/\/ord.servers.api.rackspacecloud.com\/","versionId":"2"}],"type":"compute"},{"name":"cloudDNS","endpoints":[{"tenantId":"829771","publicURL":"https:\/\/dns.api.rackspacecloud.com\/v1.0\/829771"}],"type":"rax:dns"},{"name":"cloudBackup","endpoints":[{"tenantId":"829771","publicURL":"https:\/\/backup.api.rackspacecloud.com\/v1.0\/829771"}],"type":"rax:backup"},{"name":"cloudServers","endpoints":[{"tenantId":"829771","publicURL":"https:\/\/servers.api.rackspacecloud.com\/v1.0\/829771","versionInfo":"https:\/\/servers.api.rackspacecloud.com\/v1.0","versionList":"https:\/\/servers.api.rackspacecloud.com\/","versionId":"1.0"}],"type":"compute"},{"name":"cloudMonitoring","endpoints":[{"tenantId":"829771","publicURL":"https:\/\/monitoring.api.rackspacecloud.com\/v1.0\/829771"}],"type":"rax:monitor"}],"user":{"id":"356537","roles":[{"tenantId":"MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","id":"5","description":"A
41
+ Role that allows a user access to keystone Service methods","name":"object-store:default"},{"tenantId":"829771","id":"6","description":"A
42
+ Role that allows a user access to keystone Service methods","name":"compute:default"},{"id":"3","description":"User
43
+ Admin Role.","name":"identity:user-admin"}],"name":"<rackspace-username>","RAX-AUTH:defaultRegion":"ORD"}}}'
44
44
  http_version:
45
- recorded_at: Mon, 27 May 2013 16:59:08 GMT
45
+ recorded_at: Fri, 28 Jun 2013 18:45:22 GMT
46
46
  - request:
47
47
  method: post
48
- uri: https://dfw.servers.api.rackspacecloud.com/v2/829771/servers
48
+ uri: https://ord.servers.api.rackspacecloud.com/v2/829771/servers
49
49
  body:
50
50
  encoding: UTF-8
51
- string: '{"server":{"name":"divine-reef","imageRef":"9922a7c7-5a42-4a56-bc6a-93f857ae2346","flavorRef":2,"minCount":1,"maxCount":1,"networks":[{"uuid":"00000000-0000-0000-0000-000000000000"},{"uuid":"11111111-1111-1111-1111-111111111111"}]}}'
51
+ string: '{"server":{"name":"silly-saffron","imageRef":"9922a7c7-5a42-4a56-bc6a-93f857ae2346","flavorRef":2,"minCount":1,"maxCount":1,"networks":[{"uuid":"00000000-0000-0000-0000-000000000000"},{"uuid":"11111111-1111-1111-1111-111111111111"}]}}'
52
52
  headers:
53
53
  User-Agent:
54
54
  - fog/1.11.1
@@ -57,88 +57,30 @@ http_interactions:
57
57
  Accept:
58
58
  - application/json
59
59
  X-Auth-Token:
60
- - 6e57ad98-4d0b-4414-b9be-4c8a75e81261
60
+ - <rackspace-api-token>
61
61
  response:
62
62
  status:
63
63
  code: 202
64
64
  message:
65
65
  headers:
66
66
  Date:
67
- - Mon, 27 May 2013 16:59:09 GMT
67
+ - Fri, 28 Jun 2013 18:45:25 GMT
68
68
  Content-Length:
69
69
  - '380'
70
70
  Location:
71
- - https://dfw.servers.api.rackspacecloud.com/v2/829771/servers/2211c095-db96-4098-9577-345e0d86a4c7
71
+ - https://ord.servers.api.rackspacecloud.com/v2/829771/servers/ec463ae7-7e91-4ab0-95ee-84e6b116d5c8
72
72
  Content-Type:
73
73
  - application/json
74
74
  X-Compute-Request-Id:
75
- - req-e7bdfd25-32d3-48c8-965d-15cb896aeff2
76
- Server:
77
- - Jetty(8.0.y.z-SNAPSHOT)
78
- body:
79
- encoding: UTF-8
80
- string: '{"server": {"OS-DCF:diskConfig": "AUTO", "id": "2211c095-db96-4098-9577-345e0d86a4c7",
81
- "links": [{"href": "https://dfw.servers.api.rackspacecloud.com/v2/829771/servers/2211c095-db96-4098-9577-345e0d86a4c7",
82
- "rel": "self"}, {"href": "https://dfw.servers.api.rackspacecloud.com/829771/servers/2211c095-db96-4098-9577-345e0d86a4c7",
83
- "rel": "bookmark"}], "adminPass": "23nhD4mpHJk4"}}'
84
- http_version:
85
- recorded_at: Mon, 27 May 2013 16:59:09 GMT
86
- - request:
87
- method: get
88
- uri: https://dfw.servers.api.rackspacecloud.com/v2/829771/servers/2211c095-db96-4098-9577-345e0d86a4c7
89
- body:
90
- encoding: US-ASCII
91
- string: ''
92
- headers:
93
- User-Agent:
94
- - fog/1.11.1
95
- Content-Type:
96
- - application/json
97
- Accept:
98
- - application/json
99
- X-Auth-Token:
100
- - 6e57ad98-4d0b-4414-b9be-4c8a75e81261
101
- response:
102
- status:
103
- code: 401
104
- message:
105
- headers:
106
- Content-Length:
107
- - '0'
108
- Server:
109
- - Jetty(8.0.y.z-SNAPSHOT)
110
- body:
111
- encoding: UTF-8
112
- string: ''
113
- http_version:
114
- recorded_at: Mon, 03 Jun 2013 21:05:06 GMT
115
- - request:
116
- method: post
117
- uri: https://ord.servers.api.rackspacecloud.com/v2/829771/servers
118
- body:
119
- encoding: UTF-8
120
- string: '{"server":{"name":"snow-capped-saturniidae","imageRef":"9922a7c7-5a42-4a56-bc6a-93f857ae2346","flavorRef":2,"minCount":1,"maxCount":1,"networks":[{"uuid":"00000000-0000-0000-0000-000000000000"},{"uuid":"11111111-1111-1111-1111-111111111111"}]}}'
121
- headers:
122
- User-Agent:
123
- - fog/1.11.1
124
- Content-Type:
125
- - application/json
126
- Accept:
127
- - application/json
128
- X-Auth-Token:
129
- - 6e57ad98-4d0b-4414-b9be-4c8a75e81261
130
- response:
131
- status:
132
- code: 401
133
- message:
134
- headers:
135
- Content-Length:
136
- - '0'
75
+ - req-1944260f-79d3-46cd-ae31-552feebf5bfb
137
76
  Server:
138
77
  - Jetty(8.0.y.z-SNAPSHOT)
139
78
  body:
140
79
  encoding: UTF-8
141
- string: ''
80
+ string: '{"server": {"OS-DCF:diskConfig": "AUTO", "id": "ec463ae7-7e91-4ab0-95ee-84e6b116d5c8",
81
+ "links": [{"href": "https://ord.servers.api.rackspacecloud.com/v2/829771/servers/ec463ae7-7e91-4ab0-95ee-84e6b116d5c8",
82
+ "rel": "self"}, {"href": "https://ord.servers.api.rackspacecloud.com/829771/servers/ec463ae7-7e91-4ab0-95ee-84e6b116d5c8",
83
+ "rel": "bookmark"}], "adminPass": "LNkXt2MSVp3H"}}'
142
84
  http_version:
143
- recorded_at: Wed, 26 Jun 2013 21:44:36 GMT
85
+ recorded_at: Fri, 28 Jun 2013 18:45:25 GMT
144
86
  recorded_with: VCR 2.5.0
@@ -5,7 +5,7 @@ http_interactions:
5
5
  uri: https://identity.api.rackspacecloud.com/v2.0/tokens
6
6
  body:
7
7
  encoding: UTF-8
8
- string: '{"auth":{"RAX-KSKEY:apiKeyCredentials":{"username":"<rackspace-login>","apiKey":"<rackspace-api-token>"}}}'
8
+ string: '{"auth":{"RAX-KSKEY:apiKeyCredentials":{"username":"<rackspace-username>","apiKey":"<rackspace-api-key>"}}}'
9
9
  headers:
10
10
  User-Agent:
11
11
  - fog/1.11.1
@@ -22,30 +22,30 @@ http_interactions:
22
22
  Server:
23
23
  - nginx/0.8.55
24
24
  Date:
25
- - Tue, 28 May 2013 20:16:11 GMT
25
+ - Fri, 28 Jun 2013 18:46:02 GMT
26
26
  Content-Type:
27
27
  - application/json
28
- Transfer-Encoding:
29
- - chunked
30
28
  Connection:
31
29
  - keep-alive
32
- response-source:
33
- - cloud-auth
34
30
  vary:
35
31
  - Accept, Accept-Encoding, X-Auth-Token
36
32
  VIA:
37
33
  - 1.0 Repose (Repose/2.3.5)
34
+ Content-Length:
35
+ - '4973'
38
36
  Front-End-Https:
39
37
  - 'on'
40
38
  body:
41
39
  encoding: UTF-8
42
- string: |
43
- {"access":{"token":{"id":"c8e0d8ec-c73d-48c5-9b80-548ef8f40dc4","expires":"2013-05-29T14:36:08.000-05:00","tenant":{"id":"829771","name":"829771"}},"serviceCatalog":[{"endpoints":[{"tenantId":"829771","publicURL":"https:\/\/servers.api.rackspacecloud.com\/v1.0\/829771","versionInfo":"https:\/\/servers.api.rackspacecloud.com\/v1.0","versionList":"https:\/\/servers.api.rackspacecloud.com\/","versionId":"1.0"}],"name":"cloudServers","type":"compute"},{"endpoints":[{"region":"DFW","tenantId":"MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","publicURL":"https:\/\/storage101.dfw1.clouddrive.com\/v1\/MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","internalURL":"https:\/\/snet-storage101.dfw1.clouddrive.com\/v1\/MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d"},{"region":"ORD","tenantId":"MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","publicURL":"https:\/\/storage101.ord1.clouddrive.com\/v1\/MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","internalURL":"https:\/\/snet-storage101.ord1.clouddrive.com\/v1\/MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d"}],"name":"cloudFiles","type":"object-store"},{"endpoints":[{"tenantId":"829771","publicURL":"https:\/\/backup.api.rackspacecloud.com\/v1.0\/829771"}],"name":"cloudBackup","type":"rax:backup"},{"endpoints":[{"region":"DFW","tenantId":"829771","publicURL":"https:\/\/dfw.servers.api.rackspacecloud.com\/v2\/829771","versionInfo":"https:\/\/dfw.servers.api.rackspacecloud.com\/v2","versionList":"https:\/\/dfw.servers.api.rackspacecloud.com\/","versionId":"2"},{"region":"ORD","tenantId":"829771","publicURL":"https:\/\/ord.servers.api.rackspacecloud.com\/v2\/829771","versionInfo":"https:\/\/ord.servers.api.rackspacecloud.com\/v2","versionList":"https:\/\/ord.servers.api.rackspacecloud.com\/","versionId":"2"}],"name":"cloudServersOpenStack","type":"compute"},{"endpoints":[{"region":"DFW","tenantId":"MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","publicURL":"https:\/\/cdn1.clouddrive.com\/v1\/MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d"},{"region":"ORD","tenantId":"MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","publicURL":"https:\/\/cdn2.clouddrive.com\/v1\/MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d"}],"name":"cloudFilesCDN","type":"rax:object-cdn"},{"endpoints":[{"tenantId":"829771","publicURL":"https:\/\/dns.api.rackspacecloud.com\/v1.0\/829771"}],"name":"cloudDNS","type":"rax:dns"},{"endpoints":[{"region":"DFW","tenantId":"829771","publicURL":"https:\/\/dfw.blockstorage.api.rackspacecloud.com\/v1\/829771"},{"region":"ORD","tenantId":"829771","publicURL":"https:\/\/ord.blockstorage.api.rackspacecloud.com\/v1\/829771"}],"name":"cloudBlockStorage","type":"volume"},{"endpoints":[{"region":"DFW","tenantId":"829771","publicURL":"https:\/\/dfw.databases.api.rackspacecloud.com\/v1.0\/829771"},{"region":"ORD","tenantId":"829771","publicURL":"https:\/\/ord.databases.api.rackspacecloud.com\/v1.0\/829771"}],"name":"cloudDatabases","type":"rax:database"},{"endpoints":[{"region":"ORD","tenantId":"829771","publicURL":"https:\/\/ord.loadbalancers.api.rackspacecloud.com\/v1.0\/829771"},{"region":"DFW","tenantId":"829771","publicURL":"https:\/\/dfw.loadbalancers.api.rackspacecloud.com\/v1.0\/829771"}],"name":"cloudLoadBalancers","type":"rax:load-balancer"},{"endpoints":[{"tenantId":"829771","publicURL":"https:\/\/monitoring.api.rackspacecloud.com\/v1.0\/829771"}],"name":"cloudMonitoring","type":"rax:monitor"}],"user":{"id":"356537","roles":[{"id":"3","description":"User Admin Role.","name":"identity:user-admin"}],"name":"<rackspace-login>","RAX-AUTH:defaultRegion":""}}}
40
+ string: '{"access":{"token":{"id":"<rackspace-api-token>","expires":"2013-06-28T15:57:21.042-05:00","tenant":{"id":"829771","name":"829771"}},"serviceCatalog":[{"name":"cloudFiles","endpoints":[{"region":"DFW","tenantId":"MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","publicURL":"https:\/\/storage101.dfw1.clouddrive.com\/v1\/MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","internalURL":"https:\/\/snet-storage101.dfw1.clouddrive.com\/v1\/MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d"},{"region":"SYD","tenantId":"MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","publicURL":"https:\/\/storage101.syd2.clouddrive.com\/v1\/MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","internalURL":"https:\/\/snet-storage101.syd2.clouddrive.com\/v1\/MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d"},{"region":"ORD","tenantId":"MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","publicURL":"https:\/\/storage101.ord1.clouddrive.com\/v1\/MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","internalURL":"https:\/\/snet-storage101.ord1.clouddrive.com\/v1\/MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d"}],"type":"object-store"},{"name":"cloudFilesCDN","endpoints":[{"region":"DFW","tenantId":"MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","publicURL":"https:\/\/cdn1.clouddrive.com\/v1\/MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d"},{"region":"ORD","tenantId":"MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","publicURL":"https:\/\/cdn2.clouddrive.com\/v1\/MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d"},{"region":"SYD","tenantId":"MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","publicURL":"https:\/\/cdn4.clouddrive.com\/v1\/MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d"}],"type":"rax:object-cdn"},{"name":"cloudLoadBalancers","endpoints":[{"region":"SYD","tenantId":"829771","publicURL":"https:\/\/syd.loadbalancers.api.rackspacecloud.com\/v1.0\/829771"},{"region":"ORD","tenantId":"829771","publicURL":"https:\/\/ord.loadbalancers.api.rackspacecloud.com\/v1.0\/829771"},{"region":"DFW","tenantId":"829771","publicURL":"https:\/\/dfw.loadbalancers.api.rackspacecloud.com\/v1.0\/829771"}],"type":"rax:load-balancer"},{"name":"cloudBlockStorage","endpoints":[{"region":"SYD","tenantId":"829771","publicURL":"https:\/\/syd.blockstorage.api.rackspacecloud.com\/v1\/829771"},{"region":"ORD","tenantId":"829771","publicURL":"https:\/\/ord.blockstorage.api.rackspacecloud.com\/v1\/829771"},{"region":"DFW","tenantId":"829771","publicURL":"https:\/\/dfw.blockstorage.api.rackspacecloud.com\/v1\/829771"}],"type":"volume"},{"name":"cloudDatabases","endpoints":[{"region":"SYD","tenantId":"829771","publicURL":"https:\/\/syd.databases.api.rackspacecloud.com\/v1.0\/829771"},{"region":"DFW","tenantId":"829771","publicURL":"https:\/\/dfw.databases.api.rackspacecloud.com\/v1.0\/829771"},{"region":"ORD","tenantId":"829771","publicURL":"https:\/\/ord.databases.api.rackspacecloud.com\/v1.0\/829771"}],"type":"rax:database"},{"name":"cloudServersOpenStack","endpoints":[{"region":"SYD","tenantId":"829771","publicURL":"https:\/\/syd.servers.api.rackspacecloud.com\/v2\/829771","versionInfo":"https:\/\/syd.servers.api.rackspacecloud.com\/v2","versionList":"https:\/\/syd.servers.api.rackspacecloud.com\/","versionId":"2"},{"region":"DFW","tenantId":"829771","publicURL":"https:\/\/dfw.servers.api.rackspacecloud.com\/v2\/829771","versionInfo":"https:\/\/dfw.servers.api.rackspacecloud.com\/v2","versionList":"https:\/\/dfw.servers.api.rackspacecloud.com\/","versionId":"2"},{"region":"ORD","tenantId":"829771","publicURL":"https:\/\/ord.servers.api.rackspacecloud.com\/v2\/829771","versionInfo":"https:\/\/ord.servers.api.rackspacecloud.com\/v2","versionList":"https:\/\/ord.servers.api.rackspacecloud.com\/","versionId":"2"}],"type":"compute"},{"name":"cloudDNS","endpoints":[{"tenantId":"829771","publicURL":"https:\/\/dns.api.rackspacecloud.com\/v1.0\/829771"}],"type":"rax:dns"},{"name":"cloudBackup","endpoints":[{"tenantId":"829771","publicURL":"https:\/\/backup.api.rackspacecloud.com\/v1.0\/829771"}],"type":"rax:backup"},{"name":"cloudServers","endpoints":[{"tenantId":"829771","publicURL":"https:\/\/servers.api.rackspacecloud.com\/v1.0\/829771","versionInfo":"https:\/\/servers.api.rackspacecloud.com\/v1.0","versionList":"https:\/\/servers.api.rackspacecloud.com\/","versionId":"1.0"}],"type":"compute"},{"name":"cloudMonitoring","endpoints":[{"tenantId":"829771","publicURL":"https:\/\/monitoring.api.rackspacecloud.com\/v1.0\/829771"}],"type":"rax:monitor"}],"user":{"id":"356537","roles":[{"tenantId":"MossoCloudFS_51a1ae47-05df-400f-91cc-0a481d4ab24d","id":"5","description":"A
41
+ Role that allows a user access to keystone Service methods","name":"object-store:default"},{"tenantId":"829771","id":"6","description":"A
42
+ Role that allows a user access to keystone Service methods","name":"compute:default"},{"id":"3","description":"User
43
+ Admin Role.","name":"identity:user-admin"}],"name":"<rackspace-username>","RAX-AUTH:defaultRegion":"ORD"}}}'
44
44
  http_version:
45
- recorded_at: Tue, 28 May 2013 20:16:11 GMT
45
+ recorded_at: Fri, 28 Jun 2013 18:46:02 GMT
46
46
  - request:
47
47
  method: get
48
- uri: https://dfw.servers.api.rackspacecloud.com/v2/829771/servers/detail
48
+ uri: https://ord.servers.api.rackspacecloud.com/v2/829771/servers/detail
49
49
  body:
50
50
  encoding: US-ASCII
51
51
  string: ''
@@ -57,44 +57,41 @@ http_interactions:
57
57
  Accept:
58
58
  - application/json
59
59
  X-Auth-Token:
60
- - c8e0d8ec-c73d-48c5-9b80-548ef8f40dc4
60
+ - <rackspace-api-token>
61
61
  response:
62
62
  status:
63
63
  code: 200
64
64
  message:
65
65
  headers:
66
66
  Date:
67
- - Tue, 28 May 2013 20:16:12 GMT
67
+ - Fri, 28 Jun 2013 18:46:03 GMT
68
68
  Content-Length:
69
- - '1302'
69
+ - '1107'
70
70
  Content-Type:
71
71
  - application/json
72
72
  X-Compute-Request-Id:
73
- - req-0fb719cd-3ec8-4246-85a5-0c276fa1ad75
73
+ - req-a2dbb601-e7c8-4081-8beb-f9082316c705
74
74
  Server:
75
75
  - Jetty(8.0.y.z-SNAPSHOT)
76
76
  body:
77
77
  encoding: UTF-8
78
- string: '{"servers": [{"status": "ACTIVE", "updated": "2013-05-28T20:09:58Z",
79
- "hostId": "bb771e19097c2f6c7feae19a5d86527e24c34f57b31f0df46ff3cdc8", "addresses":
80
- {"public": [{"version": 6, "addr": "2001:4800:7810:0512:6ee9:7eb9:ff04:e242"},
81
- {"version": 4, "addr": "166.78.13.242"}], "private": [{"version": 4, "addr":
82
- "10.181.29.78"}]}, "links": [{"href": "https://dfw.servers.api.rackspacecloud.com/v2/829771/servers/bceb657a-a4a5-4531-9464-75abd9e6916d",
83
- "rel": "self"}, {"href": "https://dfw.servers.api.rackspacecloud.com/829771/servers/bceb657a-a4a5-4531-9464-75abd9e6916d",
84
- "rel": "bookmark"}], "image": {"id": "9922a7c7-5a42-4a56-bc6a-93f857ae2346",
85
- "links": [{"href": "https://dfw.servers.api.rackspacecloud.com/829771/images/9922a7c7-5a42-4a56-bc6a-93f857ae2346",
86
- "rel": "bookmark"}]}, "OS-EXT-STS:task_state": null, "OS-EXT-STS:vm_state":
87
- "active", "flavor": {"id": "2", "links": [{"href": "https://dfw.servers.api.rackspacecloud.com/829771/flavors/2",
88
- "rel": "bookmark"}]}, "id": "bceb657a-a4a5-4531-9464-75abd9e6916d", "user_id":
89
- "356537", "name": "divine-reef", "created": "2013-05-28T19:59:33Z", "tenant_id":
90
- "829771", "OS-DCF:diskConfig": "AUTO", "accessIPv4": "166.78.13.242", "accessIPv6":
91
- "2001:4800:7810:512:6ee9:7eb9:ff04:e242", "progress": 100, "OS-EXT-STS:power_state":
92
- 1, "metadata": {}}]}'
78
+ string: '{"servers": [{"status": "BUILD", "updated": "2013-06-28T18:45:56Z",
79
+ "hostId": "b942d6ed1da527403619f7e9a2be7d921437b9a8fa4a881e8f9cad6a", "addresses":
80
+ {}, "links": [{"href": "https://ord.servers.api.rackspacecloud.com/v2/829771/servers/ec463ae7-7e91-4ab0-95ee-84e6b116d5c8",
81
+ "rel": "self"}, {"href": "https://ord.servers.api.rackspacecloud.com/829771/servers/ec463ae7-7e91-4ab0-95ee-84e6b116d5c8",
82
+ "rel": "bookmark"}], "key_name": null, "image": {"id": "9922a7c7-5a42-4a56-bc6a-93f857ae2346",
83
+ "links": [{"href": "https://ord.servers.api.rackspacecloud.com/829771/images/9922a7c7-5a42-4a56-bc6a-93f857ae2346",
84
+ "rel": "bookmark"}]}, "OS-EXT-STS:task_state": "networking", "OS-EXT-STS:vm_state":
85
+ "building", "flavor": {"id": "2", "links": [{"href": "https://ord.servers.api.rackspacecloud.com/829771/flavors/2",
86
+ "rel": "bookmark"}]}, "id": "ec463ae7-7e91-4ab0-95ee-84e6b116d5c8", "user_id":
87
+ "356537", "name": "silly-saffron", "created": "2013-06-28T18:45:35Z", "tenant_id":
88
+ "829771", "OS-DCF:diskConfig": "AUTO", "accessIPv4": "", "accessIPv6": "",
89
+ "progress": 0, "OS-EXT-STS:power_state": 0, "metadata": {}}]}'
93
90
  http_version:
94
- recorded_at: Tue, 28 May 2013 20:16:12 GMT
91
+ recorded_at: Fri, 28 Jun 2013 18:46:03 GMT
95
92
  - request:
96
93
  method: delete
97
- uri: https://dfw.servers.api.rackspacecloud.com/v2/829771/servers/bceb657a-a4a5-4531-9464-75abd9e6916d
94
+ uri: https://ord.servers.api.rackspacecloud.com/v2/829771/servers/ec463ae7-7e91-4ab0-95ee-84e6b116d5c8
98
95
  body:
99
96
  encoding: US-ASCII
100
97
  string: ''
@@ -106,54 +103,25 @@ http_interactions:
106
103
  Accept:
107
104
  - application/json
108
105
  X-Auth-Token:
109
- - c8e0d8ec-c73d-48c5-9b80-548ef8f40dc4
106
+ - <rackspace-api-token>
110
107
  response:
111
108
  status:
112
109
  code: 204
113
110
  message:
114
111
  headers:
115
112
  Date:
116
- - Tue, 28 May 2013 20:16:13 GMT
113
+ - Fri, 28 Jun 2013 18:46:05 GMT
117
114
  Content-Length:
118
115
  - '0'
119
116
  Content-Type:
120
117
  - application/json
121
118
  X-Compute-Request-Id:
122
- - req-5126182b-80b0-40e1-a593-1e1c7c78347d
123
- Server:
124
- - Jetty(8.0.y.z-SNAPSHOT)
125
- body:
126
- encoding: UTF-8
127
- string: ''
128
- http_version:
129
- recorded_at: Tue, 28 May 2013 20:16:13 GMT
130
- - request:
131
- method: get
132
- uri: https://ord.servers.api.rackspacecloud.com/v2/829771/servers/detail
133
- body:
134
- encoding: US-ASCII
135
- string: ''
136
- headers:
137
- User-Agent:
138
- - fog/1.11.1
139
- Content-Type:
140
- - application/json
141
- Accept:
142
- - application/json
143
- X-Auth-Token:
144
- - c8e0d8ec-c73d-48c5-9b80-548ef8f40dc4
145
- response:
146
- status:
147
- code: 401
148
- message:
149
- headers:
150
- Content-Length:
151
- - '0'
119
+ - req-907467f1-0ebb-4bd6-9fc9-4b8c7659d542
152
120
  Server:
153
121
  - Jetty(8.0.y.z-SNAPSHOT)
154
122
  body:
155
123
  encoding: UTF-8
156
124
  string: ''
157
125
  http_version:
158
- recorded_at: Wed, 26 Jun 2013 21:44:37 GMT
126
+ recorded_at: Fri, 28 Jun 2013 18:46:05 GMT
159
127
  recorded_with: VCR 2.5.0