1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/aws/models/beanstalk/application.rb
George Scott f0ef3b12f6 Added additional convenience methods to application.
Flushed out application methods and unit test.
2012-03-16 12:39:30 -07:00

62 lines
No EOL
1.5 KiB
Ruby

require 'fog/core/model'
module Fog
module AWS
class ElasticBeanstalk
class Application < Fog::Model
identity :name, :aliases => 'ApplicationName'
attribute :template_names, :aliases => 'ConfigurationTemplates'
attribute :created_at, :aliases => 'DateCreated'
attribute :updated_at, :aliases => 'DateUpdated'
attribute :description, :aliases => 'Description'
attribute :version_names, :aliases => 'Versions'
def initialize(attributes={})
super
end
def environments
requires :name
connection.environments.all({'ApplicationName' => name})
end
def events
requires :name
connection.events.all({'ApplicationName' => name})
end
def templates
requires :name
connection.templates.all({'ApplicationName' => name})
end
def versions
requires :name
connection.versions.all({'ApplicationName' => name})
end
def destroy
requires :name
connection.delete_application(name)
true
end
def save
requires :name
options = {
'ApplicationName' => name
}
options['Description'] = description unless description.nil?
data = connection.create_application(options).body['CreateApplicationResult']['Application']
merge_attributes(data)
true
end
end
end
end
end