Module: Nucleus::Adapters::V1::OpenshiftV2::Application
- Included in:
- Nucleus::Adapters::V1::OpenshiftV2
- Defined in:
- lib/nucleus/adapters/v1/openshift_v2/application.rb
Instance Method Summary collapse
- #application(application_id) ⇒ Object
- #applications ⇒ Object
-
#create_application(application_entity) ⇒ Object
Creates the Openshift application and enables scaling by default.
- #delete_application(application_id) ⇒ Object
Instance Method Details
#application(application_id) ⇒ Object
12 13 14 |
# File 'lib/nucleus/adapters/v1/openshift_v2/application.rb', line 12 def application(application_id) to_nucleus_app(get("/application/#{app_id_by_name(application_id)}").body[:data]) end |
#applications ⇒ Object
7 8 9 |
# File 'lib/nucleus/adapters/v1/openshift_v2/application.rb', line 7 def applications get('/applications').body[:data].collect { |application| to_nucleus_app(application) } end |
#create_application(application_entity) ⇒ Object
Creates the Openshift application and enables scaling by default.
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/nucleus/adapters/v1/openshift_v2/application.rb', line 18 def create_application(application_entity) # handle runtimes / cartridges fail_with(:only_one_runtime) if application_entity[:runtimes].length > 1 fail_with(:must_have_runtime) if application_entity[:runtimes].length == 0 application_entity[:cartridge] = cartridge(application_entity.delete(:runtimes)[0]) # updates the application with a valid region identity retrieve_region(application_entity) if application_entity.key?(:region) # enable application scaling by default application_entity[:scale] = true unless application_entity.key?(:scale) created_application = post("/domains/#{app_domain}/applications", body: application_entity).body # now make sure we keep at least 2 deployments, allows proper identification of application state updated_application = put("/application/#{created_application[:data][:id]}", body: { keep_deployments: 2, auto_deploy: false }).body to_nucleus_app(updated_application[:data]) end |
#delete_application(application_id) ⇒ Object
37 38 39 |
# File 'lib/nucleus/adapters/v1/openshift_v2/application.rb', line 37 def delete_application(application_id) delete("/applications/#{app_id_by_name(application_id)}") end |