static 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. checksums.yaml +7 -0
  2. data/bin/static +11 -0
  3. data/lib/static/cli.rb +2 -2
  4. data/lib/static/version.rb +1 -1
  5. data/vendor/cfoundry-0.5.2/LICENSE +746 -0
  6. data/vendor/cfoundry-0.5.2/Rakefile +38 -0
  7. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/applications.rb +53 -0
  8. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/domains.rb +16 -0
  9. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/frameworks.rb +22 -0
  10. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/helper.rb +131 -0
  11. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/login.rb +21 -0
  12. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/organization_users.rb +21 -0
  13. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/organizations.rb +70 -0
  14. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/routes.rb +26 -0
  15. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/runtimes.rb +22 -0
  16. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/service_bindings.rb +22 -0
  17. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/service_instances.rb +22 -0
  18. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/services.rb +25 -0
  19. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/spaces.rb +49 -0
  20. data/vendor/cfoundry-0.5.2/lib/cc_api_stub/users.rb +84 -0
  21. data/vendor/cfoundry-0.5.2/lib/cc_api_stub.rb +17 -0
  22. data/vendor/cfoundry-0.5.2/lib/cfoundry/auth_token.rb +63 -0
  23. data/vendor/cfoundry-0.5.2/lib/cfoundry/baseclient.rb +201 -0
  24. data/vendor/cfoundry-0.5.2/lib/cfoundry/chatty_hash.rb +46 -0
  25. data/vendor/cfoundry-0.5.2/lib/cfoundry/client.rb +46 -0
  26. data/vendor/cfoundry-0.5.2/lib/cfoundry/concerns/login_helpers.rb +13 -0
  27. data/vendor/cfoundry-0.5.2/lib/cfoundry/errors.rb +160 -0
  28. data/vendor/cfoundry-0.5.2/lib/cfoundry/rest_client.rb +299 -0
  29. data/vendor/cfoundry-0.5.2/lib/cfoundry/test_support.rb +3 -0
  30. data/vendor/cfoundry-0.5.2/lib/cfoundry/trace_helpers.rb +40 -0
  31. data/vendor/cfoundry-0.5.2/lib/cfoundry/uaaclient.rb +112 -0
  32. data/vendor/cfoundry-0.5.2/lib/cfoundry/upload_helpers.rb +186 -0
  33. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/app.rb +363 -0
  34. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/base.rb +71 -0
  35. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/client.rb +193 -0
  36. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/framework.rb +21 -0
  37. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/model.rb +178 -0
  38. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/model_magic.rb +129 -0
  39. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/runtime.rb +24 -0
  40. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/service.rb +39 -0
  41. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/service_instance.rb +32 -0
  42. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/service_plan.rb +19 -0
  43. data/vendor/cfoundry-0.5.2/lib/cfoundry/v1/user.rb +22 -0
  44. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/app.rb +392 -0
  45. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/base.rb +83 -0
  46. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/client.rb +138 -0
  47. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/domain.rb +11 -0
  48. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/framework.rb +14 -0
  49. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/model.rb +148 -0
  50. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/model_magic.rb +449 -0
  51. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/organization.rb +16 -0
  52. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/route.rb +15 -0
  53. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/runtime.rb +12 -0
  54. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/service.rb +19 -0
  55. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/service_auth_token.rb +9 -0
  56. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/service_binding.rb +10 -0
  57. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/service_instance.rb +14 -0
  58. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/service_plan.rb +12 -0
  59. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/space.rb +18 -0
  60. data/vendor/cfoundry-0.5.2/lib/cfoundry/v2/user.rb +64 -0
  61. data/vendor/cfoundry-0.5.2/lib/cfoundry/validator.rb +39 -0
  62. data/vendor/cfoundry-0.5.2/lib/cfoundry/version.rb +4 -0
  63. data/vendor/cfoundry-0.5.2/lib/cfoundry/zip.rb +56 -0
  64. data/vendor/cfoundry-0.5.2/lib/cfoundry.rb +2 -0
  65. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/applications_spec.rb +69 -0
  66. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/domains_spec.rb +19 -0
  67. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/frameworks_spec.rb +19 -0
  68. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/login_spec.rb +20 -0
  69. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/organization_users_spec.rb +19 -0
  70. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/organizations_spec.rb +97 -0
  71. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/routes_spec.rb +19 -0
  72. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/runtimes_spec.rb +19 -0
  73. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/service_bindings_spec.rb +13 -0
  74. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/service_instances_spec.rb +19 -0
  75. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/services_spec.rb +12 -0
  76. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/spaces_spec.rb +38 -0
  77. data/vendor/cfoundry-0.5.2/spec/cc_api_stub/users_spec.rb +107 -0
  78. data/vendor/cfoundry-0.5.2/spec/cfoundry/auth_token_spec.rb +125 -0
  79. data/vendor/cfoundry-0.5.2/spec/cfoundry/baseclient_spec.rb +225 -0
  80. data/vendor/cfoundry-0.5.2/spec/cfoundry/client_spec.rb +15 -0
  81. data/vendor/cfoundry-0.5.2/spec/cfoundry/errors_spec.rb +80 -0
  82. data/vendor/cfoundry-0.5.2/spec/cfoundry/rest_client_spec.rb +281 -0
  83. data/vendor/cfoundry-0.5.2/spec/cfoundry/trace_helpers_spec.rb +72 -0
  84. data/vendor/cfoundry-0.5.2/spec/cfoundry/uaaclient_spec.rb +332 -0
  85. data/vendor/cfoundry-0.5.2/spec/cfoundry/upload_helpers_spec.rb +174 -0
  86. data/vendor/cfoundry-0.5.2/spec/cfoundry/v1/base_spec.rb +58 -0
  87. data/vendor/cfoundry-0.5.2/spec/cfoundry/v1/client_spec.rb +17 -0
  88. data/vendor/cfoundry-0.5.2/spec/cfoundry/v1/model_magic_spec.rb +43 -0
  89. data/vendor/cfoundry-0.5.2/spec/cfoundry/v2/app_spec.rb +144 -0
  90. data/vendor/cfoundry-0.5.2/spec/cfoundry/v2/base_spec.rb +299 -0
  91. data/vendor/cfoundry-0.5.2/spec/cfoundry/v2/client_spec.rb +73 -0
  92. data/vendor/cfoundry-0.5.2/spec/cfoundry/v2/model_magic_spec.rb +173 -0
  93. data/vendor/cfoundry-0.5.2/spec/cfoundry/v2/organization_spec.rb +15 -0
  94. data/vendor/cfoundry-0.5.2/spec/cfoundry/v2/space_spec.rb +15 -0
  95. data/vendor/cfoundry-0.5.2/spec/fakes/app_fake.rb +5 -0
  96. data/vendor/cfoundry-0.5.2/spec/fakes/domain_fake.rb +5 -0
  97. data/vendor/cfoundry-0.5.2/spec/fakes/framework_fake.rb +5 -0
  98. data/vendor/cfoundry-0.5.2/spec/fakes/organization_fake.rb +5 -0
  99. data/vendor/cfoundry-0.5.2/spec/fakes/route_fake.rb +5 -0
  100. data/vendor/cfoundry-0.5.2/spec/fakes/runtime_fake.rb +5 -0
  101. data/vendor/cfoundry-0.5.2/spec/fakes/service_fake.rb +5 -0
  102. data/vendor/cfoundry-0.5.2/spec/fakes/service_instance_fake.rb +5 -0
  103. data/vendor/cfoundry-0.5.2/spec/fakes/service_plan_fake.rb +5 -0
  104. data/vendor/cfoundry-0.5.2/spec/fakes/space_fake.rb +5 -0
  105. data/vendor/cfoundry-0.5.2/spec/fakes/user_fake.rb +5 -0
  106. data/vendor/cfoundry-0.5.2/spec/fixtures/apps/with_dotfiles/xyz +1 -0
  107. data/vendor/cfoundry-0.5.2/spec/fixtures/apps/with_nested_directories/foo/bar/baz/fizz +0 -0
  108. data/vendor/cfoundry-0.5.2/spec/fixtures/apps/with_nested_directories/xyz +0 -0
  109. data/vendor/cfoundry-0.5.2/spec/fixtures/apps/with_vmcignore/ignored_dir/file_in_ignored_dir.txt +1 -0
  110. data/vendor/cfoundry-0.5.2/spec/fixtures/apps/with_vmcignore/ignored_file.txt +1 -0
  111. data/vendor/cfoundry-0.5.2/spec/fixtures/apps/with_vmcignore/non_ignored_dir/file_in_non_ignored_dir.txt +1 -0
  112. data/vendor/cfoundry-0.5.2/spec/fixtures/apps/with_vmcignore/non_ignored_dir/ignored_file.txt +1 -0
  113. data/vendor/cfoundry-0.5.2/spec/fixtures/apps/with_vmcignore/non_ignored_file.txt +1 -0
  114. data/vendor/cfoundry-0.5.2/spec/fixtures/empty_file +0 -0
  115. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_application.json +24 -0
  116. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_application_summary.json +57 -0
  117. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_created_application.json +11 -0
  118. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_created_domain.json +10 -0
  119. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_created_organization.json +11 -0
  120. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_created_route.json +13 -0
  121. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_created_service_instance.json +11 -0
  122. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_created_space.json +11 -0
  123. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_created_user.json +11 -0
  124. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_empty_search.json +7 -0
  125. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_frameworks.json +20 -0
  126. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_organization.json +144 -0
  127. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_organization_domains.json +34 -0
  128. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_organization_search.json +37 -0
  129. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_organization_summary.json +19 -0
  130. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_organization_users.json +81 -0
  131. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_runtimes.json +20 -0
  132. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_service_binding.json +22 -0
  133. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_service_bindings.json +24 -0
  134. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_service_instance.json +81 -0
  135. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_service_instances.json +0 -0
  136. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_service_types.json +124 -0
  137. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_space.json +45 -0
  138. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_space_summary.json +86 -0
  139. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_stats.json +29 -0
  140. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_user.json +112 -0
  141. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_user_organizations.json +92 -0
  142. data/vendor/cfoundry-0.5.2/spec/fixtures/fake_cc_user_with_managers.json +85 -0
  143. data/vendor/cfoundry-0.5.2/spec/spec_helper.rb +20 -0
  144. data/vendor/cfoundry-0.5.2/spec/support/fake_helper.rb +236 -0
  145. data/vendor/cfoundry-0.5.2/spec/support/randoms.rb +3 -0
  146. data/vendor/cfoundry-0.5.2/spec/support/shared_examples/cc_api_stub_request_examples.rb +79 -0
  147. data/vendor/cfoundry-0.5.2/spec/support/shared_examples/client_login_examples.rb +46 -0
  148. data/vendor/cfoundry-0.5.2/spec/support/shared_examples/model_summary_examples.rb +34 -0
  149. data/vendor/cfoundry-0.5.2/spec/support/v1_fake_helper.rb +144 -0
  150. data/vendor/cfoundry-0.5.2/vendor/errors/README.md +4 -0
  151. data/vendor/cfoundry-0.5.2/vendor/errors/v1.yml +189 -0
  152. data/vendor/cfoundry-0.5.2/vendor/errors/v2.yml +360 -0
  153. data/vendor/tunnel-vmc-plugin-0.2.2/Rakefile +39 -0
  154. data/vendor/tunnel-vmc-plugin-0.2.2/config/clients.yml +17 -0
  155. data/vendor/tunnel-vmc-plugin-0.2.2/helper-app/Gemfile +10 -0
  156. data/vendor/tunnel-vmc-plugin-0.2.2/helper-app/server.rb +43 -0
  157. data/vendor/tunnel-vmc-plugin-0.2.2/lib/tunnel-vmc-plugin/plugin.rb +178 -0
  158. data/vendor/tunnel-vmc-plugin-0.2.2/lib/tunnel-vmc-plugin/tunnel.rb +308 -0
  159. data/vendor/tunnel-vmc-plugin-0.2.2/lib/tunnel-vmc-plugin/version.rb +3 -0
  160. data/vendor/tunnel-vmc-plugin-0.2.2/spec/plugin_spec.rb +29 -0
  161. data/vendor/tunnel-vmc-plugin-0.2.2/spec/spec_helper.rb +15 -0
  162. data/vendor/vmc-0.5.0/LICENSE +1277 -0
  163. data/vendor/vmc-0.5.0/Rakefile +101 -0
  164. data/vendor/vmc-0.5.0/bin/vmc +11 -0
  165. data/vendor/vmc-0.5.0/lib/vmc/cli/app/app.rb +45 -0
  166. data/vendor/vmc-0.5.0/lib/vmc/cli/app/apps.rb +99 -0
  167. data/vendor/vmc-0.5.0/lib/vmc/cli/app/base.rb +82 -0
  168. data/vendor/vmc-0.5.0/lib/vmc/cli/app/crashes.rb +42 -0
  169. data/vendor/vmc-0.5.0/lib/vmc/cli/app/delete.rb +95 -0
  170. data/vendor/vmc-0.5.0/lib/vmc/cli/app/deprecated.rb +11 -0
  171. data/vendor/vmc-0.5.0/lib/vmc/cli/app/env.rb +78 -0
  172. data/vendor/vmc-0.5.0/lib/vmc/cli/app/files.rb +137 -0
  173. data/vendor/vmc-0.5.0/lib/vmc/cli/app/health.rb +26 -0
  174. data/vendor/vmc-0.5.0/lib/vmc/cli/app/instances.rb +53 -0
  175. data/vendor/vmc-0.5.0/lib/vmc/cli/app/logs.rb +76 -0
  176. data/vendor/vmc-0.5.0/lib/vmc/cli/app/push/create.rb +153 -0
  177. data/vendor/vmc-0.5.0/lib/vmc/cli/app/push/interactions.rb +94 -0
  178. data/vendor/vmc-0.5.0/lib/vmc/cli/app/push/sync.rb +64 -0
  179. data/vendor/vmc-0.5.0/lib/vmc/cli/app/push.rb +105 -0
  180. data/vendor/vmc-0.5.0/lib/vmc/cli/app/rename.rb +35 -0
  181. data/vendor/vmc-0.5.0/lib/vmc/cli/app/restart.rb +20 -0
  182. data/vendor/vmc-0.5.0/lib/vmc/cli/app/scale.rb +71 -0
  183. data/vendor/vmc-0.5.0/lib/vmc/cli/app/start.rb +150 -0
  184. data/vendor/vmc-0.5.0/lib/vmc/cli/app/stats.rb +67 -0
  185. data/vendor/vmc-0.5.0/lib/vmc/cli/app/stop.rb +27 -0
  186. data/vendor/vmc-0.5.0/lib/vmc/cli/domain/base.rb +12 -0
  187. data/vendor/vmc-0.5.0/lib/vmc/cli/domain/domains.rb +40 -0
  188. data/vendor/vmc-0.5.0/lib/vmc/cli/domain/map.rb +55 -0
  189. data/vendor/vmc-0.5.0/lib/vmc/cli/domain/unmap.rb +56 -0
  190. data/vendor/vmc-0.5.0/lib/vmc/cli/help.rb +15 -0
  191. data/vendor/vmc-0.5.0/lib/vmc/cli/interactive.rb +105 -0
  192. data/vendor/vmc-0.5.0/lib/vmc/cli/organization/base.rb +14 -0
  193. data/vendor/vmc-0.5.0/lib/vmc/cli/organization/create.rb +32 -0
  194. data/vendor/vmc-0.5.0/lib/vmc/cli/organization/delete.rb +73 -0
  195. data/vendor/vmc-0.5.0/lib/vmc/cli/organization/org.rb +45 -0
  196. data/vendor/vmc-0.5.0/lib/vmc/cli/organization/orgs.rb +35 -0
  197. data/vendor/vmc-0.5.0/lib/vmc/cli/organization/rename.rb +36 -0
  198. data/vendor/vmc-0.5.0/lib/vmc/cli/route/base.rb +12 -0
  199. data/vendor/vmc-0.5.0/lib/vmc/cli/route/map.rb +80 -0
  200. data/vendor/vmc-0.5.0/lib/vmc/cli/route/routes.rb +26 -0
  201. data/vendor/vmc-0.5.0/lib/vmc/cli/route/unmap.rb +94 -0
  202. data/vendor/vmc-0.5.0/lib/vmc/cli/service/base.rb +8 -0
  203. data/vendor/vmc-0.5.0/lib/vmc/cli/service/bind.rb +44 -0
  204. data/vendor/vmc-0.5.0/lib/vmc/cli/service/create.rb +126 -0
  205. data/vendor/vmc-0.5.0/lib/vmc/cli/service/delete.rb +86 -0
  206. data/vendor/vmc-0.5.0/lib/vmc/cli/service/rename.rb +35 -0
  207. data/vendor/vmc-0.5.0/lib/vmc/cli/service/service.rb +42 -0
  208. data/vendor/vmc-0.5.0/lib/vmc/cli/service/services.rb +114 -0
  209. data/vendor/vmc-0.5.0/lib/vmc/cli/service/unbind.rb +38 -0
  210. data/vendor/vmc-0.5.0/lib/vmc/cli/space/base.rb +21 -0
  211. data/vendor/vmc-0.5.0/lib/vmc/cli/space/create.rb +60 -0
  212. data/vendor/vmc-0.5.0/lib/vmc/cli/space/delete.rb +95 -0
  213. data/vendor/vmc-0.5.0/lib/vmc/cli/space/rename.rb +39 -0
  214. data/vendor/vmc-0.5.0/lib/vmc/cli/space/space.rb +64 -0
  215. data/vendor/vmc-0.5.0/lib/vmc/cli/space/spaces.rb +55 -0
  216. data/vendor/vmc-0.5.0/lib/vmc/cli/space/switch.rb +16 -0
  217. data/vendor/vmc-0.5.0/lib/vmc/cli/start/base.rb +83 -0
  218. data/vendor/vmc-0.5.0/lib/vmc/cli/start/colors.rb +13 -0
  219. data/vendor/vmc-0.5.0/lib/vmc/cli/start/info.rb +126 -0
  220. data/vendor/vmc-0.5.0/lib/vmc/cli/start/login.rb +96 -0
  221. data/vendor/vmc-0.5.0/lib/vmc/cli/start/logout.rb +17 -0
  222. data/vendor/vmc-0.5.0/lib/vmc/cli/start/target.rb +71 -0
  223. data/vendor/vmc-0.5.0/lib/vmc/cli/start/target_interactions.rb +37 -0
  224. data/vendor/vmc-0.5.0/lib/vmc/cli/start/targets.rb +16 -0
  225. data/vendor/vmc-0.5.0/lib/vmc/cli/user/base.rb +29 -0
  226. data/vendor/vmc-0.5.0/lib/vmc/cli/user/create.rb +39 -0
  227. data/vendor/vmc-0.5.0/lib/vmc/cli/user/delete.rb +27 -0
  228. data/vendor/vmc-0.5.0/lib/vmc/cli/user/passwd.rb +50 -0
  229. data/vendor/vmc-0.5.0/lib/vmc/cli/user/register.rb +42 -0
  230. data/vendor/vmc-0.5.0/lib/vmc/cli/user/users.rb +32 -0
  231. data/vendor/vmc-0.5.0/lib/vmc/cli.rb +475 -0
  232. data/vendor/vmc-0.5.0/lib/vmc/constants.rb +13 -0
  233. data/vendor/vmc-0.5.0/lib/vmc/detect.rb +129 -0
  234. data/vendor/vmc-0.5.0/lib/vmc/errors.rb +17 -0
  235. data/vendor/vmc-0.5.0/lib/vmc/plugin.rb +56 -0
  236. data/vendor/vmc-0.5.0/lib/vmc/spacing.rb +89 -0
  237. data/vendor/vmc-0.5.0/lib/vmc/spec_helper.rb +1 -0
  238. data/vendor/vmc-0.5.0/lib/vmc/test_support.rb +6 -0
  239. data/vendor/vmc-0.5.0/lib/vmc/version.rb +3 -0
  240. data/vendor/vmc-0.5.0/lib/vmc.rb +8 -0
  241. data/vendor/vmc-0.5.0/spec/assets/hello-sinatra/Gemfile +3 -0
  242. data/vendor/vmc-0.5.0/spec/assets/hello-sinatra/config.ru +3 -0
  243. data/vendor/vmc-0.5.0/spec/assets/hello-sinatra/main.rb +6 -0
  244. data/vendor/vmc-0.5.0/spec/assets/specker_runner/specker_runner_input.rb +6 -0
  245. data/vendor/vmc-0.5.0/spec/assets/specker_runner/specker_runner_pause.rb +5 -0
  246. data/vendor/vmc-0.5.0/spec/console_app_specker/console_app_specker_matchers_spec.rb +152 -0
  247. data/vendor/vmc-0.5.0/spec/console_app_specker/specker_runner_spec.rb +157 -0
  248. data/vendor/vmc-0.5.0/spec/features/v1/new_user_flow_spec.rb +109 -0
  249. data/vendor/vmc-0.5.0/spec/features/v2/account_lifecycle_spec.rb +64 -0
  250. data/vendor/vmc-0.5.0/spec/features/v2/push_flow_spec.rb +125 -0
  251. data/vendor/vmc-0.5.0/spec/features/v2/switching_targets_spec.rb +32 -0
  252. data/vendor/vmc-0.5.0/spec/spec_helper.rb +63 -0
  253. data/vendor/vmc-0.5.0/spec/support/command_helper.rb +80 -0
  254. data/vendor/vmc-0.5.0/spec/support/config_helper.rb +15 -0
  255. data/vendor/vmc-0.5.0/spec/support/console_app_specker_matchers.rb +75 -0
  256. data/vendor/vmc-0.5.0/spec/support/fake_home_dir.rb +55 -0
  257. data/vendor/vmc-0.5.0/spec/support/interact_helper.rb +29 -0
  258. data/vendor/vmc-0.5.0/spec/support/shared_examples/errors.rb +40 -0
  259. data/vendor/vmc-0.5.0/spec/support/shared_examples/input.rb +14 -0
  260. data/vendor/vmc-0.5.0/spec/support/specker_runner.rb +79 -0
  261. data/vendor/vmc-0.5.0/spec/support/tracking_expector.rb +71 -0
  262. data/vendor/vmc-0.5.0/spec/vmc/cli/app/base_spec.rb +17 -0
  263. data/vendor/vmc-0.5.0/spec/vmc/cli/app/delete_spec.rb +188 -0
  264. data/vendor/vmc-0.5.0/spec/vmc/cli/app/instances_spec.rb +65 -0
  265. data/vendor/vmc-0.5.0/spec/vmc/cli/app/push/create_spec.rb +591 -0
  266. data/vendor/vmc-0.5.0/spec/vmc/cli/app/push_spec.rb +369 -0
  267. data/vendor/vmc-0.5.0/spec/vmc/cli/app/rename_spec.rb +104 -0
  268. data/vendor/vmc-0.5.0/spec/vmc/cli/app/scale_spec.rb +76 -0
  269. data/vendor/vmc-0.5.0/spec/vmc/cli/app/start_spec.rb +168 -0
  270. data/vendor/vmc-0.5.0/spec/vmc/cli/app/stats_spec.rb +68 -0
  271. data/vendor/vmc-0.5.0/spec/vmc/cli/domain/map_spec.rb +130 -0
  272. data/vendor/vmc-0.5.0/spec/vmc/cli/domain/unmap_spec.rb +69 -0
  273. data/vendor/vmc-0.5.0/spec/vmc/cli/organization/orgs_spec.rb +108 -0
  274. data/vendor/vmc-0.5.0/spec/vmc/cli/organization/rename_spec.rb +113 -0
  275. data/vendor/vmc-0.5.0/spec/vmc/cli/route/map_spec.rb +140 -0
  276. data/vendor/vmc-0.5.0/spec/vmc/cli/route/unmap_spec.rb +221 -0
  277. data/vendor/vmc-0.5.0/spec/vmc/cli/service/bind_spec.rb +25 -0
  278. data/vendor/vmc-0.5.0/spec/vmc/cli/service/delete_spec.rb +22 -0
  279. data/vendor/vmc-0.5.0/spec/vmc/cli/service/rename_spec.rb +105 -0
  280. data/vendor/vmc-0.5.0/spec/vmc/cli/service/service_spec.rb +23 -0
  281. data/vendor/vmc-0.5.0/spec/vmc/cli/service/unbind_spec.rb +25 -0
  282. data/vendor/vmc-0.5.0/spec/vmc/cli/space/create_spec.rb +73 -0
  283. data/vendor/vmc-0.5.0/spec/vmc/cli/space/rename_spec.rb +102 -0
  284. data/vendor/vmc-0.5.0/spec/vmc/cli/space/spaces_spec.rb +104 -0
  285. data/vendor/vmc-0.5.0/spec/vmc/cli/space/switch_space_spec.rb +55 -0
  286. data/vendor/vmc-0.5.0/spec/vmc/cli/start/info_spec.rb +160 -0
  287. data/vendor/vmc-0.5.0/spec/vmc/cli/start/login_spec.rb +142 -0
  288. data/vendor/vmc-0.5.0/spec/vmc/cli/start/logout_spec.rb +50 -0
  289. data/vendor/vmc-0.5.0/spec/vmc/cli/start/target_spec.rb +123 -0
  290. data/vendor/vmc-0.5.0/spec/vmc/cli/user/create_spec.rb +54 -0
  291. data/vendor/vmc-0.5.0/spec/vmc/cli/user/delete_spec.rb +51 -0
  292. data/vendor/vmc-0.5.0/spec/vmc/cli/user/passwd_spec.rb +102 -0
  293. data/vendor/vmc-0.5.0/spec/vmc/cli/user/register_spec.rb +140 -0
  294. data/vendor/vmc-0.5.0/spec/vmc/cli_spec.rb +448 -0
  295. data/vendor/vmc-0.5.0/spec/vmc/detect_spec.rb +54 -0
  296. metadata +446 -43
