polytrix 0.0.1 → 0.1.0.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (238) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -2
  3. data/.rspec +1 -6
  4. data/.rubocop-todo.yml +19 -0
  5. data/.rubocop.yml +10 -0
  6. data/.travis.yml +11 -0
  7. data/Gemfile +0 -16
  8. data/README.md +119 -28
  9. data/Rakefile +18 -123
  10. data/bin/polytrix +5 -0
  11. data/doc-src/_markdown.md +5 -0
  12. data/doc-src/default_bootstrap.md +13 -0
  13. data/docs/influences.md +28 -0
  14. data/docs/samples/code2doc/java/HelloWorld.md +13 -0
  15. data/docs/samples/code2doc/java/Quine.md +33 -0
  16. data/docs/samples/code2doc/python/hello_world.md +3 -0
  17. data/docs/samples/code2doc/python/quine.md +4 -0
  18. data/docs/samples/code2doc/ruby/hello_world.md +7 -0
  19. data/features/execution.feature +67 -0
  20. data/features/fixtures/configs/empty.yml +12 -0
  21. data/features/fixtures/configs/hello_world.yml +10 -0
  22. data/features/fixtures/spec/polytrix_merge.rb +5 -0
  23. data/features/fixtures/spec/polytrix_spec.rb +10 -0
  24. data/features/reporting.feature +140 -0
  25. data/features/step_definitions/sdk_steps.rb +12 -0
  26. data/features/support/env.rb +8 -0
  27. data/lib/polytrix/challenge.rb +20 -7
  28. data/lib/polytrix/challenge_runner.rb +9 -44
  29. data/lib/polytrix/cli/add.rb +67 -0
  30. data/lib/polytrix/cli/report.rb +88 -0
  31. data/lib/polytrix/cli/reports/hash_reporter.rb +30 -0
  32. data/lib/polytrix/cli/reports/json_reporter.rb +14 -0
  33. data/lib/polytrix/cli/reports/markdown_reporter.rb +23 -0
  34. data/lib/polytrix/cli/reports/yaml_reporter.rb +14 -0
  35. data/lib/polytrix/cli.rb +158 -0
  36. data/lib/polytrix/configuration.rb +65 -4
  37. data/lib/polytrix/core/file_system_helper.rb +75 -0
  38. data/lib/polytrix/core/implementor.rb +31 -3
  39. data/lib/polytrix/documentation/code_segmenter.rb +168 -0
  40. data/lib/polytrix/documentation/comment_styles.rb +87 -0
  41. data/lib/polytrix/documentation/helpers/code_helper.rb +85 -0
  42. data/lib/polytrix/documentation/view_helper.rb +21 -0
  43. data/lib/polytrix/documentation_generator.rb +59 -10
  44. data/lib/polytrix/executor.rb +89 -0
  45. data/lib/polytrix/logger.rb +17 -0
  46. data/lib/polytrix/manifest.rb +64 -7
  47. data/lib/polytrix/result.rb +16 -2
  48. data/lib/polytrix/rspec/documentation_formatter.rb +41 -16
  49. data/lib/polytrix/rspec/yaml_report.rb +51 -0
  50. data/lib/polytrix/rspec.rb +32 -53
  51. data/lib/polytrix/runners/middleware/feature_executor.rb +4 -3
  52. data/lib/polytrix/runners/middleware/setup_env_vars.rb +6 -4
  53. data/lib/polytrix/validation.rb +20 -0
  54. data/lib/polytrix/validations.rb +23 -0
  55. data/lib/polytrix/validator.rb +20 -0
  56. data/lib/polytrix/validator_registry.rb +34 -0
  57. data/lib/polytrix/version.rb +1 -1
  58. data/lib/polytrix.rb +125 -22
  59. data/polytrix.gemspec +7 -2
  60. data/polytrix.rb +6 -0
  61. data/polytrix_tests.yml +20 -0
  62. data/resources/code_sample.tt +2 -0
  63. data/samples/.gitignore +2 -0
  64. data/samples/_markdown.md +5 -0
  65. data/samples/default_bootstrap.rb +14 -0
  66. data/samples/polytrix.rb +28 -0
  67. data/samples/polytrix_cli.sh +7 -0
  68. data/samples/polytrix_tests.yml +10 -0
  69. data/{sdks/fog → samples}/scripts/bootstrap +0 -2
  70. data/samples/scripts/wrapper +7 -0
  71. data/samples/sdks/custom/polytrix.yml +2 -0
  72. data/samples/sdks/java/.gitignore +2 -0
  73. data/samples/sdks/java/build.gradle +14 -0
  74. data/samples/sdks/java/challenges/HelloWorld.java +10 -0
  75. data/samples/sdks/java/challenges/Quine.java +31 -0
  76. data/samples/sdks/java/code_sample.tt +11 -0
  77. data/samples/sdks/java/scripts/bootstrap +2 -0
  78. data/samples/sdks/java/scripts/wrapper +8 -0
  79. data/samples/sdks/python/challenges/hello_world.py +2 -0
  80. data/samples/sdks/python/challenges/quine.py +2 -0
  81. data/{sdks/pkgcloud → samples/sdks/python}/scripts/wrapper +1 -1
  82. data/samples/sdks/ruby/challenges/hello_world.rb +4 -0
  83. data/scripts/bootstrap +1 -9
  84. data/scripts/wrapper +7 -0
  85. data/spec/fabricators/challenge_fabricator.rb +17 -0
  86. data/spec/fabricators/manifest_fabricator.rb +50 -0
  87. data/spec/fabricators/validator_fabricator.rb +12 -0
  88. data/spec/fixtures/{polytrix.yml → polytrix_tests.yml} +0 -0
  89. data/spec/fixtures/src-doc/_scenario.md.erb +1 -0
  90. data/spec/polytrix/challenge_runner_spec.rb +3 -3
  91. data/spec/polytrix/challenge_spec.rb +3 -4
  92. data/spec/polytrix/cli_spec.rb +39 -0
  93. data/spec/polytrix/configuration_spec.rb +45 -1
  94. data/spec/polytrix/documentation/helpers/code_helper_spec.rb +120 -0
  95. data/spec/polytrix/documentation_generator_spec.rb +41 -20
  96. data/spec/polytrix/file_finder_spec.rb +4 -3
  97. data/spec/polytrix/implementor_spec.rb +33 -0
  98. data/spec/polytrix/manifest_spec.rb +32 -14
  99. data/spec/polytrix/middleware/feature_executor_spec.rb +1 -1
  100. data/spec/polytrix/result_spec.rb +49 -0
  101. data/spec/polytrix/validations_spec.rb +16 -0
  102. data/spec/polytrix/validator_registry_spec.rb +39 -0
  103. data/spec/polytrix/validator_spec.rb +63 -0
  104. data/spec/polytrix_spec.rb +33 -7
  105. data/spec/spec_helper.rb +14 -1
  106. data/spec/thor_spy.rb +64 -0
  107. metadata +177 -160
  108. data/.rspec_parallel +0 -10
  109. data/Vagrantfile +0 -41
  110. data/features/0_identity_spec.rb +0 -40
  111. data/features/1_cloud_files_spec.rb +0 -48
  112. data/features/2_servers_spec.rb +0 -19
  113. data/features/features_helper.rb +0 -46
  114. data/features/helpers/cloudfiles_helper.rb +0 -31
  115. data/features/helpers/pacto_helper.rb +0 -33
  116. data/features/helpers/teardown_helper.rb +0 -49
  117. data/features/pacto/extensions/loaders/api_blueprint_loader.rb +0 -63
  118. data/features/pacto/extensions/loaders/simple_loader.rb +0 -55
  119. data/features/pacto/extensions/loaders/yaml_or_json_loader.rb +0 -17
  120. data/features/pacto/extensions/matchers.rb +0 -38
  121. data/features/phase2/feature_coverage_report.rb +0 -109
  122. data/features/phase2/run_all_features.rb +0 -14
  123. data/features/static_site/fixtures/index.html +0 -6
  124. data/lib/polytrix/challenge_builder.rb +0 -16
  125. data/lib/polytrix/core/file_finder.rb +0 -43
  126. data/lib/polytrix/core/result_tracker.rb +0 -25
  127. data/lib/polytrix/runners/middleware/pacto.rb +0 -59
  128. data/packer/.gitignore +0 -3
  129. data/packer/Berksfile +0 -15
  130. data/packer/Gemfile +0 -5
  131. data/packer/Vagrantfile +0 -128
  132. data/packer/cookbooks/drg/metadata.rb +0 -27
  133. data/packer/cookbooks/drg/recipes/admins.rb +0 -22
  134. data/packer/cookbooks/drg/recipes/default.rb +0 -9
  135. data/packer/cookbooks/drg/recipes/dotnet.rb +0 -4
  136. data/packer/cookbooks/drg/recipes/golang.rb +0 -4
  137. data/packer/cookbooks/drg/recipes/java.rb +0 -5
  138. data/packer/cookbooks/drg/recipes/php.rb +0 -10
  139. data/packer/cookbooks/drg/recipes/ruby.rb +0 -29
  140. data/packer/cookbooks/drg/recipes/system.rb +0 -13
  141. data/packer/create_box.sh +0 -10
  142. data/packer/http/preseed.cfg +0 -87
  143. data/packer/packer.json +0 -91
  144. data/packer/scripts/root_setup.sh +0 -37
  145. data/packer/scripts/setup.sh +0 -32
  146. data/pacto/config/pacto_server.rb +0 -40
  147. data/pacto/contracts/dfw.servers.api.rackspacecloud.com/v2/account_id/extensions.json +0 -64
  148. data/pacto/contracts/dfw.servers.api.rackspacecloud.com/v2/account_id/flavors/id.json +0 -100
  149. data/pacto/contracts/dfw.servers.api.rackspacecloud.com/v2/account_id/images/id.json +0 -176
  150. data/pacto/contracts/dfw.servers.api.rackspacecloud.com/v2/account_id/servers/id.json +0 -189
  151. data/pacto/contracts/dfw.servers.api.rackspacecloud.com/v2/account_id/servers.json +0 -63
  152. data/pacto/contracts/dns.api.rackspacecloud.com/v1.0/_tenant_id/domains.json +0 -62
  153. data/pacto/contracts/identity.api.rackspacecloud.com/v2.0/tokens.json +0 -192
  154. data/pacto/contracts/monitoring.api.rackspacecloud.com/v1.0/_tenant_id/account.json +0 -39
  155. data/pacto/contracts/ord.autoscale.api.rackspacecloud.com/v1.0/_tenant_id/groups.json +0 -38
  156. data/pacto/contracts/ord.blockstorage.api.rackspacecloud.com/v1/_tenant_id/volumes.json +0 -30
  157. data/pacto/contracts/ord.databases.api.rackspacecloud.com/v1.0/_tenant_id/instances.json +0 -30
  158. data/pacto/contracts/ord.loadbalancers.api.rackspacecloud.com/v1.0/_tenant_id/loadbalancers.json +0 -114
  159. data/pacto/contracts/ord.queues.api.rackspacecloud.com/v1/_tenant_id/queues.json +0 -13
  160. data/pacto/contracts/ord.servers.api.rackspacecloud.com/v2/_tenant_id/os-networksv2.json +0 -46
  161. data/pacto/contracts/ord.servers.api.rackspacecloud.com/v2/_tenant_id/servers/detail.json +0 -230
  162. data/pacto/contracts/storage101.dfw1.clouddrive.com/v1/mosso_account/container/object.json +0 -15
  163. data/pacto/contracts/storage101.dfw1.clouddrive.com/v1/mosso_account.json +0 -43
  164. data/pacto/contracts/storage101.ord1.clouddrive.com/v1/_mosso_id.json +0 -44
  165. data/pacto/pacto_server.rb +0 -100
  166. data/pacto/rackspace_uri_map.yaml +0 -229
  167. data/scripts/cibuild +0 -4
  168. data/sdks/fog/.gitignore +0 -1
  169. data/sdks/fog/Gemfile +0 -5
  170. data/sdks/fog/challenges/all_connections.rb +0 -45
  171. data/sdks/fog/challenges/authenticate_token.rb +0 -15
  172. data/sdks/fog/challenges/cdn_enable_container.rb +0 -20
  173. data/sdks/fog/challenges/create_a_container.rb +0 -17
  174. data/sdks/fog/challenges/create_server.rb +0 -36
  175. data/sdks/fog/challenges/get_object_metadata.rb +0 -13
  176. data/sdks/fog/challenges/list_containers.rb +0 -10
  177. data/sdks/fog/challenges/provision_scalable_webapp.rb +0 -30
  178. data/sdks/fog/challenges/upload_folder.rb +0 -25
  179. data/sdks/fog/scripts/bootstrap.ps1 +0 -1
  180. data/sdks/fog/scripts/wrapper +0 -2
  181. data/sdks/fog/scripts/wrapper.ps1 +0 -1
  182. data/sdks/gophercloud/.gitignore +0 -2
  183. data/sdks/gophercloud/challenges/authenticate_token.go +0 -23
  184. data/sdks/gophercloud/scripts/bootstrap +0 -6
  185. data/sdks/gophercloud/scripts/wrapper +0 -10
  186. data/sdks/jclouds/.gitignore +0 -1
  187. data/sdks/jclouds/challenges/AuthenticateToken.java +0 -115
  188. data/sdks/jclouds/pom.xml +0 -34
  189. data/sdks/jclouds/scripts/bootstrap +0 -3
  190. data/sdks/jclouds/scripts/wrapper +0 -7
  191. data/sdks/openstack.net/.gitignore +0 -4
  192. data/sdks/openstack.net/.nuget/Microsoft.Build.dll +0 -0
  193. data/sdks/openstack.net/.nuget/NuGet.Config +0 -6
  194. data/sdks/openstack.net/.nuget/NuGet.exe +0 -0
  195. data/sdks/openstack.net/.nuget/NuGet.targets +0 -136
  196. data/sdks/openstack.net/Challenge.cs +0 -10
  197. data/sdks/openstack.net/RunChallenge.cs +0 -19
  198. data/sdks/openstack.net/challenges/AuthenticateToken.cs +0 -24
  199. data/sdks/openstack.net/challenges/Weird.cs +0 -133
  200. data/sdks/openstack.net/openstack.net.csproj +0 -58
  201. data/sdks/openstack.net/openstack.net.sln +0 -27
  202. data/sdks/openstack.net/openstack.net.userprefs +0 -8
  203. data/sdks/openstack.net/packages.config +0 -6
  204. data/sdks/openstack.net/scripts/bootstrap +0 -2
  205. data/sdks/openstack.net/scripts/bootstrap.ps1 +0 -2
  206. data/sdks/openstack.net/scripts/wrapper +0 -7
  207. data/sdks/openstack.net/scripts/wrapper.ps1 +0 -1
  208. data/sdks/php-opencloud/.gitignore +0 -4
  209. data/sdks/php-opencloud/challenges/all_connections.php +0 -64
  210. data/sdks/php-opencloud/challenges/authenticate_token.php +0 -14
  211. data/sdks/php-opencloud/challenges/create_server.php +0 -39
  212. data/sdks/php-opencloud/challenges/get_object_metadata.php +0 -19
  213. data/sdks/php-opencloud/composer.json +0 -5
  214. data/sdks/php-opencloud/scripts/bootstrap +0 -4
  215. data/sdks/php-opencloud/scripts/bootstrap.ps1 +0 -2
  216. data/sdks/php-opencloud/scripts/wrapper +0 -2
  217. data/sdks/php-opencloud/scripts/wrapper.ps1 +0 -1
  218. data/sdks/pkgcloud/.gitignore +0 -1
  219. data/sdks/pkgcloud/challenges/authenticate_token.js +0 -17
  220. data/sdks/pkgcloud/challenges/get_object_metadata.js +0 -18
  221. data/sdks/pkgcloud/scripts/bootstrap +0 -2
  222. data/sdks/pkgcloud/scripts/bootstrap.ps1 +0 -1
  223. data/sdks/pkgcloud/scripts/wrapper.ps1 +0 -1
  224. data/sdks/pyrax/.gitignore +0 -2
  225. data/sdks/pyrax/challenges/all_connections.py +0 -61
  226. data/sdks/pyrax/challenges/authenticate_token.py +0 -17
  227. data/sdks/pyrax/challenges/cdn_enable_container.py +0 -22
  228. data/sdks/pyrax/challenges/create_a_container.py +0 -21
  229. data/sdks/pyrax/challenges/create_server.py +0 -35
  230. data/sdks/pyrax/challenges/get_object_metadata.py +0 -17
  231. data/sdks/pyrax/challenges/upload_folder.py +0 -32
  232. data/sdks/pyrax/requirements.txt +0 -21
  233. data/sdks/pyrax/scripts/bootstrap +0 -9
  234. data/sdks/pyrax/scripts/bootstrap.ps1 +0 -7
  235. data/sdks/pyrax/scripts/wrapper +0 -3
  236. data/sdks/pyrax/scripts/wrapper.ps1 +0 -2
  237. data/spec/polytrix/challenge_builder_spec.rb +0 -16
  238. data/spec/rspec_spec.rb +0 -17
