brightbox-cli 2.2.0 → 2.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +24 -0
- data/Gemfile.lock +5 -2
- data/brightbox-cli.gemspec +1 -1
- data/lib/brightbox/cli/config.rb +19 -0
- data/lib/brightbox-cli/accounts.rb +2 -2
- data/lib/brightbox-cli/api.rb +4 -4
- data/lib/brightbox-cli/commands/accounts/default.rb +1 -1
- data/lib/brightbox-cli/commands/accounts/list.rb +1 -1
- data/lib/brightbox-cli/commands/config/client-add.rb +2 -2
- data/lib/brightbox-cli/commands/config/client-default.rb +3 -3
- data/lib/brightbox-cli/commands/config/client-list.rb +6 -6
- data/lib/brightbox-cli/commands/config/client-remove.rb +4 -4
- data/lib/brightbox-cli/commands/config/user-add.rb +2 -2
- data/lib/brightbox-cli/commands/login.rb +53 -0
- data/lib/brightbox-cli/config/accounts.rb +5 -0
- data/lib/brightbox-cli/config/authentication_tokens.rb +10 -3
- data/lib/brightbox-cli/config/cache.rb +8 -12
- data/lib/brightbox-cli/config/clients.rb +14 -38
- data/lib/brightbox-cli/config/sections.rb +70 -13
- data/lib/brightbox-cli/config/user_application.rb +13 -5
- data/lib/brightbox-cli/config.rb +22 -14
- data/lib/brightbox-cli/connection_manager.rb +2 -2
- data/lib/brightbox-cli/gli_global_hooks.rb +25 -28
- data/lib/brightbox-cli/version.rb +1 -1
- data/lib/brightbox_cli.rb +4 -0
- data/spec/cassettes/Brightbox_BBConfig/_add_section/when_config_exists_and_overwrite_duplicates_is_false/does_not_update_the_config_file.yml +199 -0
- data/spec/cassettes/Brightbox_BBConfig/_add_section/when_config_exists_and_overwrite_duplicates_is_true/does_not_update_the_config_file.yml +199 -0
- data/spec/cassettes/Brightbox_BBConfig_add_login/when_altering_a_custom_option/does_not_alter_the_configuration.yml +99 -0
- data/spec/cassettes/Brightbox_BBConfig_add_login/when_altering_a_custom_option/updates_access_token.yml +99 -0
- data/spec/cassettes/Brightbox_BBConfig_add_login/when_altering_a_custom_option/updates_refresh_token.yml +99 -0
- data/spec/cassettes/Brightbox_BBConfig_add_login/when_configured_with_custom_options/does_not_alter_the_configuration.yml +99 -0
- data/spec/cassettes/Brightbox_BBConfig_add_login/when_configured_with_custom_options/updates_access_token.yml +99 -0
- data/spec/cassettes/Brightbox_BBConfig_add_login/when_configured_with_custom_options/updates_refresh_token.yml +99 -0
- data/spec/cassettes/Brightbox_BBConfig_add_login/when_logged_in_previously/does_not_alter_the_configuration.yml +149 -0
- data/spec/cassettes/Brightbox_BBConfig_add_login/when_logged_in_previously/updates_access_token.yml +149 -0
- data/spec/cassettes/Brightbox_BBConfig_add_login/when_logged_in_previously/updates_refresh_token.yml +149 -0
- data/spec/cassettes/Brightbox_BBConfig_add_login/when_no_config_exists/creates_the_configuration.yml +101 -0
- data/spec/cassettes/Brightbox_BBConfig_add_login/when_no_config_exists/refreshed_tokens.yml +101 -0
- data/spec/cassettes/Brightbox_BBConfig_add_login/when_using_an_email_and_suffix/creates_the_configuration.yml +101 -0
- data/spec/cassettes/Brightbox_BBConfig_add_login/when_using_an_email_and_suffix/refreshed_tokens.yml +101 -0
- data/spec/cassettes/brightbox_accounts/list/_when_access_token_expired_/does_not_report_invalid_token_errors.yml +64 -18
- data/spec/cassettes/brightbox_accounts/list/_when_no_tokens_/does_not_report_invalid_token_errors.yml +62 -16
- data/spec/cassettes/brightbox_login/when_alternative_client_credentials_are_given/does_not_error.yml +101 -0
- data/spec/cassettes/brightbox_login/when_alternative_client_credentials_are_given/does_not_prompt_to_rerun_the_command.yml +101 -0
- data/spec/cassettes/brightbox_login/when_alternative_client_credentials_are_given/prompts_for_the_password.yml +101 -0
- data/spec/cassettes/brightbox_login/when_alternative_client_credentials_are_given/requests_access_tokens.yml +101 -0
- data/spec/cassettes/brightbox_login/when_alternative_client_credentials_are_given/sets_up_the_config.yml +101 -0
- data/spec/cassettes/brightbox_login/when_custom_api/auth_URLs_are_given/does_not_error.yml +101 -0
- data/spec/cassettes/brightbox_login/when_custom_api/auth_URLs_are_given/does_not_prompt_to_rerun_the_command.yml +101 -0
- data/spec/cassettes/brightbox_login/when_custom_api/auth_URLs_are_given/prompts_for_the_password.yml +101 -0
- data/spec/cassettes/brightbox_login/when_custom_api/auth_URLs_are_given/requests_access_tokens.yml +101 -0
- data/spec/cassettes/brightbox_login/when_custom_api/auth_URLs_are_given/sets_up_the_config.yml +101 -0
- data/spec/cassettes/brightbox_login/when_default_account_is_passed/does_not_error.yml +51 -0
- data/spec/cassettes/brightbox_login/when_default_account_is_passed/does_not_prompt_to_rerun_the_command.yml +51 -0
- data/spec/cassettes/brightbox_login/when_default_account_is_passed/prompts_for_the_password.yml +51 -0
- data/spec/cassettes/brightbox_login/when_default_account_is_passed/requests_access_tokens.yml +51 -0
- data/spec/cassettes/brightbox_login/when_default_account_is_passed/sets_up_the_config.yml +51 -0
- data/spec/cassettes/brightbox_login/when_no_config_is_present/does_not_error.yml +101 -0
- data/spec/cassettes/brightbox_login/when_no_config_is_present/does_not_prompt_to_rerun_the_command.yml +101 -0
- data/spec/cassettes/brightbox_login/when_no_config_is_present/requests_access_tokens.yml +101 -0
- data/spec/cassettes/brightbox_login/when_no_config_is_present/sets_up_the_config.yml +101 -0
- data/spec/cassettes/brightbox_login/when_no_password_is_given/does_not_error.yml +101 -0
- data/spec/cassettes/brightbox_login/when_no_password_is_given/does_not_prompt_to_rerun_the_command.yml +101 -0
- data/spec/cassettes/brightbox_login/when_no_password_is_given/prompts_for_the_password.yml +101 -0
- data/spec/cassettes/brightbox_login/when_no_password_is_given/requests_access_tokens.yml +101 -0
- data/spec/cassettes/brightbox_login/when_no_password_is_given/sets_up_the_config.yml +101 -0
- data/spec/commands/accounts/list_spec.rb +1 -0
- data/spec/commands/login_spec.rb +239 -0
- data/spec/configs/user_app.ini +0 -2
- data/spec/spec_helper.rb +1 -0
- data/spec/support/config_helpers.rb +5 -0
- data/spec/unit/brightbox/account/all_spec.rb +1 -3
- data/spec/unit/brightbox/api/conn_spec.rb +3 -0
- data/spec/unit/brightbox/api/find_spec.rb +3 -0
- data/spec/unit/brightbox/bb_config/account_spec.rb +2 -0
- data/spec/unit/brightbox/bb_config/add_login_spec.rb +222 -0
- data/spec/unit/brightbox/bb_config/client_name_spec.rb +4 -12
- data/spec/unit/brightbox/bb_config/client_named_spec.rb +1 -1
- data/spec/unit/brightbox/bb_config/config_directory_exists_spec.rb +5 -2
- data/spec/unit/brightbox/bb_config/config_directory_spec.rb +4 -2
- data/spec/unit/brightbox/bb_config/config_spec.rb +4 -8
- data/spec/unit/brightbox/bb_config/default_account_spec.rb +10 -6
- data/spec/unit/brightbox/bb_config/find_or_set_default_account_spec.rb +2 -0
- data/spec/unit/brightbox/bb_config/renew_tokens_spec.rb +3 -0
- data/spec/unit/brightbox/bb_config/section_names_spec.rb +46 -0
- data/spec/unit/brightbox/bb_config/using_client_spec.rb +12 -12
- data/spec/unit/brightbox/bb_config_spec.rb +0 -1
- data/spec/unit/brightbox/cloud_ip/find_spec.rb +3 -0
- data/spec/unit/brightbox/config/user_application/to_fog_spec.rb +33 -29
- data/spec/unit/brightbox/config/user_application/valid_spec.rb +0 -32
- data/spec/unit/brightbox/connection_manager/fetch_connection_spec.rb +7 -3
- data/spec/unit/brightbox/firewall_policy/apply_to_spec.rb +3 -0
- data/spec/unit/brightbox/firewall_policy/create_spec.rb +3 -0
- data/spec/unit/brightbox/firewall_policy/destroy_spec.rb +3 -0
- data/spec/unit/brightbox/firewall_policy/find_or_call_spec.rb +3 -0
- data/spec/unit/brightbox/firewall_policy/find_spec.rb +3 -0
- data/spec/unit/brightbox/firewall_rule/create_spec.rb +3 -0
- data/spec/unit/brightbox/firewall_rule/destroy_spec.rb +3 -0
- data/spec/unit/brightbox/firewall_rule/find_spec.rb +3 -0
- data/spec/unit/brightbox/firewall_rule/from_policy_spec.rb +3 -0
- data/spec/unit/brightbox/server/destroy_spec.rb +4 -0
- data/spec/unit/brightbox/server/find_or_call_spec.rb +3 -0
- data/spec/unit/brightbox/server/find_spec.rb +4 -0
- data/spec/unit/brightbox/server/shutdown_spec.rb +4 -0
- data/spec/unit/brightbox/server/start_spec.rb +4 -0
- data/spec/unit/brightbox/server/stop_spec.rb +4 -0
- data/spec/unit/brightbox/server/update_spec.rb +4 -0
- data/spec/unit/brightbox/server_group/find_spec.rb +3 -0
- data/spec/unit/brightbox/user_collaboration/get_for_account_spec.rb +3 -0
- metadata +90 -3
@@ -0,0 +1,101 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: http://api.brightbox.dev/token
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"grant_type":"password","username":"jason.null@brightbox.com","password":"N:B3e%7Cmh"}'
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- fog-core/1.32.1
|
12
|
+
Authorization:
|
13
|
+
- Basic YXBwLTEyMzQ1Om1vY2J1aXBiaWFhNms2Yw==
|
14
|
+
Content-Type:
|
15
|
+
- application/json
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message:
|
20
|
+
headers:
|
21
|
+
Content-Type:
|
22
|
+
- application/json
|
23
|
+
Cache-Control:
|
24
|
+
- no-store
|
25
|
+
X-Oauth-Scopes:
|
26
|
+
- infrastructure, orbit
|
27
|
+
Content-Length:
|
28
|
+
- '190'
|
29
|
+
X-Content-Type-Options:
|
30
|
+
- nosniff
|
31
|
+
X-Ua-Compatible:
|
32
|
+
- IE=Edge
|
33
|
+
Etag:
|
34
|
+
- '"52cf652e4c8197b06a5df541b6c6e6b6"'
|
35
|
+
X-Request-Id:
|
36
|
+
- c41fe56cfea4d84c928af11c4ad27b60
|
37
|
+
X-Runtime:
|
38
|
+
- '0.086987'
|
39
|
+
Server:
|
40
|
+
- WEBrick/1.3.1 (Ruby/1.9.3/2014-11-13)
|
41
|
+
Date:
|
42
|
+
- Mon, 12 Oct 2015 11:34:18 GMT
|
43
|
+
Connection:
|
44
|
+
- Keep-Alive
|
45
|
+
body:
|
46
|
+
encoding: UTF-8
|
47
|
+
string: '{"access_token":"cd64dd737e020f9975a97c35e78e27e46442eb27","token_type":"Bearer","refresh_token":"00114bd8f6aa955911870efbb5f8b135dc6fc9c5","scope":"infrastructure,
|
48
|
+
orbit","expires_in":7200}'
|
49
|
+
http_version:
|
50
|
+
recorded_at: Mon, 12 Oct 2015 11:34:18 GMT
|
51
|
+
- request:
|
52
|
+
method: get
|
53
|
+
uri: http://api.brightbox.dev/1.0/accounts
|
54
|
+
body:
|
55
|
+
encoding: US-ASCII
|
56
|
+
string: ''
|
57
|
+
headers:
|
58
|
+
User-Agent:
|
59
|
+
- fog-core/1.32.1
|
60
|
+
Authorization:
|
61
|
+
- Bearer cd64dd737e020f9975a97c35e78e27e46442eb27
|
62
|
+
Content-Type:
|
63
|
+
- application/json
|
64
|
+
response:
|
65
|
+
status:
|
66
|
+
code: 200
|
67
|
+
message:
|
68
|
+
headers:
|
69
|
+
X-Oauth-Scopes:
|
70
|
+
- infrastructure, orbit
|
71
|
+
Content-Type:
|
72
|
+
- application/json; charset=utf-8
|
73
|
+
X-Ua-Compatible:
|
74
|
+
- IE=Edge
|
75
|
+
Etag:
|
76
|
+
- '"c9a269456e92ca15ff834e08ba6414ad"'
|
77
|
+
Cache-Control:
|
78
|
+
- max-age=0, private, must-revalidate
|
79
|
+
X-Request-Id:
|
80
|
+
- f4dde3adcaecea5e4df8f56927b328b5
|
81
|
+
X-Runtime:
|
82
|
+
- '0.044869'
|
83
|
+
Server:
|
84
|
+
- WEBrick/1.3.1 (Ruby/1.9.3/2014-11-13)
|
85
|
+
Date:
|
86
|
+
- Mon, 12 Oct 2015 11:34:18 GMT
|
87
|
+
Content-Length:
|
88
|
+
- '1611'
|
89
|
+
Connection:
|
90
|
+
- Keep-Alive
|
91
|
+
body:
|
92
|
+
encoding: UTF-8
|
93
|
+
string: '[{"id":"acc-12345","resource_type":"account","url":"https://api.gb1.brightbox.com/1.0/accounts/acc-12345","name":"CLI
|
94
|
+
test account","status":"active","ram_limit":3200000,"ram_used":0,"dbs_ram_limit":32768,"dbs_ram_used":0,"cloud_ips_limit":32,"cloud_ips_used":0,"load_balancers_limit":5,"load_balancers_used":0,"clients":[{"id":"cli-12345","resource_type":"api_client","url":"https://api.gb1.brightbox.com/1.0/api_clients/cli-12345","name":"CLI
|
95
|
+
test API client","description":"","revoked_at":null,"permissions_group":"full"}],"images":[],"servers":[],"load_balancers":[],"database_servers":[],"database_snapshots":[],"cloud_ips":[],"server_groups":[{"id":"grp-12345","resource_type":"server_group","url":"https://api.gb1.brightbox.com/1.0/server_groups/grp-12345","name":"default","description":"All
|
96
|
+
new servers are added to this group unless specified otherwise.","created_at":"2015-10-12T09:23:03Z","default":true}],"firewall_policies":[{"id":"fwp-12345","resource_type":"firewall_policy","url":"https://api.gb1.brightbox.com/1.0/firewall_policies/fwp-12345","default":true,"name":"default","created_at":"2015-10-12T09:23:03Z","description":"Applied
|
97
|
+
to the default server group."}],"owner":{"id":"usr-12345","resource_type":"user","url":"https://api.gb1.brightbox.com/1.0/users/usr-12345","name":"Jason
|
98
|
+
Null","email_address":"jason.null@brightbox.com"},"users":[],"zones":[{"id":"zon-12345","resource_type":"zone","url":"https://api.gb1.brightbox.com/1.0/zones/zon-12345","handle":"gb1-a"},{"id":"zon-12345","resource_type":"zone","url":"https://api.gb1.brightbox.com/1.0/zones/zon-12345","handle":"gb1-b"}]}]'
|
99
|
+
http_version:
|
100
|
+
recorded_at: Mon, 12 Oct 2015 11:34:18 GMT
|
101
|
+
recorded_with: VCR 2.5.0
|
data/spec/cassettes/Brightbox_BBConfig_add_login/when_using_an_email_and_suffix/refreshed_tokens.yml
ADDED
@@ -0,0 +1,101 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: http://api.brightbox.dev/token
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"grant_type":"password","username":"jason.null@brightbox.com","password":"N:B3e%7Cmh"}'
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- fog-core/1.32.1
|
12
|
+
Authorization:
|
13
|
+
- Basic YXBwLTEyMzQ1Om1vY2J1aXBiaWFhNms2Yw==
|
14
|
+
Content-Type:
|
15
|
+
- application/json
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message:
|
20
|
+
headers:
|
21
|
+
Content-Type:
|
22
|
+
- application/json
|
23
|
+
Cache-Control:
|
24
|
+
- no-store
|
25
|
+
X-Oauth-Scopes:
|
26
|
+
- infrastructure, orbit
|
27
|
+
Content-Length:
|
28
|
+
- '190'
|
29
|
+
X-Content-Type-Options:
|
30
|
+
- nosniff
|
31
|
+
X-Ua-Compatible:
|
32
|
+
- IE=Edge
|
33
|
+
Etag:
|
34
|
+
- '"7c6c299200a760215ff6d635fbfb87fa"'
|
35
|
+
X-Request-Id:
|
36
|
+
- 25a83af3475513c26604a8e675a2694f
|
37
|
+
X-Runtime:
|
38
|
+
- '0.169489'
|
39
|
+
Server:
|
40
|
+
- WEBrick/1.3.1 (Ruby/1.9.3/2014-11-13)
|
41
|
+
Date:
|
42
|
+
- Mon, 12 Oct 2015 11:34:18 GMT
|
43
|
+
Connection:
|
44
|
+
- Keep-Alive
|
45
|
+
body:
|
46
|
+
encoding: UTF-8
|
47
|
+
string: '{"access_token":"f1d7a05784f9bea5060fbcc4a9a46d5b6cf05dbe","token_type":"Bearer","refresh_token":"5b891e0affc1fa7d9e5462482e07f6bf3c0ad21f","scope":"infrastructure,
|
48
|
+
orbit","expires_in":7200}'
|
49
|
+
http_version:
|
50
|
+
recorded_at: Mon, 12 Oct 2015 11:34:18 GMT
|
51
|
+
- request:
|
52
|
+
method: get
|
53
|
+
uri: http://api.brightbox.dev/1.0/accounts
|
54
|
+
body:
|
55
|
+
encoding: US-ASCII
|
56
|
+
string: ''
|
57
|
+
headers:
|
58
|
+
User-Agent:
|
59
|
+
- fog-core/1.32.1
|
60
|
+
Authorization:
|
61
|
+
- Bearer f1d7a05784f9bea5060fbcc4a9a46d5b6cf05dbe
|
62
|
+
Content-Type:
|
63
|
+
- application/json
|
64
|
+
response:
|
65
|
+
status:
|
66
|
+
code: 200
|
67
|
+
message:
|
68
|
+
headers:
|
69
|
+
X-Oauth-Scopes:
|
70
|
+
- infrastructure, orbit
|
71
|
+
Content-Type:
|
72
|
+
- application/json; charset=utf-8
|
73
|
+
X-Ua-Compatible:
|
74
|
+
- IE=Edge
|
75
|
+
Etag:
|
76
|
+
- '"c9a269456e92ca15ff834e08ba6414ad"'
|
77
|
+
Cache-Control:
|
78
|
+
- max-age=0, private, must-revalidate
|
79
|
+
X-Request-Id:
|
80
|
+
- bec97c1b2f65ab03e869ba79280b3f0c
|
81
|
+
X-Runtime:
|
82
|
+
- '0.045946'
|
83
|
+
Server:
|
84
|
+
- WEBrick/1.3.1 (Ruby/1.9.3/2014-11-13)
|
85
|
+
Date:
|
86
|
+
- Mon, 12 Oct 2015 11:34:18 GMT
|
87
|
+
Content-Length:
|
88
|
+
- '1611'
|
89
|
+
Connection:
|
90
|
+
- Keep-Alive
|
91
|
+
body:
|
92
|
+
encoding: UTF-8
|
93
|
+
string: '[{"id":"acc-12345","resource_type":"account","url":"https://api.gb1.brightbox.com/1.0/accounts/acc-12345","name":"CLI
|
94
|
+
test account","status":"active","ram_limit":3200000,"ram_used":0,"dbs_ram_limit":32768,"dbs_ram_used":0,"cloud_ips_limit":32,"cloud_ips_used":0,"load_balancers_limit":5,"load_balancers_used":0,"clients":[{"id":"cli-12345","resource_type":"api_client","url":"https://api.gb1.brightbox.com/1.0/api_clients/cli-12345","name":"CLI
|
95
|
+
test API client","description":"","revoked_at":null,"permissions_group":"full"}],"images":[],"servers":[],"load_balancers":[],"database_servers":[],"database_snapshots":[],"cloud_ips":[],"server_groups":[{"id":"grp-12345","resource_type":"server_group","url":"https://api.gb1.brightbox.com/1.0/server_groups/grp-12345","name":"default","description":"All
|
96
|
+
new servers are added to this group unless specified otherwise.","created_at":"2015-10-12T09:23:03Z","default":true}],"firewall_policies":[{"id":"fwp-12345","resource_type":"firewall_policy","url":"https://api.gb1.brightbox.com/1.0/firewall_policies/fwp-12345","default":true,"name":"default","created_at":"2015-10-12T09:23:03Z","description":"Applied
|
97
|
+
to the default server group."}],"owner":{"id":"usr-12345","resource_type":"user","url":"https://api.gb1.brightbox.com/1.0/users/usr-12345","name":"Jason
|
98
|
+
Null","email_address":"jason.null@brightbox.com"},"users":[],"zones":[{"id":"zon-12345","resource_type":"zone","url":"https://api.gb1.brightbox.com/1.0/zones/zon-12345","handle":"gb1-a"},{"id":"zon-12345","resource_type":"zone","url":"https://api.gb1.brightbox.com/1.0/zones/zon-12345","handle":"gb1-b"}]}]'
|
99
|
+
http_version:
|
100
|
+
recorded_at: Mon, 12 Oct 2015 11:34:18 GMT
|
101
|
+
recorded_with: VCR 2.5.0
|
@@ -16,7 +16,7 @@ http_interactions:
|
|
16
16
|
response:
|
17
17
|
status:
|
18
18
|
code: 401
|
19
|
-
message:
|
19
|
+
message:
|
20
20
|
headers:
|
21
21
|
WWW-Authenticate:
|
22
22
|
- OAuth error="invalid_token"
|
@@ -38,7 +38,7 @@ http_interactions:
|
|
38
38
|
encoding: UTF-8
|
39
39
|
string: '{"error":"invalid_token","error_description":"The OAuth token can not
|
40
40
|
be found"}'
|
41
|
-
http_version:
|
41
|
+
http_version:
|
42
42
|
recorded_at: Wed, 28 Aug 2013 14:50:08 GMT
|
43
43
|
- request:
|
44
44
|
method: post
|
@@ -56,7 +56,7 @@ http_interactions:
|
|
56
56
|
response:
|
57
57
|
status:
|
58
58
|
code: 400
|
59
|
-
message:
|
59
|
+
message:
|
60
60
|
headers:
|
61
61
|
X-Frame-Options:
|
62
62
|
- sameorigin
|
@@ -84,7 +84,7 @@ http_interactions:
|
|
84
84
|
provided is invalid, the client failed to authenticate, the client did not
|
85
85
|
include its credentials, provided multiple client credentials, or used unsupported
|
86
86
|
credentials type."}'
|
87
|
-
http_version:
|
87
|
+
http_version:
|
88
88
|
recorded_at: Wed, 28 Aug 2013 14:50:08 GMT
|
89
89
|
- request:
|
90
90
|
method: get
|
@@ -102,7 +102,7 @@ http_interactions:
|
|
102
102
|
response:
|
103
103
|
status:
|
104
104
|
code: 401
|
105
|
-
message:
|
105
|
+
message:
|
106
106
|
headers:
|
107
107
|
WWW-Authenticate:
|
108
108
|
- OAuth error="invalid_token"
|
@@ -124,7 +124,7 @@ http_interactions:
|
|
124
124
|
encoding: UTF-8
|
125
125
|
string: '{"error":"invalid_token","error_description":"The OAuth token can not
|
126
126
|
be found"}'
|
127
|
-
http_version:
|
127
|
+
http_version:
|
128
128
|
recorded_at: Wed, 28 Aug 2013 14:50:08 GMT
|
129
129
|
- request:
|
130
130
|
method: post
|
@@ -142,7 +142,7 @@ http_interactions:
|
|
142
142
|
response:
|
143
143
|
status:
|
144
144
|
code: 200
|
145
|
-
message:
|
145
|
+
message:
|
146
146
|
headers:
|
147
147
|
X-Frame-Options:
|
148
148
|
- sameorigin
|
@@ -169,7 +169,7 @@ http_interactions:
|
|
169
169
|
body:
|
170
170
|
encoding: UTF-8
|
171
171
|
string: '{"access_token":"d003e4f0970b948af8e35d3ed9f3531cdd6e2154","expires_in":7200,"refresh_token":"dcd32790159f852756dadf8bed12cc3369c7b448"}'
|
172
|
-
http_version:
|
172
|
+
http_version:
|
173
173
|
recorded_at: Wed, 28 Aug 2013 14:50:09 GMT
|
174
174
|
- request:
|
175
175
|
method: post
|
@@ -187,7 +187,7 @@ http_interactions:
|
|
187
187
|
response:
|
188
188
|
status:
|
189
189
|
code: 400
|
190
|
-
message:
|
190
|
+
message:
|
191
191
|
headers:
|
192
192
|
X-Frame-Options:
|
193
193
|
- sameorigin
|
@@ -215,7 +215,7 @@ http_interactions:
|
|
215
215
|
provided is invalid, the client failed to authenticate, the client did not
|
216
216
|
include its credentials, provided multiple client credentials, or used unsupported
|
217
217
|
credentials type."}'
|
218
|
-
http_version:
|
218
|
+
http_version:
|
219
219
|
recorded_at: Wed, 28 Aug 2013 14:54:24 GMT
|
220
220
|
- request:
|
221
221
|
method: post
|
@@ -233,7 +233,7 @@ http_interactions:
|
|
233
233
|
response:
|
234
234
|
status:
|
235
235
|
code: 400
|
236
|
-
message:
|
236
|
+
message:
|
237
237
|
headers:
|
238
238
|
X-Frame-Options:
|
239
239
|
- sameorigin
|
@@ -259,7 +259,7 @@ http_interactions:
|
|
259
259
|
encoding: UTF-8
|
260
260
|
string: '{"error":"unauthorized_client","error_description":"The authenticated
|
261
261
|
client is not authorized to use the access grant type provided."}'
|
262
|
-
http_version:
|
262
|
+
http_version:
|
263
263
|
recorded_at: Wed, 18 Sep 2013 15:18:57 GMT
|
264
264
|
- request:
|
265
265
|
method: post
|
@@ -277,7 +277,7 @@ http_interactions:
|
|
277
277
|
response:
|
278
278
|
status:
|
279
279
|
code: 400
|
280
|
-
message:
|
280
|
+
message:
|
281
281
|
headers:
|
282
282
|
X-Frame-Options:
|
283
283
|
- sameorigin
|
@@ -303,7 +303,7 @@ http_interactions:
|
|
303
303
|
encoding: UTF-8
|
304
304
|
string: '{"error":"unauthorized_client","error_description":"The authenticated
|
305
305
|
client is not authorized to use the access grant type provided."}'
|
306
|
-
http_version:
|
306
|
+
http_version:
|
307
307
|
recorded_at: Wed, 18 Sep 2013 15:18:57 GMT
|
308
308
|
- request:
|
309
309
|
method: post
|
@@ -321,7 +321,7 @@ http_interactions:
|
|
321
321
|
response:
|
322
322
|
status:
|
323
323
|
code: 400
|
324
|
-
message:
|
324
|
+
message:
|
325
325
|
headers:
|
326
326
|
X-Frame-Options:
|
327
327
|
- sameorigin
|
@@ -349,7 +349,7 @@ http_interactions:
|
|
349
349
|
is invalid, expired, or revoked (e.g. invalid assertion, expired authorization
|
350
350
|
token, bad end-user password credentials, or mismatching authorization code
|
351
351
|
and redirection URI)."}'
|
352
|
-
http_version:
|
352
|
+
http_version:
|
353
353
|
recorded_at: Wed, 18 Sep 2013 15:19:02 GMT
|
354
354
|
- request:
|
355
355
|
method: post
|
@@ -367,7 +367,7 @@ http_interactions:
|
|
367
367
|
response:
|
368
368
|
status:
|
369
369
|
code: 401
|
370
|
-
message:
|
370
|
+
message:
|
371
371
|
headers:
|
372
372
|
X-Frame-Options:
|
373
373
|
- sameorigin
|
@@ -394,6 +394,52 @@ http_interactions:
|
|
394
394
|
body:
|
395
395
|
encoding: UTF-8
|
396
396
|
string: '{"error":"invalid_client"}'
|
397
|
-
http_version:
|
397
|
+
http_version:
|
398
398
|
recorded_at: Wed, 18 Sep 2013 15:19:35 GMT
|
399
|
+
- request:
|
400
|
+
method: post
|
401
|
+
uri: http://api.brightbox.dev/token
|
402
|
+
body:
|
403
|
+
encoding: UTF-8
|
404
|
+
string: '{"grant_type":"refresh_token","refresh_token":"6846e655733a4fc36913c6c7e7bf8cb8fe7940b8"}'
|
405
|
+
headers:
|
406
|
+
User-Agent:
|
407
|
+
- fog-core/1.32.1
|
408
|
+
Authorization:
|
409
|
+
- Basic YXBwLTEyMzQ1Om1vY2J1aXBiaWFhNms2Yw==
|
410
|
+
Content-Type:
|
411
|
+
- application/json
|
412
|
+
response:
|
413
|
+
status:
|
414
|
+
code: 400
|
415
|
+
message:
|
416
|
+
headers:
|
417
|
+
Content-Type:
|
418
|
+
- application/json
|
419
|
+
Cache-Control:
|
420
|
+
- no-store
|
421
|
+
Content-Length:
|
422
|
+
- '250'
|
423
|
+
X-Content-Type-Options:
|
424
|
+
- nosniff
|
425
|
+
X-Ua-Compatible:
|
426
|
+
- IE=Edge
|
427
|
+
X-Request-Id:
|
428
|
+
- 971f3fc1ae009572f5d2cef69846285a
|
429
|
+
X-Runtime:
|
430
|
+
- '0.435538'
|
431
|
+
Server:
|
432
|
+
- WEBrick/1.3.1 (Ruby/1.9.3/2014-11-13)
|
433
|
+
Date:
|
434
|
+
- Mon, 19 Oct 2015 15:08:07 GMT
|
435
|
+
Connection:
|
436
|
+
- Keep-Alive
|
437
|
+
body:
|
438
|
+
encoding: UTF-8
|
439
|
+
string: '{"error":"invalid_grant","error_description":"The provided access grant
|
440
|
+
is invalid, expired, or revoked (e.g. invalid assertion, expired authorization
|
441
|
+
token, bad end-user password credentials, or mismatching authorization code
|
442
|
+
and redirection URI)."}'
|
443
|
+
http_version:
|
444
|
+
recorded_at: Mon, 19 Oct 2015 15:08:07 GMT
|
399
445
|
recorded_with: VCR 2.5.0
|
@@ -16,7 +16,7 @@ http_interactions:
|
|
16
16
|
response:
|
17
17
|
status:
|
18
18
|
code: 400
|
19
|
-
message:
|
19
|
+
message:
|
20
20
|
headers:
|
21
21
|
X-Frame-Options:
|
22
22
|
- sameorigin
|
@@ -42,7 +42,7 @@ http_interactions:
|
|
42
42
|
encoding: UTF-8
|
43
43
|
string: '{"error":"unauthorized_client","error_description":"The authenticated
|
44
44
|
client is not authorized to use the access grant type provided."}'
|
45
|
-
http_version:
|
45
|
+
http_version:
|
46
46
|
recorded_at: Tue, 27 Aug 2013 15:11:59 GMT
|
47
47
|
- request:
|
48
48
|
method: get
|
@@ -60,7 +60,7 @@ http_interactions:
|
|
60
60
|
response:
|
61
61
|
status:
|
62
62
|
code: 401
|
63
|
-
message:
|
63
|
+
message:
|
64
64
|
headers:
|
65
65
|
WWW-Authenticate:
|
66
66
|
- OAuth error="invalid_token"
|
@@ -82,7 +82,7 @@ http_interactions:
|
|
82
82
|
encoding: UTF-8
|
83
83
|
string: '{"error":"invalid_token","error_description":"The OAuth token can not
|
84
84
|
be found"}'
|
85
|
-
http_version:
|
85
|
+
http_version:
|
86
86
|
recorded_at: Tue, 27 Aug 2013 15:11:59 GMT
|
87
87
|
- request:
|
88
88
|
method: post
|
@@ -100,7 +100,7 @@ http_interactions:
|
|
100
100
|
response:
|
101
101
|
status:
|
102
102
|
code: 400
|
103
|
-
message:
|
103
|
+
message:
|
104
104
|
headers:
|
105
105
|
X-Frame-Options:
|
106
106
|
- sameorigin
|
@@ -126,7 +126,7 @@ http_interactions:
|
|
126
126
|
encoding: UTF-8
|
127
127
|
string: '{"error":"unauthorized_client","error_description":"The authenticated
|
128
128
|
client is not authorized to use the access grant type provided."}'
|
129
|
-
http_version:
|
129
|
+
http_version:
|
130
130
|
recorded_at: Tue, 27 Aug 2013 15:11:59 GMT
|
131
131
|
- request:
|
132
132
|
method: get
|
@@ -144,7 +144,7 @@ http_interactions:
|
|
144
144
|
response:
|
145
145
|
status:
|
146
146
|
code: 401
|
147
|
-
message:
|
147
|
+
message:
|
148
148
|
headers:
|
149
149
|
WWW-Authenticate:
|
150
150
|
- OAuth error="invalid_token"
|
@@ -166,7 +166,7 @@ http_interactions:
|
|
166
166
|
encoding: UTF-8
|
167
167
|
string: '{"error":"invalid_token","error_description":"The OAuth token can not
|
168
168
|
be found"}'
|
169
|
-
http_version:
|
169
|
+
http_version:
|
170
170
|
recorded_at: Tue, 27 Aug 2013 15:11:59 GMT
|
171
171
|
- request:
|
172
172
|
method: post
|
@@ -184,7 +184,7 @@ http_interactions:
|
|
184
184
|
response:
|
185
185
|
status:
|
186
186
|
code: 200
|
187
|
-
message:
|
187
|
+
message:
|
188
188
|
headers:
|
189
189
|
X-Frame-Options:
|
190
190
|
- sameorigin
|
@@ -211,7 +211,7 @@ http_interactions:
|
|
211
211
|
body:
|
212
212
|
encoding: UTF-8
|
213
213
|
string: '{"access_token":"cf9d63fa39bf6f7bedad62c461f020e92d8f1e44","expires_in":7200,"refresh_token":"7b574d091da700939a4cebcd1938ad4b547b1d00"}'
|
214
|
-
http_version:
|
214
|
+
http_version:
|
215
215
|
recorded_at: Tue, 27 Aug 2013 15:11:59 GMT
|
216
216
|
- request:
|
217
217
|
method: post
|
@@ -229,7 +229,7 @@ http_interactions:
|
|
229
229
|
response:
|
230
230
|
status:
|
231
231
|
code: 200
|
232
|
-
message:
|
232
|
+
message:
|
233
233
|
headers:
|
234
234
|
X-Frame-Options:
|
235
235
|
- sameorigin
|
@@ -256,7 +256,7 @@ http_interactions:
|
|
256
256
|
body:
|
257
257
|
encoding: UTF-8
|
258
258
|
string: '{"access_token":"e75c77ba85740b2d572e15bbe75595ffc7f5814a","expires_in":7200}'
|
259
|
-
http_version:
|
259
|
+
http_version:
|
260
260
|
recorded_at: Tue, 27 Aug 2013 16:54:19 GMT
|
261
261
|
- request:
|
262
262
|
method: post
|
@@ -274,7 +274,7 @@ http_interactions:
|
|
274
274
|
response:
|
275
275
|
status:
|
276
276
|
code: 200
|
277
|
-
message:
|
277
|
+
message:
|
278
278
|
headers:
|
279
279
|
X-Frame-Options:
|
280
280
|
- sameorigin
|
@@ -301,7 +301,7 @@ http_interactions:
|
|
301
301
|
body:
|
302
302
|
encoding: UTF-8
|
303
303
|
string: '{"access_token":"7e65f560ecbca978f15131faa5071d120b9986f2","expires_in":7200}'
|
304
|
-
http_version:
|
304
|
+
http_version:
|
305
305
|
recorded_at: Wed, 28 Aug 2013 08:50:46 GMT
|
306
306
|
- request:
|
307
307
|
method: post
|
@@ -319,7 +319,7 @@ http_interactions:
|
|
319
319
|
response:
|
320
320
|
status:
|
321
321
|
code: 400
|
322
|
-
message:
|
322
|
+
message:
|
323
323
|
headers:
|
324
324
|
X-Frame-Options:
|
325
325
|
- sameorigin
|
@@ -347,6 +347,52 @@ http_interactions:
|
|
347
347
|
is invalid, expired, or revoked (e.g. invalid assertion, expired authorization
|
348
348
|
token, bad end-user password credentials, or mismatching authorization code
|
349
349
|
and redirection URI)."}'
|
350
|
-
http_version:
|
350
|
+
http_version:
|
351
351
|
recorded_at: Wed, 18 Sep 2013 15:15:36 GMT
|
352
|
+
- request:
|
353
|
+
method: post
|
354
|
+
uri: http://api.brightbox.dev/token
|
355
|
+
body:
|
356
|
+
encoding: UTF-8
|
357
|
+
string: '{"grant_type":"refresh_token","refresh_token":"305ae4a60568a02d606744372dc7b8a2b80d7a8e"}'
|
358
|
+
headers:
|
359
|
+
User-Agent:
|
360
|
+
- fog-core/1.32.1
|
361
|
+
Authorization:
|
362
|
+
- Basic YXBwLTEyMzQ1Om1vY2J1aXBiaWFhNms2Yw==
|
363
|
+
Content-Type:
|
364
|
+
- application/json
|
365
|
+
response:
|
366
|
+
status:
|
367
|
+
code: 400
|
368
|
+
message:
|
369
|
+
headers:
|
370
|
+
Content-Type:
|
371
|
+
- application/json
|
372
|
+
Cache-Control:
|
373
|
+
- no-store
|
374
|
+
Content-Length:
|
375
|
+
- '250'
|
376
|
+
X-Content-Type-Options:
|
377
|
+
- nosniff
|
378
|
+
X-Ua-Compatible:
|
379
|
+
- IE=Edge
|
380
|
+
X-Request-Id:
|
381
|
+
- 135237d4586256c6c21c2a0ad64399d2
|
382
|
+
X-Runtime:
|
383
|
+
- '0.012657'
|
384
|
+
Server:
|
385
|
+
- WEBrick/1.3.1 (Ruby/1.9.3/2014-11-13)
|
386
|
+
Date:
|
387
|
+
- Mon, 19 Oct 2015 15:46:27 GMT
|
388
|
+
Connection:
|
389
|
+
- Keep-Alive
|
390
|
+
body:
|
391
|
+
encoding: UTF-8
|
392
|
+
string: '{"error":"invalid_grant","error_description":"The provided access grant
|
393
|
+
is invalid, expired, or revoked (e.g. invalid assertion, expired authorization
|
394
|
+
token, bad end-user password credentials, or mismatching authorization code
|
395
|
+
and redirection URI)."}'
|
396
|
+
http_version:
|
397
|
+
recorded_at: Mon, 19 Oct 2015 15:46:27 GMT
|
352
398
|
recorded_with: VCR 2.5.0
|
data/spec/cassettes/brightbox_login/when_alternative_client_credentials_are_given/does_not_error.yml
ADDED
@@ -0,0 +1,101 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: http://api.brightbox.dev/token
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"grant_type":"password","username":"jason.null@brightbox.com","password":"N:B3e%7Cmh"}'
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- fog-core/1.32.1
|
12
|
+
Authorization:
|
13
|
+
- Basic YXBwLTEyMzQ1Om1vY2J1aXBiaWFhNms2Yw==
|
14
|
+
Content-Type:
|
15
|
+
- application/json
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message:
|
20
|
+
headers:
|
21
|
+
Content-Type:
|
22
|
+
- application/json
|
23
|
+
Cache-Control:
|
24
|
+
- no-store
|
25
|
+
X-Oauth-Scopes:
|
26
|
+
- infrastructure, orbit
|
27
|
+
Content-Length:
|
28
|
+
- '190'
|
29
|
+
X-Content-Type-Options:
|
30
|
+
- nosniff
|
31
|
+
X-Ua-Compatible:
|
32
|
+
- IE=Edge
|
33
|
+
Etag:
|
34
|
+
- '"8427a5b33563d107f36f432b571b1aea"'
|
35
|
+
X-Request-Id:
|
36
|
+
- a69ad322d55ff6ef493a47eca023909d
|
37
|
+
X-Runtime:
|
38
|
+
- '0.087780'
|
39
|
+
Server:
|
40
|
+
- WEBrick/1.3.1 (Ruby/1.9.3/2014-11-13)
|
41
|
+
Date:
|
42
|
+
- Mon, 12 Oct 2015 14:53:53 GMT
|
43
|
+
Connection:
|
44
|
+
- Keep-Alive
|
45
|
+
body:
|
46
|
+
encoding: UTF-8
|
47
|
+
string: '{"access_token":"44320b29286077c44f14c4efdfed70f63f4a8361","token_type":"Bearer","refresh_token":"759b2b28c228948a0ba5d07a89f39f9e268a95c0","scope":"infrastructure,
|
48
|
+
orbit","expires_in":7200}'
|
49
|
+
http_version:
|
50
|
+
recorded_at: Mon, 12 Oct 2015 14:53:53 GMT
|
51
|
+
- request:
|
52
|
+
method: get
|
53
|
+
uri: http://api.brightbox.dev/1.0/accounts
|
54
|
+
body:
|
55
|
+
encoding: US-ASCII
|
56
|
+
string: ''
|
57
|
+
headers:
|
58
|
+
User-Agent:
|
59
|
+
- fog-core/1.32.1
|
60
|
+
Authorization:
|
61
|
+
- Bearer 44320b29286077c44f14c4efdfed70f63f4a8361
|
62
|
+
Content-Type:
|
63
|
+
- application/json
|
64
|
+
response:
|
65
|
+
status:
|
66
|
+
code: 200
|
67
|
+
message:
|
68
|
+
headers:
|
69
|
+
X-Oauth-Scopes:
|
70
|
+
- infrastructure, orbit
|
71
|
+
Content-Type:
|
72
|
+
- application/json; charset=utf-8
|
73
|
+
X-Ua-Compatible:
|
74
|
+
- IE=Edge
|
75
|
+
Etag:
|
76
|
+
- '"c9a269456e92ca15ff834e08ba6414ad"'
|
77
|
+
Cache-Control:
|
78
|
+
- max-age=0, private, must-revalidate
|
79
|
+
X-Request-Id:
|
80
|
+
- 673b66619adee67e28f49368f32c6ffa
|
81
|
+
X-Runtime:
|
82
|
+
- '0.126722'
|
83
|
+
Server:
|
84
|
+
- WEBrick/1.3.1 (Ruby/1.9.3/2014-11-13)
|
85
|
+
Date:
|
86
|
+
- Mon, 12 Oct 2015 14:53:53 GMT
|
87
|
+
Content-Length:
|
88
|
+
- '1611'
|
89
|
+
Connection:
|
90
|
+
- Keep-Alive
|
91
|
+
body:
|
92
|
+
encoding: UTF-8
|
93
|
+
string: '[{"id":"acc-12345","resource_type":"account","url":"https://api.gb1.brightbox.com/1.0/accounts/acc-12345","name":"CLI
|
94
|
+
test account","status":"active","ram_limit":3200000,"ram_used":0,"dbs_ram_limit":32768,"dbs_ram_used":0,"cloud_ips_limit":32,"cloud_ips_used":0,"load_balancers_limit":5,"load_balancers_used":0,"clients":[{"id":"cli-12345","resource_type":"api_client","url":"https://api.gb1.brightbox.com/1.0/api_clients/cli-12345","name":"CLI
|
95
|
+
test API client","description":"","revoked_at":null,"permissions_group":"full"}],"images":[],"servers":[],"load_balancers":[],"database_servers":[],"database_snapshots":[],"cloud_ips":[],"server_groups":[{"id":"grp-12345","resource_type":"server_group","url":"https://api.gb1.brightbox.com/1.0/server_groups/grp-12345","name":"default","description":"All
|
96
|
+
new servers are added to this group unless specified otherwise.","created_at":"2015-10-12T09:23:03Z","default":true}],"firewall_policies":[{"id":"fwp-12345","resource_type":"firewall_policy","url":"https://api.gb1.brightbox.com/1.0/firewall_policies/fwp-12345","default":true,"name":"default","created_at":"2015-10-12T09:23:03Z","description":"Applied
|
97
|
+
to the default server group."}],"owner":{"id":"usr-12345","resource_type":"user","url":"https://api.gb1.brightbox.com/1.0/users/usr-12345","name":"Jason
|
98
|
+
Null","email_address":"jason.null@brightbox.com"},"users":[],"zones":[{"id":"zon-12345","resource_type":"zone","url":"https://api.gb1.brightbox.com/1.0/zones/zon-12345","handle":"gb1-a"},{"id":"zon-12345","resource_type":"zone","url":"https://api.gb1.brightbox.com/1.0/zones/zon-12345","handle":"gb1-b"}]}]'
|
99
|
+
http_version:
|
100
|
+
recorded_at: Mon, 12 Oct 2015 14:53:53 GMT
|
101
|
+
recorded_with: VCR 2.5.0
|