@@ -0,0 +1,148 @@
1
+ require "multi_json"
2
+
3
+ require "cfoundry/v2/model_magic"
4
+
5
+
6
+ module CFoundry::V2
7
+ class Model
8
+ @@objects = {}
9
+
10
+ extend ModelMagic
11
+
12
+ class << self
13
+ def objects
14
+ @@objects
15
+ end
16
+
17
+ def inherited(klass)
18
+ @@objects[klass.object_name] = klass
19
+ super
20
+ end
21
+ end
22
+
23
+ attr_accessor :guid, :cache, :changes
24
+
25
+ def initialize(guid, client, manifest = nil, partial = false)
26
+ @guid = guid
27
+ @client = client
28
+ @manifest = manifest
29
+ @partial = partial
30
+ @cache = {}
31
+ @diff = {}
32
+ @changes = {}
33
+ end
34
+
35
+ def manifest
36
+ @manifest ||= @client.base.send(object_name, @guid)
37
+ end
38
+
39
+ def partial?
40
+ @partial
41
+ end
42
+
43
+ def changed?
44
+ !@changes.empty?
45
+ end
46
+
47
+ def inspect
48
+ "\#<#{self.class.name} '#@guid'>"
49
+ end
50
+
51
+ def object_name
52
+ @object_name ||= self.class.object_name
53
+ end
54
+
55
+ def plural_object_name
56
+ @plural_object_name ||= self.class.plural_object_name
57
+ end
58
+
59
+ def invalidate!
60
+ @manifest = nil
61
+ @partial = false
62
+ @cache = {}
63
+ @diff = {}
64
+ @changes = {}
65
+ end
66
+
67
+ # this does a bit of extra processing to allow for
68
+ # `delete!' followed by `create!'
69
+ def create!
70
+ payload = {}
71
+
72
+ @manifest ||= {}
73
+ @manifest[:entity] ||= {}
74
+
75
+ @manifest[:entity].each do |k, v|
76
+ if v.is_a?(Hash) && v.key?(:metadata)
77
+ # skip; there's a _guid attribute already
78
+ elsif v.is_a?(Array) && !v.empty? && v.all? { |x|
79
+ x.is_a?(Hash) && x.key?(:metadata)
80
+ }
81
+ singular = k.to_s.sub(/s$/, "")
82
+
83
+ payload[:"#{singular}_guids"] = v.collect do |x|
84
+ if x.is_a?(Hash) && x.key?(:metadata)
85
+ x[:metadata][:guid]
86
+ else
87
+ x
88
+ end
89
+ end
90
+ elsif k.to_s.end_with?("_url")
91
+ else
92
+ payload[k] = v
93
+ end
94
+ end
95
+
96
+ @manifest = @client.base.send(:"create_#{object_name}", payload)
97
+
98
+ @guid = @manifest[:metadata][:guid]
99
+
100
+ @diff.clear
101
+
102
+ true
103
+ end
104
+
105
+ def update!
106
+ @manifest = @client.base.send(:"update_#{object_name}", @guid, @diff)
107
+
108
+ @diff.clear
109
+
110
+ true
111
+ end
112
+
113
+ def delete!
114
+ @client.base.send(:"delete_#{object_name}", @guid)
115
+
116
+ @guid = nil
117
+
118
+ @diff.clear
119
+
120
+ if @manifest
121
+ @manifest.delete :metadata
122
+ end
123
+
124
+ true
125
+ end
126
+
127
+ def exists?
128
+ invalidate!
129
+ manifest
130
+ true
131
+ rescue CFoundry::NotFound
132
+ false
133
+ end
134
+
135
+ def query_target(klass)
136
+ self
137
+ end
138
+
139
+ def eql?(other)
140
+ other.is_a?(self.class) && @guid == other.guid
141
+ end
142
+ alias :== :eql?
143
+
144
+ def hash
145
+ @guid.hash
146
+ end
147
+ end
148
+ end
@@ -0,0 +1,449 @@
1
+ require "cfoundry/validator"
2
+
3
+ module CFoundry::V2
4
+ # object name -> module containing query methods
5
+ #
6
+ # e.g. app -> { app_by_name, app_by_space_guid, ... }
7
+ QUERIES = Hash.new do |h, k|
8
+ h[k] = Module.new
9
+ end
10
+
11
+ module BaseClientMethods
12
+ end
13
+
14
+ module ClientMethods
15
+ end
16
+
17
+ module ModelMagic
18
+ attr_reader :scoped_organization, :scoped_space
19
+
20
+ def object_name
21
+ @object_name ||=
22
+ name.split("::").last.gsub(
23
+ /([a-z])([A-Z])/,
24
+ '\1_\2').downcase.to_sym
25
+ end
26
+
27
+ def plural_object_name
28
+ :"#{object_name}s"
29
+ end
30
+
31
+ def define_client_methods(&blk)
32
+ ClientMethods.module_eval(&blk)
33
+ end
34
+
35
+ def define_base_client_methods(&blk)
36
+ BaseClientMethods.module_eval(&blk)
37
+ end
38
+
39
+ def defaults
40
+ @defaults ||= {}
41
+ end
42
+
43
+ def attributes
44
+ @attributes ||= {}
45
+ end
46
+
47
+ def to_one_relations
48
+ @to_one_relations ||= {}
49
+ end
50
+
51
+ def to_many_relations
52
+ @to_many_relations ||= {}
53
+ end
54
+
55
+ def inherited(klass)
56
+ singular = klass.object_name
57
+ plural = klass.plural_object_name
58
+
59
+ define_base_client_methods do
60
+ define_method(singular) do |guid, *args|
61
+ get("v2", plural, guid, :accept => :json,
62
+ :params => ModelMagic.params_from(args))
63
+ end
64
+
65
+ define_method(:"create_#{singular}") do |payload|
66
+ post("v2", plural, :content => :json, :accept => :json, :payload => payload)
67
+ end
68
+
69
+ define_method(:"delete_#{singular}") do |guid|
70
+ delete("v2", plural, guid)
71
+ true
72
+ end
73
+
74
+ define_method(:"update_#{singular}") do |guid, payload|
75
+ put("v2", plural, guid, :content => :json, :accept => :json, :payload => payload)
76
+ end
77
+
78
+ define_method(plural) do |*args|
79
+ all_pages(
80
+ get("v2", plural, :accept => :json,
81
+ :params => ModelMagic.params_from(args)))
82
+ end
83
+ end
84
+
85
+ define_client_methods do
86
+ define_method(singular) do |*args|
87
+ guid, partial, _ = args
88
+
89
+ x = klass.new(guid, self, nil, partial)
90
+
91
+ # when creating an object, automatically set the org/space
92
+ unless guid
93
+ if klass.scoped_organization && current_organization
94
+ x.send(:"#{klass.scoped_organization}=", current_organization)
95
+ end
96
+
97
+ if klass.scoped_space && current_space
98
+ x.send(:"#{klass.scoped_space}=", current_space)
99
+ end
100
+ end
101
+
102
+ x
103
+ end
104
+
105
+ define_method(plural) do |*args|
106
+ # use current org/space
107
+ if klass.scoped_space && current_space
108
+ current_space.send(plural, *args)
109
+ elsif klass.scoped_organization && current_organization
110
+ current_organization.send(plural, *args)
111
+ else
112
+ @base.send(plural, *args).collect do |json|
113
+ send(:"make_#{singular}", json)
114
+ end
115
+ end
116
+ end
117
+
118
+ define_method(:"#{singular}_from") do |path, *args|
119
+ send(
120
+ :"make_#{singular}",
121
+ @base.get(
122
+ path,
123
+ :accept => :json,
124
+ :params => ModelMagic.params_from(args)))
125
+ end
126
+
127
+ define_method(:"#{plural}_from") do |path, *args|
128
+ objs = @base.all_pages(
129
+ @base.get(
130
+ path,
131
+ :accept => :json,
132
+ :params => ModelMagic.params_from(args)))
133
+
134
+ objs.collect do |json|
135
+ send(:"make_#{singular}", json)
136
+ end
137
+ end
138
+
139
+ define_method(:"make_#{singular}") do |json|
140
+ klass.new(
141
+ json[:metadata][:guid],
142
+ self,
143
+ json)
144
+ end
145
+ end
146
+
147
+ has_summary
148
+ end
149
+
150
+ def attribute(name, type, opts = {})
151
+ attributes[name] = opts
152
+ json_name = opts[:at] || name
153
+
154
+ default = opts[:default]
155
+
156
+ if has_default = opts.key?(:default)
157
+ defaults[name] = default
158
+ end
159
+
160
+ define_method(name) do
161
+ return @cache[name] if @cache.key?(name)
162
+
163
+ @cache[name] =
164
+ if manifest[:entity].key?(json_name)
165
+ manifest[:entity][json_name]
166
+ else
167
+ default
168
+ end
169
+ end
170
+
171
+ define_method(:"#{name}=") do |val|
172
+ unless has_default && val == default
173
+ CFoundry::Validator.validate_type(val, type)
174
+ end
175
+
176
+ @cache[name] = val
177
+
178
+ @manifest ||= {}
179
+ @manifest[:entity] ||= {}
180
+
181
+ old = @manifest[:entity][json_name]
182
+ @changes[name] = [old, val] if old != val
183
+ @manifest[:entity][json_name] = val
184
+
185
+ @diff[json_name] = val
186
+ end
187
+ end
188
+
189
+ def scoped_to_organization(relation = :organization)
190
+ @scoped_organization = relation
191
+ end
192
+
193
+ def scoped_to_space(relation = :space)
194
+ @scoped_space = relation
195
+ end
196
+
197
+ def to_one(name, opts = {})
198
+ to_one_relations[name] = opts
199
+
200
+ obj = opts[:as] || name
201
+ kls = obj.to_s.capitalize.gsub(/(.)_(.)/) do
202
+ $1 + $2.upcase
203
+ end
204
+
205
+ default = opts[:default]
206
+
207
+ if has_default = opts.key?(:default)
208
+ defaults[:"#{name}_guid"] = default
209
+ end
210
+
211
+ define_method(name) do
212
+ return @cache[name] if @cache.key?(name)
213
+
214
+ @cache[name] =
215
+ if @manifest && @manifest[:entity].key?(name)
216
+ @client.send(:"make_#{obj}", @manifest[:entity][name])
217
+ elsif url = send("#{name}_url")
218
+ @client.send(:"#{obj}_from", url)
219
+ else
220
+ default
221
+ end
222
+ end
223
+
224
+ define_method(:"#{name}_url") do
225
+ manifest[:entity][:"#{name}_url"]
226
+ end
227
+
228
+ define_method(:"#{name}=") do |val|
229
+ klass = self.class.objects[obj]
230
+
231
+ unless has_default && val == default
232
+ CFoundry::Validator.validate_type(val, klass)
233
+ end
234
+
235
+ @manifest ||= {}
236
+ @manifest[:entity] ||= {}
237
+
238
+ old = @manifest[:entity][:"#{name}_guid"]
239
+ if old != (val && val.guid)
240
+ old_obj =
241
+ @cache[name] || klass.new(@client, old, @manifest[:entity][name])
242
+
243
+ @changes[name] = [old_obj, val]
244
+ end
245
+
246
+ @cache[name] = val
247
+
248
+ @manifest[:entity][:"#{name}_guid"] =
249
+ @diff[:"#{name}_guid"] = val && val.guid
250
+ end
251
+ end
252
+
253
+ def to_many(plural, opts = {})
254
+ to_many_relations[plural] = opts
255
+
256
+ singular = plural.to_s.sub(/s$/, "").to_sym
257
+
258
+ include QUERIES[singular]
259
+
260
+ object = opts[:as] || singular
261
+
262
+ kls = object.to_s.capitalize.gsub(/(.)_(.)/) do
263
+ $1 + $2.upcase
264
+ end
265
+
266
+ define_method(plural) do |*args|
267
+ klass = CFoundry::V2.const_get(kls)
268
+
269
+ opts, _ = args
270
+ opts ||= {}
271
+
272
+ if opts.empty? && cache = @cache[plural]
273
+ return cache
274
+ end
275
+
276
+ if @manifest && @manifest[:entity].key?(plural) && opts.empty?
277
+ objs = @manifest[:entity][plural]
278
+
279
+ if query = opts[:query]
280
+ find_by, find_val = query
281
+ objs = objs.select { |o| o[:entity][find_by] == find_val }
282
+ end
283
+
284
+ res =
285
+ objs.collect do |json|
286
+ @client.send(:"make_#{object}", json)
287
+ end
288
+ else
289
+ res =
290
+ @client.send(
291
+ :"#{klass.plural_object_name}_from",
292
+ "/v2/#{plural_object_name}/#@guid/#{plural}",
293
+ opts)
294
+ end
295
+
296
+ if opts.empty?
297
+ @cache[plural] = res
298
+ end
299
+
300
+ res
301
+ end
302
+
303
+ define_method(:"#{plural}_url") do
304
+ manifest[:entity][:"#{plural}_url"]
305
+ end
306
+
307
+ define_method(:"add_#{singular}") do |x|
308
+ klass = self.class.objects[object]
309
+
310
+ CFoundry::Validator.validate_type(x, klass)
311
+
312
+ if cache = @cache[plural]
313
+ cache << x unless cache.include?(x)
314
+ end
315
+
316
+ @client.base.put("v2", plural_object_name, @guid, plural, x.guid, :accept => :json)
317
+ end
318
+
319
+ define_method(:"remove_#{singular}") do |x|
320
+ klass = self.class.objects[object]
321
+
322
+ CFoundry::Validator.validate_type(x, klass)
323
+
324
+ if cache = @cache[plural]
325
+ cache.delete(x)
326
+ end
327
+
328
+ @client.base.delete("v2", plural_object_name, @guid, plural, x.guid, :accept => :json)
329
+ end
330
+
331
+ define_method(:"#{plural}=") do |xs|
332
+ klass = self.class.objects[object]
333
+
334
+ CFoundry::Validator.validate_type(xs, [klass])
335
+
336
+ @manifest ||= {}
337
+ @manifest[:entity] ||= {}
338
+
339
+ old = @manifest[:entity][:"#{singular}_guids"]
340
+ if old != xs.collect(&:guid)
341
+ old_objs =
342
+ @cache[plural] ||
343
+ if all = @manifest[:entity][plural]
344
+ all.collect do |m|
345
+ klass.new(@client, m[:metadata][:guid], m)
346
+ end
347
+ elsif old
348
+ old.collect { |id| klass.new(@client, id) }
349
+ end
350
+
351
+ @changes[plural] = [old_objs, xs]
352
+ end
353
+
354
+ @cache[plural] = xs
355
+
356
+ @manifest[:entity][:"#{singular}_guids"] =
357
+ @diff[:"#{singular}_guids"] = xs.collect(&:guid)
358
+ end
359
+ end
360
+
361
+ def has_summary(actions = {})
362
+ define_method(:summary) do
363
+ @client.base.get("v2", plural_object_name, @guid, "summary", :accept => :json)
364
+ end
365
+
366
+ define_method(:summarize!) do |*args|
367
+ body, _ = args
368
+
369
+ body ||= summary
370
+
371
+ body.each do |key, val|
372
+ if act = actions[key]
373
+ instance_exec(val, &act)
374
+
375
+ elsif self.class.attributes[key]
376
+ self.send(:"#{key}=", val)
377
+
378
+ elsif self.class.to_many_relations[key]
379
+ singular = key.to_s.sub(/s$/, "").to_sym
380
+
381
+ vals = val.collect do |sub|
382
+ obj = @client.send(singular, sub[:guid], true)
383
+ obj.summarize! sub
384
+ obj
385
+ end
386
+
387
+ self.send(:"#{key}=", vals)
388
+
389
+ elsif self.class.to_one_relations[key]
390
+ obj = @client.send(key, val[:guid], true)
391
+ obj.summarize! val
392
+
393
+ self.send(:"#{key}=", obj)
394
+ end
395
+ end
396
+
397
+ nil
398
+ end
399
+ end
400
+
401
+ def queryable_by(*names)
402
+ klass = self
403
+ singular = object_name
404
+ plural = plural_object_name
405
+
406
+ query = QUERIES[singular]
407
+
408
+ query.module_eval do
409
+ names.each do |name|
410
+ define_method(:"#{singular}_by_#{name}") do |*args|
411
+ send(:"#{plural}_by_#{name}", *args).first
412
+ end
413
+
414
+ define_method(:"#{plural}_by_#{name}") do |val, *args|
415
+ options, _ = args
416
+ options ||= {}
417
+ options[:query] = [name, val]
418
+
419
+ query_target(klass).send(plural, options)
420
+ end
421
+ end
422
+ end
423
+
424
+ const_set(:Queries, query)
425
+
426
+ ClientMethods.module_eval do
427
+ include query
428
+ end
429
+ end
430
+
431
+ def self.params_from(args)
432
+ options, _ = args
433
+ options ||= {}
434
+ options[:depth] ||= 1
435
+
436
+ params = {}
437
+ options.each do |k, v|
438
+ case k
439
+ when :depth
440
+ params[:"inline-relations-depth"] = v
441
+ when :query
442
+ params[:q] = v.join(":")
443
+ end
444
+ end
445
+
446
+ params
447
+ end
448
+ end
449
+ end
@@ -0,0 +1,16 @@
1
+ require "cfoundry/v2/model"
2
+
3
+ module CFoundry::V2
4
+ class Organization < Model
5
+ attribute :name, :string
6
+ to_many :spaces
7
+ to_many :domains
8
+ to_many :users
9
+ to_many :managers, :as => :user
10
+ to_many :billing_managers, :as => :user
11
+ to_many :auditors, :as => :user
12
+
13
+ queryable_by :name, :space_guid, :user_guid, :manager_guid,
14
+ :billing_manager_guid, :auditor_guid
15
+ end
16
+ end
@@ -0,0 +1,15 @@
1
+ require "cfoundry/v2/model"
2
+
3
+ module CFoundry::V2
4
+ class Route < Model
5
+ attribute :host, :string
6
+ to_one :domain
7
+ to_one :space
8
+
9
+ queryable_by :host, :domain_guid
10
+
11
+ def name
12
+ "#{host}.#{domain.name}"
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,12 @@
1
+ require "cfoundry/v2/model"
2
+
3
+ module CFoundry::V2
4
+ class Runtime < Model
5
+ attribute :name, :string
6
+ attribute :description, :string
7
+ attribute :version, :string
8
+ to_many :apps
9
+
10
+ queryable_by :name, :app_guid
11
+ end
12
+ end
@@ -0,0 +1,19 @@
1
+ require "cfoundry/v2/model"
2
+
3
+ module CFoundry::V2
4
+ class Service < Model
5
+ attribute :label, String
6
+ attribute :provider, String
7
+ attribute :url, :url
8
+ attribute :description, String
9
+ attribute :version, String
10
+ attribute :info_url, :url
11
+ attribute :acls, { "users" => [String], "wildcards" => [String] },
12
+ :default => nil
13
+ attribute :timeout, Integer, :default => nil
14
+ attribute :active, :boolean, :default => false
15
+ to_many :service_plans
16
+
17
+ queryable_by :service_plan_guid
18
+ end
19
+ end
@@ -0,0 +1,9 @@
1
+ require "cfoundry/v2/model"
2
+
3
+ module CFoundry::V2
4
+ class ServiceAuthToken < Model
5
+ attribute :label, :string
6
+ attribute :provider, :string
7
+ attribute :token, :string
8
+ end
9
+ end
@@ -0,0 +1,10 @@
1
+ require "cfoundry/v2/model"
2
+
3
+ module CFoundry::V2
4
+ class ServiceBinding < Model
5
+ to_one :app
6
+ to_one :service_instance
7
+
8
+ queryable_by :app_guid, :service_instance_guid
9
+ end
10
+ end
@@ -0,0 +1,14 @@
1
+ require "cfoundry/v2/model"
2
+
3
+ module CFoundry::V2
4
+ class ServiceInstance < Model
5
+ attribute :name, :string
6
+ to_one :space
7
+ to_one :service_plan
8
+ to_many :service_bindings
9
+
10
+ scoped_to_space
11
+
12
+ queryable_by :name, :space_guid, :service_plan_guid, :service_binding_guid
13
+ end
14
+ end
@@ -0,0 +1,12 @@
1
+ require "cfoundry/v2/model"
2
+
3
+ module CFoundry::V2
4
+ class ServicePlan < Model
5
+ attribute :name, :string
6
+ attribute :description, :string
7
+ to_one :service
8
+ to_many :service_instances
9
+
10
+ queryable_by :service_guid, :service_instance_guid
11
+ end
12
+ end