@@ -1,32 +0,0 @@
1
- #!/bin/bash
2
-
3
- set -e
4
-
5
- echo "Instaling for rof"
6
-
7
- # Installing vagrant keys
8
- mkdir ~/.ssh
9
- chmod 700 ~/.ssh
10
- cd ~/.ssh
11
- wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O authorized_keys
12
- chmod 600 ~/.ssh/authorized_keys
13
- chown -R vagrant ~/.ssh
14
-
15
- # Node.js Setup
16
- # wget --retry-connrefused -q -O - https://raw.github.com/creationix/nvm/master/install.sh | sh
17
- # source ~/.nvm/nvm.sh
18
-
19
- # nvm install 0.10.18
20
- # nvm alias default 0.10.18
21
-
22
- # echo "source ~/.nvm/nvm.sh" >> ~/.bash_profile
23
-
24
- # RVM Install
25
- # wget --retry-connrefused -q -O - https://get.rvm.io | bash -s stable
26
- # source /home/vagrant/.rvm/scripts/rvm
27
-
28
- # rvm autolibs read-fail
29
-
30
- # rvm install 2.0.0-p247
31
-
32
- # gem install bundler zeus
@@ -1,40 +0,0 @@
1
- require 'pacto'
2
-
3
- def token_map
4
- if File.readable? '.tokens.json'
5
- MultiJson.load(File.read '.tokens.json')
6
- else
7
- {}
8
- end
9
- end
10
-
11
- config[:port] = port
12
- contracts_path = options[:directory] || File.expand_path('contracts', Dir.pwd)
13
- Pacto.configure do |pacto_config|
14
- pacto_config.logger = logger
15
- pacto_config.contracts_path = contracts_path
16
- pacto_config.strict_matchers = options[:strict]
17
- pacto_config.generator_options = {
18
- :schema_version => :draft3,
19
- :token_map => token_map
20
- }
21
- end
22
-
23
- if options[:generate]
24
- Pacto.generate!
25
- logger.info 'Pacto generation mode enabled'
26
- end
27
-
28
- if options[:validate]
29
- Pacto.validate! if options[:validate]
30
- # Dir["#{contracts_path}/*"].each do |host_dir|
31
- # host = File.basename host_dir
32
- # Pacto.load_contracts(host_dir, "https://#{host}")
33
- # end
34
- contracts = Pacto::Extensions::Loaders::URIMapLoader.load(File.absolute_path('pacto/rackspace_uri_map.yaml'))
35
- end
36
-
37
- if options[:live]
38
- # WebMock.reset!
39
- WebMock.allow_net_connect!
40
- end
@@ -1,64 +0,0 @@
1
- {
2
- "request": {
3
- "headers": {
4
- },
5
- "method": "get",
6
- "params": {
7
- },
8
- "path": "/v2/:account_id/extensions"
9
- },
10
- "response": {
11
- "headers": {
12
- "Content-Type": "application/json"
13
- },
14
- "status": 200,
15
- "body": {
16
- "$schema": "http://json-schema.org/draft-03/schema#",
17
- "description": "Generated from vcr with shasum d0fe7c3680149b7ad092f0d8d22dcbf9b183acad",
18
- "type": "object",
19
- "required": true,
20
- "properties": {
21
- "extensions": {
22
- "type": "array",
23
- "required": true,
24
- "minItems": 1,
25
- "uniqueItems": true,
26
- "items": {
27
- "type": "object",
28
- "required": true,
29
- "properties": {
30
- "updated": {
31
- "type": "string",
32
- "required": true
33
- },
34
- "name": {
35
- "type": "string",
36
- "required": true
37
- },
38
- "links": {
39
- "type": "array",
40
- "required": true,
41
- "minItems": 0,
42
- "uniqueItems": true,
43
- "items": {
44
- }
45
- },
46
- "namespace": {
47
- "type": "string",
48
- "required": true
49
- },
50
- "alias": {
51
- "type": "string",
52
- "required": true
53
- },
54
- "description": {
55
- "type": "string",
56
- "required": true
57
- }
58
- }
59
- }
60
- }
61
- }
62
- }
63
- }
64
- }
@@ -1,100 +0,0 @@
1
- {
2
- "request": {
3
- "headers": {
4
- },
5
- "method": "get",
6
- "params": {
7
- },
8
- "path": "/v2/:account_id/flavors/:id"
9
- },
10
- "response": {
11
- "headers": {
12
- "Content-Type": "application/json"
13
- },
14
- "status": 200,
15
- "body": {
16
- "$schema": "http://json-schema.org/draft-03/schema#",
17
- "description": "Generated from vcr with shasum 3e008d391a01f365204e41d8101e4d204447bdf3",
18
- "type": "object",
19
- "required": true,
20
- "properties": {
21
- "flavor": {
22
- "type": "object",
23
- "required": true,
24
- "properties": {
25
- "OS-FLV-WITH-EXT-SPECS:extra_specs": {
26
- "type": "object",
27
- "required": true,
28
- "properties": {
29
- "class": {
30
- "type": "string",
31
- "required": false
32
- },
33
- "disk_io_index": {
34
- "type": "string",
35
- "required": false
36
- },
37
- "number_of_data_disks": {
38
- "type": "string",
39
- "required": false
40
- }
41
- }
42
- },
43
- "name": {
44
- "type": "string",
45
- "required": true
46
- },
47
- "links": {
48
- "type": "array",
49
- "required": true,
50
- "minItems": 1,
51
- "uniqueItems": true,
52
- "items": {
53
- "type": "object",
54
- "required": true,
55
- "properties": {
56
- "href": {
57
- "type": "string",
58
- "required": true
59
- },
60
- "rel": {
61
- "type": "string",
62
- "required": true
63
- }
64
- }
65
- }
66
- },
67
- "ram": {
68
- "type": "integer",
69
- "required": true
70
- },
71
- "vcpus": {
72
- "type": "integer",
73
- "required": true
74
- },
75
- "swap": {
76
- "type": "integer",
77
- "required": true
78
- },
79
- "rxtx_factor": {
80
- "type": "number",
81
- "required": true
82
- },
83
- "OS-FLV-EXT-DATA:ephemeral": {
84
- "type": "integer",
85
- "required": true
86
- },
87
- "disk": {
88
- "type": "integer",
89
- "required": true
90
- },
91
- "id": {
92
- "type": "string",
93
- "required": true
94
- }
95
- }
96
- }
97
- }
98
- }
99
- }
100
- }
@@ -1,176 +0,0 @@
1
- {
2
- "request": {
3
- "headers": {
4
- },
5
- "method": "get",
6
- "params": {
7
- },
8
- "path": "/v2/:account_id/images/:id"
9
- },
10
- "response": {
11
- "headers": {
12
- "Content-Type": "application/json"
13
- },
14
- "status": 200,
15
- "body": {
16
- "$schema": "http://json-schema.org/draft-03/schema#",
17
- "description": "Generated from vcr with shasum 84e4f99e789ea3412d751782552d036dad968eee",
18
- "type": "object",
19
- "required": true,
20
- "properties": {
21
- "image": {
22
- "type": "object",
23
- "required": true,
24
- "properties": {
25
- "status": {
26
- "type": "string",
27
- "required": true
28
- },
29
- "updated": {
30
- "type": "string",
31
- "required": true
32
- },
33
- "links": {
34
- "type": "array",
35
- "required": true,
36
- "minItems": 1,
37
- "uniqueItems": true,
38
- "items": {
39
- "type": "object",
40
- "required": true,
41
- "properties": {
42
- "href": {
43
- "type": "string",
44
- "required": true
45
- },
46
- "rel": {
47
- "type": "string",
48
- "required": true
49
- }
50
- }
51
- }
52
- },
53
- "OS-DCF:diskConfig": {
54
- "type": "string",
55
- "required": true
56
- },
57
- "id": {
58
- "type": "string",
59
- "required": true
60
- },
61
- "OS-EXT-IMG-SIZE:size": {
62
- "type": "integer",
63
- "required": true
64
- },
65
- "name": {
66
- "type": "string",
67
- "required": true
68
- },
69
- "created": {
70
- "type": "string",
71
- "required": true
72
- },
73
- "minDisk": {
74
- "type": "integer",
75
- "required": true
76
- },
77
- "progress": {
78
- "type": "integer",
79
- "required": true
80
- },
81
- "minRam": {
82
- "type": "integer",
83
- "required": true
84
- },
85
- "metadata": {
86
- "type": "object",
87
- "required": true,
88
- "properties": {
89
- "os_distro": {
90
- "type": "string",
91
- "required": true
92
- },
93
- "com.rackspace__1__visible_core": {
94
- "type": "string",
95
- "required": true
96
- },
97
- "com.rackspace__1__build_rackconnect": {
98
- "type": "string",
99
- "required": true
100
- },
101
- "com.rackspace__1__options": {
102
- "type": "string",
103
- "required": true
104
- },
105
- "image_type": {
106
- "type": "string",
107
- "required": true
108
- },
109
- "cache_in_nova": {
110
- "type": "string",
111
- "required": true
112
- },
113
- "com.rackspace__1__source": {
114
- "type": "string",
115
- "required": true
116
- },
117
- "org.openstack__1__os_distro": {
118
- "type": "string",
119
- "required": true
120
- },
121
- "com.rackspace__1__release_build_date": {
122
- "type": "string",
123
- "required": true
124
- },
125
- "os_type": {
126
- "type": "string",
127
- "required": true
128
- },
129
- "auto_disk_config": {
130
- "type": "string",
131
- "required": true
132
- },
133
- "com.rackspace__1__release_version": {
134
- "type": "string",
135
- "required": true
136
- },
137
- "com.rackspace__1__platform_target": {
138
- "type": "string",
139
- "required": true
140
- },
141
- "com.rackspace__1__visible_rackconnect": {
142
- "type": "string",
143
- "required": true
144
- },
145
- "com.rackspace__1__release_id": {
146
- "type": "string",
147
- "required": true
148
- },
149
- "com.rackspace__1__visible_managed": {
150
- "type": "string",
151
- "required": true
152
- },
153
- "com.rackspace__1__build_core": {
154
- "type": "string",
155
- "required": true
156
- },
157
- "org.openstack__1__os_version": {
158
- "type": "string",
159
- "required": true
160
- },
161
- "org.openstack__1__architecture": {
162
- "type": "string",
163
- "required": true
164
- },
165
- "com.rackspace__1__build_managed": {
166
- "type": "string",
167
- "required": true
168
- }
169
- }
170
- }
171
- }
172
- }
173
- }
174
- }
175
- }
176
- }
@@ -1,189 +0,0 @@
1
- {
2
- "request": {
3
- "headers": {
4
- },
5
- "method": "get",
6
- "params": {
7
- },
8
- "path": "/v2/:account_id/servers/:id"
9
- },
10
- "response": {
11
- "headers": {
12
- "Content-Type": "application/json"
13
- },
14
- "status": 200,
15
- "body": {
16
- "$schema": "http://json-schema.org/draft-03/schema#",
17
- "description": "Generated from vcr with shasum e0d9982dff7545409a7686f24f01ce06a0b1e853",
18
- "type": "object",
19
- "required": true,
20
- "properties": {
21
- "server": {
22
- "type": "object",
23
- "required": true,
24
- "properties": {
25
- "status": {
26
- "type": "string",
27
- "required": true
28
- },
29
- "updated": {
30
- "type": "string",
31
- "required": true
32
- },
33
- "hostId": {
34
- "type": "string",
35
- "required": true
36
- },
37
- "addresses": {
38
- "type": "object",
39
- "required": true,
40
- "properties": {
41
- }
42
- },
43
- "links": {
44
- "type": "array",
45
- "required": true,
46
- "minItems": 1,
47
- "uniqueItems": true,
48
- "items": {
49
- "type": "object",
50
- "required": true,
51
- "properties": {
52
- "href": {
53
- "type": "string",
54
- "required": true
55
- },
56
- "rel": {
57
- "type": "string",
58
- "required": true
59
- }
60
- }
61
- }
62
- },
63
- "key_name": {
64
- "type": ["string", "null"],
65
- "required": false
66
- },
67
- "image": {
68
- "type": "object",
69
- "required": true,
70
- "properties": {
71
- "id": {
72
- "type": "string",
73
- "required": true
74
- },
75
- "links": {
76
- "type": "array",
77
- "required": true,
78
- "minItems": 1,
79
- "uniqueItems": true,
80
- "items": {
81
- "type": "object",
82
- "required": true,
83
- "properties": {
84
- "href": {
85
- "type": "string",
86
- "required": true
87
- },
88
- "rel": {
89
- "type": "string",
90
- "required": true
91
- }
92
- }
93
- }
94
- }
95
- }
96
- },
97
- "OS-EXT-STS:task_state": {
98
- "type": ["string", "null"],
99
- "required": false
100
- },
101
- "OS-EXT-STS:vm_state": {
102
- "type": "string",
103
- "required": true
104
- },
105
- "flavor": {
106
- "type": "object",
107
- "required": true,
108
- "properties": {
109
- "id": {
110
- "type": "string",
111
- "required": true
112
- },
113
- "links": {
114
- "type": "array",
115
- "required": true,
116
- "minItems": 1,
117
- "uniqueItems": true,
118
- "items": {
119
- "type": "object",
120
- "required": true,
121
- "properties": {
122
- "href": {
123
- "type": "string",
124
- "required": true
125
- },
126
- "rel": {
127
- "type": "string",
128
- "required": true
129
- }
130
- }
131
- }
132
- }
133
- }
134
- },
135
- "id": {
136
- "type": "string",
137
- "required": true
138
- },
139
- "user_id": {
140
- "type": "string",
141
- "required": true
142
- },
143
- "name": {
144
- "type": "string",
145
- "required": true
146
- },
147
- "created": {
148
- "type": "string",
149
- "required": true
150
- },
151
- "tenant_id": {
152
- "type": "string",
153
- "required": true
154
- },
155
- "OS-DCF:diskConfig": {
156
- "type": "string",
157
- "required": true
158
- },
159
- "accessIPv4": {
160
- "type": "string",
161
- "required": true
162
- },
163
- "accessIPv6": {
164
- "type": "string",
165
- "required": true
166
- },
167
- "progress": {
168
- "type": "integer",
169
- "required": true
170
- },
171
- "OS-EXT-STS:power_state": {
172
- "type": "integer",
173
- "required": true
174
- },
175
- "config_drive": {
176
- "type": "string",
177
- "required": true
178
- },
179
- "metadata": {
180
- "type": "object",
181
- "required": true,
182
- "additionalProperties": true
183
- }
184
- }
185
- }
186
- }
187
- }
188
- }
189
- }
@@ -1,63 +0,0 @@
1
- {
2
- "request": {
3
- "headers": {
4
- },
5
- "method": "post",
6
- "params": {
7
- },
8
- "path": "/v2/:account_id/servers"
9
- },
10
- "response": {
11
- "headers": {
12
- "Content-Type": "application/json",
13
- "Location": "https://{region}.servers.api.rackspacecloud.com/v2/{account_id}/servers/{server_id}"
14
- },
15
- "status": 202,
16
- "body": {
17
- "$schema": "http://json-schema.org/draft-03/schema#",
18
- "description": "Generated from vcr with shasum a4f7a7725c144d64603518689321a46c51c8e68f",
19
- "type": "object",
20
- "required": true,
21
- "properties": {
22
- "server": {
23
- "type": "object",
24
- "required": true,
25
- "properties": {
26
- "OS-DCF:diskConfig": {
27
- "type": "string",
28
- "required": true
29
- },
30
- "id": {
31
- "type": "string",
32
- "required": true
33
- },
34
- "links": {
35
- "type": "array",
36
- "required": true,
37
- "minItems": 1,
38
- "uniqueItems": true,
39
- "items": {
40
- "type": "object",
41
- "required": true,
42
- "properties": {
43
- "href": {
44
- "type": "string",
45
- "required": true
46
- },
47
- "rel": {
48
- "type": "string",
49
- "required": true
50
- }
51
- }
52
- }
53
- },
54
- "adminPass": {
55
- "type": "string",
56
- "required": true
57
- }
58
- }
59
- }
60
- }
61
- }
62
- }
63
- }