class Bosh::Director::Api::PropertyManager
Public Instance Methods
create_property(deployment, property_name, value)
click to toggle source
# File lib/bosh/director/api/property_manager.rb, line 7 def create_property(deployment, property_name, value) property = Models::DeploymentProperty.new property.deployment = deployment property.name = property_name property.value = value property.save rescue Sequel::ValidationFailed => e if e.errors[[:name, :deployment_id]] && e.errors[[:name, :deployment_id]].include?(:unique) raise PropertyAlreadyExists, "Property '#{property_name}' already exists " + "for deployment '#{deployment.name}'" end invalid_property(e.errors) end
delete_property(deployment, property_name)
click to toggle source
# File lib/bosh/director/api/property_manager.rb, line 33 def delete_property(deployment, property_name) get_property(deployment, property_name).destroy end
get_properties(deployment)
click to toggle source
# File lib/bosh/director/api/property_manager.rb, line 48 def get_properties(deployment) filters = {:deployment_id => deployment.id} Models::DeploymentProperty.filter(filters).all end
get_property(deployment, property_name)
click to toggle source
# File lib/bosh/director/api/property_manager.rb, line 37 def get_property(deployment, property_name) filters = {:deployment_id => deployment.id, :name => property_name} property = Models::DeploymentProperty.find(filters) if property.nil? raise PropertyNotFound, "Property '#{property_name}' not found " + "for deployment '#{deployment.name}'" end property end
update_property(deployment, property_name, value)
click to toggle source
# File lib/bosh/director/api/property_manager.rb, line 24 def update_property(deployment, property_name, value) property = get_property(deployment, property_name) property.value = value property.save rescue Sequel::ValidationFailed => e invalid_property(e.errors) end
Private Instance Methods
invalid_property(errors)
click to toggle source
# File lib/bosh/director/api/property_manager.rb, line 55 def invalid_property(errors) raise PropertyInvalid, "Property is invalid: #{errors.full_messages.sort.join(", ")}" end