1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
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
service.environments.all({'ApplicationName' => name})
end
def events
requires :name
service.events.all({'ApplicationName' => name})
end
def templates
requires :name
service.templates.all({'ApplicationName' => name})
end
def versions
requires :name
service.versions.all({'ApplicationName' => name})
end
def destroy
requires :name
service.delete_application(name)
true
end
def save
requires :name
options = {
'ApplicationName' => name
}
options['Description'] = description unless description.nil?
data = service.create_application(options).body['CreateApplicationResult']['Application']
merge_attributes(data)
true
end
end
end
end
end
|