Return-Path: X-Original-To: apmail-deltacloud-dev-archive@www.apache.org Delivered-To: apmail-deltacloud-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 47CDE9A6F for ; Fri, 13 Jan 2012 17:59:08 +0000 (UTC) Received: (qmail 91407 invoked by uid 500); 13 Jan 2012 17:59:08 -0000 Delivered-To: apmail-deltacloud-dev-archive@deltacloud.apache.org Received: (qmail 91387 invoked by uid 500); 13 Jan 2012 17:59:08 -0000 Mailing-List: contact dev-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 dev@deltacloud.apache.org Received: (qmail 91379 invoked by uid 99); 13 Jan 2012 17:59:08 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 13 Jan 2012 17:59:08 +0000 X-ASF-Spam-Status: No, hits=-5.0 required=5.0 tests=RCVD_IN_DNSWL_HI,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of marios@redhat.com designates 209.132.183.28 as permitted sender) Received: from [209.132.183.28] (HELO mx1.redhat.com) (209.132.183.28) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 13 Jan 2012 17:59:00 +0000 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q0DHwcVo024996 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Fri, 13 Jan 2012 12:58:38 -0500 Received: from name.redhat.com (ovpn-112-19.ams2.redhat.com [10.36.112.19]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id q0DHwTEo032037 for ; Fri, 13 Jan 2012 12:58:36 -0500 From: marios@redhat.com To: dev@deltacloud.apache.org Subject: [PATCH 3/5] Adds new CIMI::Network models and routes for Sinatra Date: Fri, 13 Jan 2012 19:58:24 +0200 Message-Id: <1326477506-16989-4-git-send-email-marios@redhat.com> In-Reply-To: <1326477506-16989-1-git-send-email-marios@redhat.com> References: <1326477506-16989-1-git-send-email-marios@redhat.com> X-Scanned-By: MIMEDefang 2.67 on 10.5.11.12 X-Virus-Checked: Checked by ClamAV on apache.org From: marios Signed-off-by: marios --- server/lib/cimi/model.rb | 5 +++ server/lib/cimi/server.rb | 80 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+), 0 deletions(-) diff --git a/server/lib/cimi/model.rb b/server/lib/cimi/model.rb index 4fed4e8..1ecf848 100644 --- a/server/lib/cimi/model.rb +++ b/server/lib/cimi/model.rb @@ -45,3 +45,8 @@ require 'cimi/model/volume_image_collection' require 'cimi/model/volume_template_collection' require 'cimi/model/entity_metadata' require 'cimi/model/entity_metadata_collection' +require 'cimi/model/network' +require 'cimi/model/network_collection' +require 'cimi/model/network_configuration' +require 'cimi/model/network_configuration_collection' +require 'cimi/model/network_template' diff --git a/server/lib/cimi/server.rb b/server/lib/cimi/server.rb index 0829f1b..2a90c0e 100644 --- a/server/lib/cimi/server.rb +++ b/server/lib/cimi/server.rb @@ -492,4 +492,84 @@ global_collection :entity_metadata do end +global_collection :networks do + description 'A Network represents an abstraction of a layer 2 broadcast domain' + + operation :index do + description "List all Networks" + param :CIMISelect, :string, :optional + control do + networks = NetworkCollection.default(self).filter_by(params[:CIMISelect]) + respond_to do |format| + format.xml { networks.to_xml } + format.json { networks.to_json } + end + end + end + + operation :show do + description "Show a specific Network" + param :id, :string, :required + control do + network = Network.find(params[:id], self) + respond_to do |format| + format.xml { network.to_xml } + format.json { network.to_json } + end + end + end + + operation :create do + description "Create a new Network" + control do + if request.content_type.end_with("+json") + network = Network.create_from_json(request.body.read, self) + else + network = Network.create_from_xml(request.body.read, self) + end + respond_to do |format| + format.xml { network.to_xml} + format.json { network.to_json } + end + end + end + + operation :destroy do + description "Delete a specified Network" + param :id, :string, :required + control do + Network.delete!(params[:id], self) + no_content_with_status(200) + end + end + +end + +global_collection :network_configurations do + description 'Network Configurations contain the set of configuration values representing the information needed to create a Network with certain characteristics' + + operation :index do + description 'List all NetworkConfigurations' + param :CIMISelect, :string, :optional + control do + network_configurations = NetworkConfigurationCollection.default(self).filter_by(params[:CIMISelect]) + respond_to do |format| + format.xml { network_configurations.to_xml } + format.json { network_configurations.to_json } + end + end + end + + operation :show do + description 'Show a specific NetworkConfiguration' + param :id, :string, :required + control do + network_config = NetworkConfiguration.find(params[:id], self) + respond_to do + format.xml { network_config.to_xml } + format.json { network_config.to_json } + end + end + end +end end -- 1.7.6.5