Return-Path: X-Original-To: apmail-deltacloud-commits-archive@www.apache.org Delivered-To: apmail-deltacloud-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E5AB0F647 for ; Fri, 26 Apr 2013 15:46:59 +0000 (UTC) Received: (qmail 81278 invoked by uid 500); 26 Apr 2013 15:46:59 -0000 Delivered-To: apmail-deltacloud-commits-archive@deltacloud.apache.org Received: (qmail 81242 invoked by uid 500); 26 Apr 2013 15:46:59 -0000 Mailing-List: contact commits-help@deltacloud.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@deltacloud.apache.org Delivered-To: mailing list commits@deltacloud.apache.org Received: (qmail 81109 invoked by uid 99); 26 Apr 2013 15:46:59 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 26 Apr 2013 15:46:59 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 28D4C882026; Fri, 26 Apr 2013 15:46:59 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: marios@apache.org To: commits@deltacloud.apache.org Date: Fri, 26 Apr 2013 15:47:02 -0000 Message-Id: <14650bb0b37940679531d19b26d1e319@git.apache.org> In-Reply-To: <830efda68ddf4fafbb6bbdf646b4ea08@git.apache.org> References: <830efda68ddf4fafbb6bbdf646b4ea08@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [05/14] git commit: Network API rev 3 - Network Collection (routes) Network API rev 3 - Network Collection (routes) Project: http://git-wip-us.apache.org/repos/asf/deltacloud/repo Commit: http://git-wip-us.apache.org/repos/asf/deltacloud/commit/34a66ca1 Tree: http://git-wip-us.apache.org/repos/asf/deltacloud/tree/34a66ca1 Diff: http://git-wip-us.apache.org/repos/asf/deltacloud/diff/34a66ca1 Branch: refs/heads/master Commit: 34a66ca1b305d2f341cfe48f396e7aac64aa2ffc Parents: 8c9ff36 Author: marios Authored: Fri Apr 12 12:00:21 2013 +0300 Committer: marios Committed: Fri Apr 26 18:01:55 2013 +0300 ---------------------------------------------------------------------- server/lib/deltacloud/collections/networks.rb | 63 ++++++++++++++++++++ 1 files changed, 63 insertions(+), 0 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/deltacloud/blob/34a66ca1/server/lib/deltacloud/collections/networks.rb ---------------------------------------------------------------------- diff --git a/server/lib/deltacloud/collections/networks.rb b/server/lib/deltacloud/collections/networks.rb new file mode 100644 index 0000000..34c7fad --- /dev/null +++ b/server/lib/deltacloud/collections/networks.rb @@ -0,0 +1,63 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. The +# ASF licenses this file to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance with the +# License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +module Deltacloud::Collections + class Networks < Base + + include Deltacloud::Features + + set :capability, lambda { |m| driver.respond_to? m } + check_features :for => lambda { |c, f| driver.class.has_feature?(c, f) } + + get '/networks/new' do + respond_to do |format| + format.html { haml :"networks/new" } + end + end + + collection :networks do + + standard_show_operation + standard_index_operation + + operation :create, :with_capability => :create_network do + param :address_block, :string, :optional + param :name, :string, :optional + control do + @network = driver.create_network(credentials, { :address_block => params[:address_block]}) + respond_to do |format| + format.xml { haml :"networks/show" } + format.html { haml :"networks/show" } + format.json { xml_to_json("networks/show")} + end + end + end + + operation :destroy, :with_capability => :destroy_network do + control do + driver.destroy_network(credentials, params[:id]) + status 204 + respond_to do |format| + format.xml + format.json + format.html { redirect(networks_url) } + end + end + end + + end + + end +end