cloudstack-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bhais...@apache.org
Subject [17/57] api: Refactor command and response classes to org.apache.cloudstack.api.*
Date Sat, 08 Dec 2012 03:29:51 GMT
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e398b1e4/api/src/org/apache/cloudstack/api/response/ProviderResponse.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/response/ProviderResponse.java b/api/src/org/apache/cloudstack/api/response/ProviderResponse.java
new file mode 100644
index 0000000..4ff34f7
--- /dev/null
+++ b/api/src/org/apache/cloudstack/api/response/ProviderResponse.java
@@ -0,0 +1,106 @@
+// 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.
+package org.apache.cloudstack.api.response;
+
+import java.util.List;
+
+import org.apache.cloudstack.api.ApiConstants;
+import com.cloud.utils.IdentityProxy;
+import com.cloud.serializer.Param;
+import com.google.gson.annotations.SerializedName;
+import org.apache.cloudstack.api.BaseResponse;
+
+@SuppressWarnings("unused")
+public class ProviderResponse extends BaseResponse {
+
+    @SerializedName(ApiConstants.NAME) @Param(description="the provider name")
+    private String name;
+
+    @SerializedName(ApiConstants.PHYSICAL_NETWORK_ID) @Param(description="the physical network this belongs to")
+    private IdentityProxy physicalNetworkId = new IdentityProxy("physical_network");
+
+    @SerializedName(ApiConstants.DEST_PHYSICAL_NETWORK_ID) @Param(description="the destination physical network")
+    private IdentityProxy destinationPhysicalNetworkId = new IdentityProxy("physical_network");
+
+    @SerializedName(ApiConstants.STATE) @Param(description="state of the network provider")
+    private String state;
+
+    @SerializedName(ApiConstants.ID) @Param(description="uuid of the network provider")
+    private String id;
+
+    @SerializedName(ApiConstants.SERVICE_LIST) @Param(description="services for this provider")
+    private List<String> services;
+
+    @SerializedName(ApiConstants.CAN_ENABLE_INDIVIDUAL_SERVICE) @Param(description="true if individual services can be enabled/disabled")
+    private Boolean canEnableIndividualServices;
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setPhysicalNetworkId(long physicalNetworkId) {
+        this.physicalNetworkId.setValue(physicalNetworkId);
+    }
+
+    public long getphysicalNetworkId() {
+        return physicalNetworkId.getValue();
+    }
+
+    public void setDestinationPhysicalNetworkId(long destPhysicalNetworkId) {
+        this.destinationPhysicalNetworkId.setValue(destPhysicalNetworkId);
+    }
+
+    public long getDestinationPhysicalNetworkId() {
+        return destinationPhysicalNetworkId.getValue();
+    }
+
+    public void setState(String state) {
+        this.state = state;
+    }
+
+    public String getState() {
+        return this.state;
+    }
+
+    public void setId(String uuid) {
+        this.id = uuid;
+    }
+
+    public String getId() {
+        return this.id;
+    }
+
+    public void setServices(List<String> services) {
+        this.services = services;
+    }
+
+    public List<String> getServices() {
+        return services;
+    }
+
+    public Boolean getCanEnableIndividualServices() {
+        return canEnableIndividualServices;
+    }
+
+    public void setCanEnableIndividualServices(Boolean canEnableIndividualServices) {
+        this.canEnableIndividualServices = canEnableIndividualServices;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e398b1e4/api/src/org/apache/cloudstack/api/response/RegisterResponse.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/response/RegisterResponse.java b/api/src/org/apache/cloudstack/api/response/RegisterResponse.java
new file mode 100644
index 0000000..eee9249
--- /dev/null
+++ b/api/src/org/apache/cloudstack/api/response/RegisterResponse.java
@@ -0,0 +1,45 @@
+// 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.
+package org.apache.cloudstack.api.response;
+
+import com.cloud.serializer.Param;
+import com.google.gson.annotations.SerializedName;
+import org.apache.cloudstack.api.BaseResponse;
+
+public class RegisterResponse extends BaseResponse {
+    @SerializedName("apikey") @Param(description="the api key of the registered user")
+    private String apiKey;
+
+    @SerializedName("secretkey") @Param(description="the secret key of the registered user")
+    private String secretKey;
+
+    public String getApiKey() {
+        return apiKey;
+    }
+
+    public void setApiKey(String apiKey) {
+        this.apiKey = apiKey;
+    }
+
+    public String getSecretKey() {
+        return secretKey;
+    }
+
+    public void setSecretKey(String secretKey) {
+        this.secretKey = secretKey;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e398b1e4/api/src/org/apache/cloudstack/api/response/RemoteAccessVpnResponse.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/response/RemoteAccessVpnResponse.java b/api/src/org/apache/cloudstack/api/response/RemoteAccessVpnResponse.java
new file mode 100644
index 0000000..038ba73
--- /dev/null
+++ b/api/src/org/apache/cloudstack/api/response/RemoteAccessVpnResponse.java
@@ -0,0 +1,100 @@
+// 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.
+package org.apache.cloudstack.api.response;
+
+import org.apache.cloudstack.api.ApiConstants;
+import com.cloud.utils.IdentityProxy;
+import com.cloud.serializer.Param;
+import com.google.gson.annotations.SerializedName;
+import org.apache.cloudstack.api.BaseResponse;
+
+@SuppressWarnings("unused")
+public class RemoteAccessVpnResponse extends BaseResponse implements ControlledEntityResponse{
+
+    @SerializedName(ApiConstants.PUBLIC_IP_ID) @Param(description="the public ip address of the vpn server")
+    private IdentityProxy publicIpId = new IdentityProxy("user_ip_address");
+
+    @SerializedName(ApiConstants.PUBLIC_IP) @Param(description="the public ip address of the vpn server")
+    private String publicIp;
+
+    @SerializedName("iprange") @Param(description="the range of ips to allocate to the clients")
+    private String ipRange;
+
+    @SerializedName("presharedkey") @Param(description="the ipsec preshared key")
+    private String presharedKey;
+
+    @SerializedName(ApiConstants.ACCOUNT) @Param(description="the account of the remote access vpn")
+    private String accountName;
+
+    @SerializedName(ApiConstants.PROJECT_ID) @Param(description="the project id of the vpn")
+    private IdentityProxy projectId = new IdentityProxy("projects");
+
+    @SerializedName(ApiConstants.PROJECT) @Param(description="the project name of the vpn")
+    private String projectName;
+
+    @SerializedName(ApiConstants.DOMAIN_ID) @Param(description="the domain id of the account of the remote access vpn")
+    private IdentityProxy domainId = new IdentityProxy("domain");
+
+    @SerializedName(ApiConstants.DOMAIN) @Param(description="the domain name of the account of the remote access vpn")
+    private String domainName;
+
+    @SerializedName(ApiConstants.STATE) @Param(description="the state of the rule")
+    private String state;
+
+    public void setPublicIp(String publicIp) {
+        this.publicIp = publicIp;
+    }
+
+    public void setIpRange(String ipRange) {
+        this.ipRange = ipRange;
+    }
+
+    public void setPresharedKey(String presharedKey) {
+        this.presharedKey = presharedKey;
+    }
+
+    public void setAccountName(String accountName) {
+        this.accountName = accountName;
+    }
+
+    public void setDomainId(Long domainId) {
+        this.domainId.setValue(domainId);
+    }
+
+    public void setDomainName(String name) {
+        this.domainName = name;
+    }
+
+    public void setState(String state) {
+        this.state = state;
+    }
+
+    public void setPublicIpId(Long publicIpId) {
+        this.publicIpId.setValue(publicIpId);
+    }
+
+    @Override
+    public void setProjectId(Long projectId) {
+        this.projectId.setValue(projectId);
+    }
+
+    @Override
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e398b1e4/api/src/org/apache/cloudstack/api/response/ResourceCountResponse.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/response/ResourceCountResponse.java b/api/src/org/apache/cloudstack/api/response/ResourceCountResponse.java
new file mode 100644
index 0000000..ac3ba4e
--- /dev/null
+++ b/api/src/org/apache/cloudstack/api/response/ResourceCountResponse.java
@@ -0,0 +1,82 @@
+// 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.
+package org.apache.cloudstack.api.response;
+
+import org.apache.cloudstack.api.ApiConstants;
+import com.cloud.utils.IdentityProxy;
+import com.cloud.serializer.Param;
+import com.google.gson.annotations.SerializedName;
+import org.apache.cloudstack.api.BaseResponse;
+
+@SuppressWarnings("unused")
+public class ResourceCountResponse extends BaseResponse implements ControlledEntityResponse{
+    @SerializedName(ApiConstants.ACCOUNT) @Param(description="the account for which resource count's are updated")
+    private String accountName;
+
+    @SerializedName(ApiConstants.PROJECT_ID) @Param(description="the project id for which resource count's are updated")
+    private IdentityProxy projectId = new IdentityProxy("projects");
+
+    @SerializedName(ApiConstants.PROJECT) @Param(description="the project name for which resource count's are updated")
+    private String projectName;
+
+
+    @SerializedName(ApiConstants.DOMAIN_ID) @Param(description="the domain ID for which resource count's are updated")
+    private IdentityProxy domainId = new IdentityProxy("domain");
+
+    @SerializedName(ApiConstants.DOMAIN) @Param(description="the domain name for which resource count's are updated")
+    private String domainName;
+
+    @SerializedName(ApiConstants.RESOURCE_TYPE) @Param(description="resource type. Values include 0, 1, 2, 3, 4. See the resourceType parameter for more information on these values.")
+    private String resourceType;
+
+    @SerializedName("resourcecount") @Param(description="resource count")
+    private long resourceCount;
+
+    @Override
+    public void setAccountName(String accountName) {
+        this.accountName = accountName;
+    }
+
+    @Override
+    public void setDomainId(Long domainId) {
+        this.domainId.setValue(domainId);
+    }
+
+    @Override
+    public void setDomainName(String domainName) {
+        this.domainName = domainName;
+    }
+
+    public void setResourceType(String resourceType) {
+        this.resourceType = resourceType;
+    }
+
+    public void setResourceCount(Long resourceCount) {
+        this.resourceCount = resourceCount;
+    }
+
+    @Override
+    public void setProjectId(Long projectId) {
+        this.projectId.setValue(projectId);
+    }
+
+    @Override
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e398b1e4/api/src/org/apache/cloudstack/api/response/ResourceLimitResponse.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/response/ResourceLimitResponse.java b/api/src/org/apache/cloudstack/api/response/ResourceLimitResponse.java
new file mode 100644
index 0000000..854ebee
--- /dev/null
+++ b/api/src/org/apache/cloudstack/api/response/ResourceLimitResponse.java
@@ -0,0 +1,80 @@
+// 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.
+package org.apache.cloudstack.api.response;
+
+import org.apache.cloudstack.api.ApiConstants;
+import com.cloud.utils.IdentityProxy;
+import com.cloud.serializer.Param;
+import com.google.gson.annotations.SerializedName;
+import org.apache.cloudstack.api.BaseResponse;
+
+@SuppressWarnings("unused")
+public class ResourceLimitResponse extends BaseResponse implements ControlledEntityResponse {
+    @SerializedName(ApiConstants.ACCOUNT) @Param(description="the account of the resource limit")
+    private String accountName;
+
+    @SerializedName(ApiConstants.DOMAIN_ID) @Param(description="the domain ID of the resource limit")
+    private IdentityProxy domainId = new IdentityProxy("domain");
+
+    @SerializedName(ApiConstants.DOMAIN) @Param(description="the domain name of the resource limit")
+    private String domainName;
+
+    @SerializedName(ApiConstants.RESOURCE_TYPE) @Param(description="resource type. Values include 0, 1, 2, 3, 4. See the resourceType parameter for more information on these values.")
+    private String resourceType;
+
+    @SerializedName("max") @Param(description="the maximum number of the resource. A -1 means the resource currently has no limit.")
+    private Long max;
+
+    @SerializedName(ApiConstants.PROJECT_ID) @Param(description="the project id of the resource limit")
+    private IdentityProxy projectId = new IdentityProxy("projects");
+
+    @SerializedName(ApiConstants.PROJECT) @Param(description="the project name of the resource limit")
+    private String projectName;
+
+    @Override
+    public void setAccountName(String accountName) {
+        this.accountName = accountName;
+    }
+
+    @Override
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
+    @Override
+    public void setDomainId(Long domainId) {
+        this.domainId.setValue(domainId);
+    }
+
+    @Override
+    public void setDomainName(String domainName) {
+        this.domainName = domainName;
+    }
+
+    public void setResourceType(String resourceType) {
+        this.resourceType = resourceType;
+    }
+
+    public void setMax(Long max) {
+        this.max = max;
+    }
+
+    @Override
+    public void setProjectId(Long projectId) {
+        this.projectId.setValue(projectId);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e398b1e4/api/src/org/apache/cloudstack/api/response/ResourceTagResponse.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/response/ResourceTagResponse.java b/api/src/org/apache/cloudstack/api/response/ResourceTagResponse.java
new file mode 100644
index 0000000..30bcbfd
--- /dev/null
+++ b/api/src/org/apache/cloudstack/api/response/ResourceTagResponse.java
@@ -0,0 +1,103 @@
+// 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.
+package org.apache.cloudstack.api.response;
+
+import org.apache.cloudstack.api.ApiConstants;
+import com.cloud.serializer.Param;
+import com.google.gson.annotations.SerializedName;
+import org.apache.cloudstack.api.BaseResponse;
+
+@SuppressWarnings("unused")
+public class ResourceTagResponse extends BaseResponse implements ControlledViewEntityResponse{
+    @SerializedName(ApiConstants.KEY) @Param(description="tag key name")
+    private String key;
+
+    @SerializedName(ApiConstants.VALUE) @Param(description="tag value")
+    private String value;
+
+    @SerializedName(ApiConstants.RESOURCE_TYPE) @Param(description="resource type")
+    private String resourceType;
+
+    @SerializedName(ApiConstants.RESOURCE_ID) @Param(description="id of the resource")
+    private String resourceId;
+
+    @SerializedName(ApiConstants.ACCOUNT)
+    @Param(description = "the account associated with the tag")
+    private String accountName;
+
+    @SerializedName(ApiConstants.PROJECT_ID) @Param(description="the project id the tag belongs to")
+    private String projectId;
+
+    @SerializedName(ApiConstants.PROJECT) @Param(description="the project name where tag belongs to")
+    private String projectName;
+
+    @SerializedName(ApiConstants.DOMAIN_ID)
+    @Param(description = "the ID of the domain associated with the tag")
+    private String domainId;
+
+    @SerializedName(ApiConstants.DOMAIN)
+    @Param(description = "the domain associated with the tag")
+    private String domainName;
+
+    @SerializedName(ApiConstants.CUSTOMER) @Param(description="customer associated with the tag")
+    private String customer;
+
+    public void setKey(String key) {
+        this.key = key;
+    }
+
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    public void setResourceType(String resourceType) {
+        this.resourceType = resourceType;
+    }
+
+    public void setResourceId(String id) {
+        this.resourceId = id;
+    }
+
+    @Override
+    public void setAccountName(String accountName) {
+        this.accountName = accountName;
+    }
+
+    @Override
+    public void setDomainId(String domainId) {
+        this.domainId = domainId;
+    }
+
+    @Override
+    public void setDomainName(String domainName) {
+        this.domainName = domainName;
+    }
+
+    @Override
+    public void setProjectId(String projectId) {
+        this.projectId = projectId;
+    }
+
+    @Override
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
+    public void setCustomer(String customer) {
+        this.customer = customer;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e398b1e4/api/src/org/apache/cloudstack/api/response/SSHKeyPairResponse.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/response/SSHKeyPairResponse.java b/api/src/org/apache/cloudstack/api/response/SSHKeyPairResponse.java
new file mode 100644
index 0000000..6066363
--- /dev/null
+++ b/api/src/org/apache/cloudstack/api/response/SSHKeyPairResponse.java
@@ -0,0 +1,71 @@
+// 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.
+package org.apache.cloudstack.api.response;
+
+import org.apache.cloudstack.api.ApiConstants;
+import com.cloud.serializer.Param;
+import com.google.gson.annotations.SerializedName;
+import org.apache.cloudstack.api.BaseResponse;
+
+public class SSHKeyPairResponse extends BaseResponse {
+
+    @SerializedName(ApiConstants.NAME) @Param(description="Name of the keypair")
+    private String name;
+
+    @SerializedName("fingerprint") @Param(description="Fingerprint of the public key")
+    private String fingerprint;
+
+    @SerializedName("privatekey") @Param(description="Private key")
+    private String privateKey;
+
+    public SSHKeyPairResponse() {}
+
+    public SSHKeyPairResponse(String name, String fingerprint) {
+        this(name, fingerprint, null);
+    }
+
+    public SSHKeyPairResponse(String name, String fingerprint, String privateKey) {
+        this.name = name;
+        this.fingerprint = fingerprint;
+        this.privateKey = privateKey;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getFingerprint() {
+        return fingerprint;
+    }
+
+    public void setFingerprint(String fingerprint) {
+        this.fingerprint = fingerprint;
+    }
+
+    public String getPrivateKey() {
+        return privateKey;
+    }
+
+    public void setPrivateKey(String privateKey) {
+        this.privateKey = privateKey;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e398b1e4/api/src/org/apache/cloudstack/api/response/SecurityGroupResponse.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/response/SecurityGroupResponse.java b/api/src/org/apache/cloudstack/api/response/SecurityGroupResponse.java
new file mode 100644
index 0000000..6900ca5
--- /dev/null
+++ b/api/src/org/apache/cloudstack/api/response/SecurityGroupResponse.java
@@ -0,0 +1,165 @@
+// 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.
+package org.apache.cloudstack.api.response;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.cloudstack.api.ApiConstants;
+import org.apache.cloudstack.api.BaseResponse;
+import org.apache.cloudstack.api.Entity;
+import com.cloud.network.security.SecurityGroup;
+import com.cloud.serializer.Param;
+import com.google.gson.annotations.SerializedName;
+
+@SuppressWarnings("unused")
+@Entity(value = SecurityGroup.class)
+public class SecurityGroupResponse extends BaseResponse implements ControlledViewEntityResponse{
+
+    @SerializedName(ApiConstants.ID) @Param(description="the ID of the security group")
+    private String id;
+
+    @SerializedName(ApiConstants.NAME) @Param(description="the name of the security group")
+    private String name;
+
+    @SerializedName(ApiConstants.DESCRIPTION) @Param(description="the description of the security group")
+    private String description;
+
+    @SerializedName(ApiConstants.ACCOUNT) @Param(description="the account owning the security group")
+    private String accountName;
+
+    @SerializedName(ApiConstants.PROJECT_ID) @Param(description="the project id of the group")
+    private String projectId;
+
+    @SerializedName(ApiConstants.PROJECT) @Param(description="the project name of the group")
+    private String projectName;
+
+    @SerializedName(ApiConstants.DOMAIN_ID) @Param(description="the domain ID of the security group")
+    private String domainId;
+
+    @SerializedName(ApiConstants.DOMAIN) @Param(description="the domain name of the security group")
+    private String domainName;
+
+    @SerializedName("ingressrule")  @Param(description="the list of ingress rules associated with the security group", responseObject = SecurityGroupRuleResponse.class)
+    private Set<SecurityGroupRuleResponse> ingressRules;
+
+    @SerializedName("egressrule")  @Param(description="the list of egress rules associated with the security group", responseObject = SecurityGroupRuleResponse.class)
+    private Set<SecurityGroupRuleResponse> egressRules;
+
+    @SerializedName(ApiConstants.TAGS)  @Param(description="the list of resource tags associated with the rule", responseObject = ResourceTagResponse.class)
+    private Set<ResourceTagResponse> tags;
+
+    public SecurityGroupResponse(){
+        this.ingressRules = new HashSet<SecurityGroupRuleResponse>();
+        this.egressRules = new HashSet<SecurityGroupRuleResponse>();
+        this.tags = new HashSet<ResourceTagResponse>();
+    }
+
+    @Override
+    public String getObjectUuid() {
+        return this.getId();
+    }
+
+    public String getId() {
+        return id;
+     }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public void setAccountName(String accountName) {
+        this.accountName = accountName;
+    }
+
+    @Override
+    public void setDomainId(String domainId) {
+        this.domainId = domainId;
+    }
+
+    public void setDomainName(String domainName) {
+        this.domainName = domainName;
+    }
+
+    public void setSecurityGroupIngressRules(Set<SecurityGroupRuleResponse> securityGroupRules) {
+        this.ingressRules = securityGroupRules;
+    }
+
+    public void addSecurityGroupIngressRule(SecurityGroupRuleResponse rule){
+        this.ingressRules.add(rule);
+    }
+
+    public void setSecurityGroupEgressRules(Set<SecurityGroupRuleResponse> securityGroupRules) {
+        this.egressRules = securityGroupRules;
+    }
+
+    public void addSecurityGroupEgressRule(SecurityGroupRuleResponse rule){
+        this.egressRules.add(rule);
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((id == null) ? 0 : id.hashCode());
+        return result;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj)
+            return true;
+        if (obj == null)
+            return false;
+        if (getClass() != obj.getClass())
+            return false;
+        SecurityGroupResponse other = (SecurityGroupResponse) obj;
+        if (id == null) {
+            if (other.id != null)
+                return false;
+        } else if (!id.equals(other.id))
+            return false;
+        return true;
+    }
+
+    @Override
+    public void setProjectId(String projectId) {
+        this.projectId = projectId;
+    }
+
+    @Override
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
+    public void setTags(Set<ResourceTagResponse> tags) {
+        this.tags = tags;
+    }
+
+    public void addTag(ResourceTagResponse tag){
+        this.tags.add(tag);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e398b1e4/api/src/org/apache/cloudstack/api/response/SecurityGroupRuleResponse.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/response/SecurityGroupRuleResponse.java b/api/src/org/apache/cloudstack/api/response/SecurityGroupRuleResponse.java
new file mode 100644
index 0000000..206e5fb
--- /dev/null
+++ b/api/src/org/apache/cloudstack/api/response/SecurityGroupRuleResponse.java
@@ -0,0 +1,150 @@
+// 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.
+package org.apache.cloudstack.api.response;
+
+import org.apache.cloudstack.api.ApiConstants;
+import com.cloud.serializer.Param;
+import com.google.gson.annotations.SerializedName;
+import org.apache.cloudstack.api.BaseResponse;
+
+public class SecurityGroupRuleResponse extends BaseResponse {
+    @SerializedName("ruleid") @Param(description="the id of the security group rule")
+    private String ruleId;
+
+    @SerializedName("protocol") @Param(description="the protocol of the security group rule")
+    private String protocol;
+
+    @SerializedName(ApiConstants.ICMP_TYPE) @Param(description="the type of the ICMP message response")
+    private Integer icmpType;
+
+    @SerializedName(ApiConstants.ICMP_CODE) @Param(description="the code for the ICMP message response")
+    private Integer icmpCode;
+
+    @SerializedName(ApiConstants.START_PORT) @Param(description="the starting IP of the security group rule")
+    private Integer startPort;
+
+    @SerializedName(ApiConstants.END_PORT) @Param(description="the ending IP of the security group rule ")
+    private Integer endPort;
+
+    @SerializedName(ApiConstants.SECURITY_GROUP_NAME) @Param(description="security group name")
+    private String securityGroupName;
+
+    @SerializedName(ApiConstants.ACCOUNT) @Param(description="account owning the security group rule")
+    private String accountName;
+
+    @SerializedName(ApiConstants.CIDR) @Param(description="the CIDR notation for the base IP address of the security group rule")
+    private String cidr;
+
+    public String getRuleId() {
+        return ruleId;
+    }
+
+    public void setRuleId(String ruleId) {
+        this.ruleId = ruleId;
+    }
+
+    public String getProtocol() {
+        return protocol;
+    }
+
+    public void setProtocol(String protocol) {
+        this.protocol = protocol;
+    }
+
+    public Integer getIcmpType() {
+        return icmpType;
+    }
+
+    public void setIcmpType(Integer icmpType) {
+        this.icmpType = icmpType;
+    }
+
+    public Integer getIcmpCode() {
+        return icmpCode;
+    }
+
+    public void setIcmpCode(Integer icmpCode) {
+        this.icmpCode = icmpCode;
+    }
+
+    public Integer getStartPort() {
+        return startPort;
+    }
+
+    public void setStartPort(Integer startPort) {
+        this.startPort = startPort;
+    }
+
+    public Integer getEndPort() {
+        return endPort;
+    }
+
+    public void setEndPort(Integer endPort) {
+        this.endPort = endPort;
+    }
+
+    public String getSecurityGroupName() {
+        return securityGroupName;
+    }
+
+    public void setSecurityGroupName(String securityGroupName) {
+        this.securityGroupName = securityGroupName;
+    }
+
+    public String getAccountName() {
+        return accountName;
+    }
+
+    public void setAccountName(String accountName) {
+        this.accountName = accountName;
+    }
+
+    public String getCidr() {
+        return cidr;
+    }
+
+    public void setCidr(String cidr) {
+        this.cidr = cidr;
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        String oid = this.getRuleId();
+        result = prime * result + ((oid== null) ? 0 : oid.hashCode());
+        return result;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj)
+            return true;
+        if (obj == null)
+            return false;
+        if (getClass() != obj.getClass())
+            return false;
+        SecurityGroupRuleResponse other = (SecurityGroupRuleResponse) obj;
+        String oid = this.getRuleId();
+        if (oid == null) {
+            if (other.getRuleId() != null)
+                return false;
+        } else if (!oid.equals(other.getRuleId()))
+            return false;
+        return true;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e398b1e4/api/src/org/apache/cloudstack/api/response/ServiceOfferingResponse.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/response/ServiceOfferingResponse.java b/api/src/org/apache/cloudstack/api/response/ServiceOfferingResponse.java
new file mode 100644
index 0000000..788d8e8
--- /dev/null
+++ b/api/src/org/apache/cloudstack/api/response/ServiceOfferingResponse.java
@@ -0,0 +1,225 @@
+// 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.
+package org.apache.cloudstack.api.response;
+
+import java.util.Date;
+
+import org.apache.cloudstack.api.ApiConstants;
+import com.cloud.utils.IdentityProxy;
+import com.cloud.serializer.Param;
+import com.google.gson.annotations.SerializedName;
+import org.apache.cloudstack.api.BaseResponse;
+
+public class ServiceOfferingResponse extends BaseResponse {
+    @SerializedName("id") @Param(description="the id of the service offering")
+    private IdentityProxy id = new IdentityProxy("disk_offering");
+
+    @SerializedName("name") @Param(description="the name of the service offering")
+    private String name;
+
+    @SerializedName("displaytext") @Param(description="an alternate display text of the service offering.")
+    private String displayText;
+
+    @SerializedName("cpunumber") @Param(description="the number of CPU")
+    private int cpuNumber;
+
+    @SerializedName("cpuspeed") @Param(description="the clock rate CPU speed in Mhz")
+    private int cpuSpeed;
+
+    @SerializedName("memory") @Param(description="the memory in MB")
+    private int memory;
+
+    @SerializedName("created") @Param(description="the date this service offering was created")
+    private Date created;
+
+    @SerializedName("storagetype") @Param(description="the storage type for this service offering")
+    private String storageType;
+
+    @SerializedName("offerha") @Param(description="the ha support in the service offering")
+    private Boolean offerHa;
+
+    @SerializedName("limitcpuuse") @Param(description="restrict the CPU usage to committed service offering")
+    private Boolean limitCpuUse;
+
+    @SerializedName("tags") @Param(description="the tags for the service offering")
+    private String tags;
+
+    @SerializedName("domainid") @Param(description="the domain id of the service offering")
+    private IdentityProxy domainId = new IdentityProxy("domain");
+
+    @SerializedName(ApiConstants.DOMAIN) @Param(description="Domain name for the offering")
+    private String domain;
+
+    @SerializedName(ApiConstants.HOST_TAGS) @Param(description="the host tag for the service offering")
+    private String hostTag;
+
+    @SerializedName(ApiConstants.IS_SYSTEM_OFFERING) @Param(description="is this a system vm offering")
+    private Boolean isSystem;
+
+    @SerializedName(ApiConstants.IS_DEFAULT_USE) @Param(description="is this a  default system vm offering")
+    private Boolean defaultUse;
+
+    @SerializedName(ApiConstants.SYSTEM_VM_TYPE) @Param(description="is this a the systemvm type for system vm offering")
+    private String vm_type;
+
+    @SerializedName(ApiConstants.NETWORKRATE) @Param(description="data transfer rate in megabits per second allowed.")
+    private Integer networkRate;
+
+
+    public Long getId() {
+        return id.getValue();
+    }
+
+    public void setId(Long id) {
+        this.id.setValue(id);
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Boolean getIsSystem() {
+        return isSystem;
+    }
+
+    public void setIsSystemOffering(Boolean isSystem) {
+        this.isSystem = isSystem;
+    }
+
+
+    public Boolean getDefaultUse() {
+        return defaultUse;
+    }
+
+    public void setDefaultUse(Boolean defaultUse) {
+        this.defaultUse = defaultUse;
+    }
+
+
+    public String getSystemVmType() {
+        return vm_type;
+    }
+
+    public void setSystemVmType(String vmtype) {
+        this.vm_type = vmtype;
+    }
+
+
+    public String getDisplayText() {
+        return displayText;
+    }
+
+    public void setDisplayText(String displayText) {
+        this.displayText = displayText;
+    }
+
+    public int getCpuNumber() {
+        return cpuNumber;
+    }
+
+    public void setCpuNumber(int cpuNumber) {
+        this.cpuNumber = cpuNumber;
+    }
+
+    public int getCpuSpeed() {
+        return cpuSpeed;
+    }
+
+    public void setCpuSpeed(int cpuSpeed) {
+        this.cpuSpeed = cpuSpeed;
+    }
+
+    public int getMemory() {
+        return memory;
+    }
+
+    public void setMemory(int memory) {
+        this.memory = memory;
+    }
+
+    public Date getCreated() {
+        return created;
+    }
+
+    public void setCreated(Date created) {
+        this.created = created;
+    }
+
+    public String getStorageType() {
+        return storageType;
+    }
+
+    public void setStorageType(String storageType) {
+        this.storageType = storageType;
+    }
+
+    public Boolean getOfferHa() {
+        return offerHa;
+    }
+
+    public void setOfferHa(Boolean offerHa) {
+        this.offerHa = offerHa;
+    }
+
+    public Boolean getLimitCpuUse() {
+        return limitCpuUse;
+    }
+
+    public void setLimitCpuUse(Boolean limitCpuUse) {
+        this.limitCpuUse = limitCpuUse;
+    }
+
+    public String getTags() {
+        return tags;
+    }
+
+    public void setTags(String tags) {
+        this.tags = tags;
+    }
+
+    public Long getDomainId() {
+        return domainId.getValue();
+    }
+
+    public void setDomainId(Long domainId) {
+        this.domainId.setValue(domainId);
+    }
+
+    public String getDomain() {
+        return domain;
+    }
+
+    public void setDomain(String domain) {
+        this.domain = domain;
+    }
+
+    public String getHostTag() {
+        return hostTag;
+    }
+
+    public void setHostTag(String hostTag) {
+        this.hostTag = hostTag;
+    }
+
+    public void setNetworkRate(Integer networkRate) {
+        this.networkRate = networkRate;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e398b1e4/api/src/org/apache/cloudstack/api/response/ServiceResponse.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/response/ServiceResponse.java b/api/src/org/apache/cloudstack/api/response/ServiceResponse.java
new file mode 100644
index 0000000..11f7d71
--- /dev/null
+++ b/api/src/org/apache/cloudstack/api/response/ServiceResponse.java
@@ -0,0 +1,49 @@
+// 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.
+package org.apache.cloudstack.api.response;
+
+import java.util.List;
+
+import org.apache.cloudstack.api.ApiConstants;
+import com.cloud.serializer.Param;
+import com.google.gson.annotations.SerializedName;
+import org.apache.cloudstack.api.BaseResponse;
+
+@SuppressWarnings("unused")
+public class ServiceResponse extends BaseResponse {
+
+    @SerializedName(ApiConstants.NAME) @Param(description="the service name")
+    private String name;
+
+    @SerializedName(ApiConstants.PROVIDER) @Param(description="the service provider name")
+    private List<ProviderResponse> providers;
+
+    @SerializedName("capability") @Param(description="the list of capabilities", responseObject = CapabilityResponse.class)
+    private List<CapabilityResponse> capabilities;
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public void setCapabilities(List<CapabilityResponse> capabilities) {
+        this.capabilities = capabilities;
+    }
+
+    public void setProviders(List<ProviderResponse> providers) {
+        this.providers = providers;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e398b1e4/api/src/org/apache/cloudstack/api/response/Site2SiteCustomerGatewayResponse.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/response/Site2SiteCustomerGatewayResponse.java b/api/src/org/apache/cloudstack/api/response/Site2SiteCustomerGatewayResponse.java
new file mode 100644
index 0000000..29bfeaa
--- /dev/null
+++ b/api/src/org/apache/cloudstack/api/response/Site2SiteCustomerGatewayResponse.java
@@ -0,0 +1,153 @@
+// 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.
+package org.apache.cloudstack.api.response;
+
+import java.util.Date;
+
+import org.apache.cloudstack.api.ApiConstants;
+import com.cloud.utils.IdentityProxy;
+import com.cloud.serializer.Param;
+import com.google.gson.annotations.SerializedName;
+import org.apache.cloudstack.api.BaseResponse;
+
+@SuppressWarnings("unused")
+public class Site2SiteCustomerGatewayResponse extends BaseResponse implements ControlledEntityResponse {
+    @SerializedName(ApiConstants.ID) @Param(description="the vpn gateway ID")
+    private IdentityProxy id = new IdentityProxy("s2s_customer_gateway");
+
+    @SerializedName(ApiConstants.NAME) @Param(description="name of the customer gateway")
+    private String name;
+
+    @SerializedName(ApiConstants.GATEWAY) @Param(description="public ip address id of the customer gateway")
+    private String gatewayIp;
+
+    @SerializedName(ApiConstants.IP_ADDRESS) @Param(description="guest ip of the customer gateway")
+    private String guestIp;
+
+    @SerializedName(ApiConstants.CIDR_LIST) @Param(description="guest cidr list of the customer gateway")
+    private String guestCidrList;
+
+    @SerializedName(ApiConstants.IPSEC_PSK) @Param(description="IPsec preshared-key of customer gateway")
+    private String ipsecPsk;
+
+    @SerializedName(ApiConstants.IKE_POLICY) @Param(description="IKE policy of customer gateway")
+    private String ikePolicy;
+
+    @SerializedName(ApiConstants.ESP_POLICY) @Param(description="IPsec policy of customer gateway")
+    private String espPolicy;
+
+    @SerializedName(ApiConstants.IKE_LIFETIME) @Param(description="Lifetime of IKE SA of customer gateway")
+    private Long ikeLifetime;
+
+    @SerializedName(ApiConstants.ESP_LIFETIME) @Param(description="Lifetime of ESP SA of customer gateway")
+    private Long espLifetime;
+
+    @SerializedName(ApiConstants.DPD) @Param(description="if DPD is enabled for customer gateway")
+    private Boolean dpd;
+
+    @SerializedName(ApiConstants.ACCOUNT) @Param(description="the owner")
+    private String accountName;
+
+    @SerializedName(ApiConstants.PROJECT_ID) @Param(description="the project id")
+    private IdentityProxy projectId = new IdentityProxy("projects");
+
+    @SerializedName(ApiConstants.PROJECT) @Param(description="the project name")
+    private String projectName;
+
+    @SerializedName(ApiConstants.DOMAIN_ID) @Param(description="the domain id of the owner")
+    private IdentityProxy domainId = new IdentityProxy("domain");
+
+    @SerializedName(ApiConstants.DOMAIN) @Param(description="the domain name of the owner")
+    private String domain;
+
+    @SerializedName(ApiConstants.REMOVED) @Param(description="the date and time the host was removed")
+    private Date removed;
+
+    public void setId(Long id) {
+        this.id.setValue(id);
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public void setGatewayIp(String gatewayIp) {
+        this.gatewayIp = gatewayIp;
+    }
+
+    public void setGuestIp(String guestIp) {
+        this.guestIp = guestIp;
+    }
+
+    public void setGuestCidrList(String guestCidrList) {
+        this.guestCidrList = guestCidrList;
+    }
+
+    public void setIpsecPsk(String ipsecPsk) {
+        this.ipsecPsk = ipsecPsk;
+    }
+
+    public void setIkePolicy(String ikePolicy) {
+        this.ikePolicy = ikePolicy;
+    }
+
+    public void setEspPolicy(String espPolicy) {
+        this.espPolicy = espPolicy;
+    }
+
+    public void setIkeLifetime(Long ikeLifetime) {
+        this.ikeLifetime = ikeLifetime;
+    }
+
+    public void setEspLifetime(Long espLifetime) {
+        this.espLifetime = espLifetime;
+    }
+
+    public void setDpd(Boolean dpd) {
+        this.dpd= dpd;
+    }
+
+    public void setRemoved(Date removed) {
+        this.removed = removed;
+    }
+
+    @Override
+    public void setAccountName(String accountName) {
+        this.accountName = accountName;
+    }
+
+    @Override
+    public void setProjectId(Long projectId) {
+        this.projectId.setValue(projectId);
+    }
+
+    @Override
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
+    @Override
+    public void setDomainId(Long domainId) {
+        this.domainId.setValue(domainId);
+    }
+
+    @Override
+    public void setDomainName(String domainName) {
+        this.domain = domainName;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e398b1e4/api/src/org/apache/cloudstack/api/response/Site2SiteVpnConnectionResponse.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/response/Site2SiteVpnConnectionResponse.java b/api/src/org/apache/cloudstack/api/response/Site2SiteVpnConnectionResponse.java
new file mode 100644
index 0000000..cbddee7
--- /dev/null
+++ b/api/src/org/apache/cloudstack/api/response/Site2SiteVpnConnectionResponse.java
@@ -0,0 +1,174 @@
+// 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.
+package org.apache.cloudstack.api.response;
+
+import java.util.Date;
+
+import org.apache.cloudstack.api.ApiConstants;
+import com.cloud.utils.IdentityProxy;
+import com.cloud.serializer.Param;
+import com.google.gson.annotations.SerializedName;
+import org.apache.cloudstack.api.BaseResponse;
+
+@SuppressWarnings("unused")
+public class Site2SiteVpnConnectionResponse extends BaseResponse implements ControlledEntityResponse {
+    @SerializedName(ApiConstants.ID) @Param(description="the vpn gateway ID")
+    private IdentityProxy id = new IdentityProxy("s2s_vpn_connection");
+
+    @SerializedName(ApiConstants.S2S_VPN_GATEWAY_ID) @Param(description="the vpn gateway ID")
+    private IdentityProxy vpnGatewayId= new IdentityProxy("s2s_vpn_gateway");
+
+    @SerializedName(ApiConstants.PUBLIC_IP) @Param(description="the public IP address") //from VpnGateway
+    private String ip;
+
+    @SerializedName(ApiConstants.S2S_CUSTOMER_GATEWAY_ID) @Param(description="the customer gateway ID")
+    private IdentityProxy customerGatewayId = new IdentityProxy("s2s_customer_gateway");
+
+    @SerializedName(ApiConstants.GATEWAY) @Param(description="public ip address id of the customer gateway") //from CustomerGateway
+    private String gatewayIp;
+
+    @SerializedName(ApiConstants.CIDR_LIST) @Param(description="guest cidr list of the customer gateway") //from CustomerGateway
+    private String guestCidrList;
+
+    @SerializedName(ApiConstants.IPSEC_PSK) @Param(description="IPsec Preshared-Key of the customer gateway") //from CustomerGateway
+    private String ipsecPsk;
+
+    @SerializedName(ApiConstants.IKE_POLICY) @Param(description="IKE policy of the customer gateway") //from CustomerGateway
+    private String ikePolicy;
+
+    @SerializedName(ApiConstants.ESP_POLICY) @Param(description="ESP policy of the customer gateway") //from CustomerGateway
+    private String espPolicy;
+
+    @SerializedName(ApiConstants.IKE_LIFETIME) @Param(description="Lifetime of IKE SA of customer gateway") //from CustomerGateway
+    private Long ikeLifetime;
+
+    @SerializedName(ApiConstants.ESP_LIFETIME) @Param(description="Lifetime of ESP SA of customer gateway") //from CustomerGateway
+    private Long espLifetime;
+
+    @SerializedName(ApiConstants.DPD) @Param(description="if DPD is enabled for customer gateway") //from CustomerGateway
+    private Boolean dpd;
+
+    @SerializedName(ApiConstants.STATE) @Param(description="State of vpn connection")
+    private String state;
+
+    @SerializedName(ApiConstants.ACCOUNT) @Param(description="the owner")
+    private String accountName;
+
+    @SerializedName(ApiConstants.PROJECT_ID) @Param(description="the project id")
+    private IdentityProxy projectId = new IdentityProxy("projects");
+
+    @SerializedName(ApiConstants.PROJECT) @Param(description="the project name")
+    private String projectName;
+
+    @SerializedName(ApiConstants.DOMAIN_ID) @Param(description="the domain id of the owner")
+    private IdentityProxy domainId = new IdentityProxy("domain");
+
+    @SerializedName(ApiConstants.DOMAIN) @Param(description="the domain name of the owner")
+    private String domain;
+
+    @SerializedName(ApiConstants.CREATED) @Param(description="the date and time the host was created")
+    private Date created;
+
+    @SerializedName(ApiConstants.REMOVED) @Param(description="the date and time the host was removed")
+    private Date removed;
+
+    public void setId(Long id) {
+        this.id.setValue(id);
+    }
+
+    public void setVpnGatewayId(Long vpnGatewayId) {
+        this.vpnGatewayId.setValue(vpnGatewayId);
+    }
+
+    public void setIp(String ip) {
+        this.ip = ip;
+    }
+
+    public void setCustomerGatewayId(Long customerGatewayId) {
+        this.customerGatewayId.setValue(customerGatewayId);
+    }
+
+    public void setGatewayIp(String gatewayIp) {
+        this.gatewayIp = gatewayIp;
+    }
+
+    public void setGuestCidrList(String guestCidrList) {
+        this.guestCidrList = guestCidrList;
+    }
+
+    public void setIpsecPsk(String ipsecPsk) {
+        this.ipsecPsk = ipsecPsk;
+    }
+
+    public void setIkePolicy(String ikePolicy) {
+        this.ikePolicy = ikePolicy;
+    }
+
+    public void setEspPolicy(String espPolicy) {
+        this.espPolicy = espPolicy;
+    }
+
+    public void setIkeLifetime(Long ikeLifetime) {
+        this.ikeLifetime = ikeLifetime;
+    }
+
+    public void setEspLifetime(Long espLifetime) {
+        this.espLifetime = espLifetime;
+    }
+
+    public void setDpd(Boolean dpd) {
+        this.dpd= dpd;
+    }
+
+    public void setState(String state) {
+        this.state = state;
+    }
+
+    public void setCreated(Date created) {
+        this.created = created;
+    }
+
+    public void setRemoved(Date removed) {
+        this.removed = removed;
+    }
+
+    @Override
+    public void setAccountName(String accountName) {
+        this.accountName = accountName;
+    }
+
+    @Override
+    public void setProjectId(Long projectId) {
+        this.projectId.setValue(projectId);
+    }
+
+    @Override
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
+    @Override
+    public void setDomainId(Long domainId) {
+        this.domainId.setValue(domainId);
+    }
+
+    @Override
+    public void setDomainName(String domainName) {
+        this.domain = domainName;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e398b1e4/api/src/org/apache/cloudstack/api/response/Site2SiteVpnGatewayResponse.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/response/Site2SiteVpnGatewayResponse.java b/api/src/org/apache/cloudstack/api/response/Site2SiteVpnGatewayResponse.java
new file mode 100644
index 0000000..5165912
--- /dev/null
+++ b/api/src/org/apache/cloudstack/api/response/Site2SiteVpnGatewayResponse.java
@@ -0,0 +1,97 @@
+// 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.
+package org.apache.cloudstack.api.response;
+
+import java.util.Date;
+
+import org.apache.cloudstack.api.ApiConstants;
+import com.cloud.utils.IdentityProxy;
+import com.cloud.serializer.Param;
+import com.google.gson.annotations.SerializedName;
+import org.apache.cloudstack.api.BaseResponse;
+
+@SuppressWarnings("unused")
+public class Site2SiteVpnGatewayResponse extends BaseResponse implements ControlledEntityResponse {
+    @SerializedName(ApiConstants.ID) @Param(description="the vpn gateway ID")
+    private IdentityProxy id = new IdentityProxy("s2s_vpn_gateway");
+
+    @SerializedName(ApiConstants.PUBLIC_IP) @Param(description="the public IP address")
+    private String ip;
+
+    @SerializedName(ApiConstants.VPC_ID) @Param(description="the vpc id of this gateway")
+    private IdentityProxy vpcId = new IdentityProxy("vpc");
+
+    @SerializedName(ApiConstants.ACCOUNT) @Param(description="the owner")
+    private String accountName;
+
+    @SerializedName(ApiConstants.PROJECT_ID) @Param(description="the project id")
+    private IdentityProxy projectId = new IdentityProxy("projects");
+
+    @SerializedName(ApiConstants.PROJECT) @Param(description="the project name")
+    private String projectName;
+
+    @SerializedName(ApiConstants.DOMAIN_ID) @Param(description="the domain id of the owner")
+    private IdentityProxy domainId = new IdentityProxy("domain");
+
+    @SerializedName(ApiConstants.DOMAIN) @Param(description="the domain name of the owner")
+    private String domain;
+
+    @SerializedName(ApiConstants.REMOVED) @Param(description="the date and time the host was removed")
+    private Date removed;
+
+    public void setId(Long id) {
+        this.id.setValue(id);
+    }
+
+    public void setIp(String ip) {
+        this.ip = ip;
+    }
+
+    public void setVpcId(Long vpcId) {
+        this.vpcId.setValue(vpcId);
+    }
+
+    public void setRemoved(Date removed) {
+        this.removed = removed;
+    }
+
+    @Override
+    public void setAccountName(String accountName) {
+        this.accountName = accountName;
+    }
+
+    @Override
+    public void setProjectId(Long projectId) {
+        this.projectId.setValue(projectId);
+    }
+
+    @Override
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
+    @Override
+    public void setDomainId(Long domainId) {
+        this.domainId.setValue(domainId);
+    }
+
+    @Override
+    public void setDomainName(String domainName) {
+        this.domain = domainName;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e398b1e4/api/src/org/apache/cloudstack/api/response/SnapshotPolicyResponse.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/response/SnapshotPolicyResponse.java b/api/src/org/apache/cloudstack/api/response/SnapshotPolicyResponse.java
new file mode 100644
index 0000000..01eed3c
--- /dev/null
+++ b/api/src/org/apache/cloudstack/api/response/SnapshotPolicyResponse.java
@@ -0,0 +1,90 @@
+// 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.
+package org.apache.cloudstack.api.response;
+
+import com.cloud.utils.IdentityProxy;
+import com.cloud.serializer.Param;
+import com.google.gson.annotations.SerializedName;
+import org.apache.cloudstack.api.BaseResponse;
+
+public class SnapshotPolicyResponse extends BaseResponse {
+    @SerializedName("id") @Param(description="the ID of the snapshot policy")
+    private IdentityProxy id = new IdentityProxy("snapshot_policy");
+
+    @SerializedName("volumeid") @Param(description="the ID of the disk volume")
+    private IdentityProxy volumeId = new IdentityProxy("volumes");
+
+    @SerializedName("schedule") @Param(description="time the snapshot is scheduled to be taken.")
+    private String schedule;
+
+    @SerializedName("intervaltype") @Param(description="the interval type of the snapshot policy")
+    private short intervalType;
+
+    @SerializedName("maxsnaps") @Param(description="maximum number of snapshots retained")
+    private int maxSnaps;
+
+    @SerializedName("timezone") @Param(description="the time zone of the snapshot policy")
+    private String timezone;
+
+    public Long getId() {
+        return id.getValue();
+    }
+
+    public void setId(Long id) {
+        this.id.setValue(id);
+    }
+
+    public Long getVolumeId() {
+        return volumeId.getValue();
+    }
+
+    public void setVolumeId(Long volumeId) {
+        this.volumeId.setValue(volumeId);
+    }
+
+    public String getSchedule() {
+        return schedule;
+    }
+
+    public void setSchedule(String schedule) {
+        this.schedule = schedule;
+    }
+
+    public short getIntervalType() {
+        return intervalType;
+    }
+
+    public void setIntervalType(short intervalType) {
+        this.intervalType = intervalType;
+    }
+
+    public int getMaxSnaps() {
+        return maxSnaps;
+    }
+
+    public void setMaxSnaps(int maxSnaps) {
+        this.maxSnaps = maxSnaps;
+    }
+
+    public String getTimezone() {
+        return timezone;
+    }
+
+    public void setTimezone(String timezone) {
+        this.timezone = timezone;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e398b1e4/api/src/org/apache/cloudstack/api/response/SnapshotResponse.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/response/SnapshotResponse.java b/api/src/org/apache/cloudstack/api/response/SnapshotResponse.java
new file mode 100644
index 0000000..05b178b
--- /dev/null
+++ b/api/src/org/apache/cloudstack/api/response/SnapshotResponse.java
@@ -0,0 +1,166 @@
+// 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.
+package org.apache.cloudstack.api.response;
+
+import java.util.Date;
+import java.util.List;
+
+import org.apache.cloudstack.api.ApiConstants;
+import com.cloud.serializer.Param;
+import com.cloud.storage.Snapshot;
+import com.cloud.utils.IdentityProxy;
+import com.google.gson.annotations.SerializedName;
+import org.apache.cloudstack.api.BaseResponse;
+
+@SuppressWarnings("unused")
+public class SnapshotResponse extends BaseResponse implements ControlledEntityResponse {
+    @SerializedName(ApiConstants.ID)
+    @Param(description = "ID of the snapshot")
+    private IdentityProxy id = new IdentityProxy("snapshots");
+
+    @SerializedName(ApiConstants.ACCOUNT)
+    @Param(description = "the account associated with the snapshot")
+    private String accountName;
+
+    @SerializedName(ApiConstants.DOMAIN_ID)
+    @Param(description = "the domain ID of the snapshot's account")
+    private IdentityProxy domainId = new IdentityProxy("domain");
+
+    @SerializedName(ApiConstants.DOMAIN)
+    @Param(description = "the domain name of the snapshot's account")
+    private String domainName;
+
+    @SerializedName(ApiConstants.PROJECT_ID) @Param(description="the project id of the snapshot")
+    private IdentityProxy projectId = new IdentityProxy("projects");
+
+    @SerializedName(ApiConstants.PROJECT) @Param(description="the project name of the snapshot")
+    private String projectName;
+
+    @SerializedName(ApiConstants.SNAPSHOT_TYPE)
+    @Param(description = "the type of the snapshot")
+    private String snapshotType;
+
+    @SerializedName(ApiConstants.VOLUME_ID)
+    @Param(description = "ID of the disk volume")
+    private IdentityProxy volumeId = new IdentityProxy("volumes");
+
+    @SerializedName(ApiConstants.VOLUME_NAME)
+    @Param(description = "name of the disk volume")
+    private String volumeName;
+
+    @SerializedName("volumetype")
+    @Param(description = "type of the disk volume")
+    private String volumeType;
+
+    @SerializedName(ApiConstants.CREATED)
+    @Param(description = "  the date the snapshot was created")
+    private Date created;
+
+    @SerializedName(ApiConstants.NAME)
+    @Param(description = "name of the snapshot")
+    private String name;
+
+    @SerializedName(ApiConstants.INTERVAL_TYPE)
+    @Param(description = "valid types are hourly, daily, weekly, monthy, template, and none.")
+    private String intervalType;
+
+    @SerializedName(ApiConstants.STATE)
+    @Param(description = "the state of the snapshot. BackedUp means that snapshot is ready to be used; Creating - the snapshot is being allocated on the primary storage; BackingUp - the snapshot is being backed up on secondary storage")
+    private Snapshot.Status state;
+
+    @SerializedName(ApiConstants.TAGS)  @Param(description="the list of resource tags associated with snapshot", responseObject = ResourceTagResponse.class)
+    private List<ResourceTagResponse> tags;
+
+    @Override
+    public Long getObjectId() {
+        return getId();
+    }
+
+    private Long getId() {
+        return id.getValue();
+    }
+
+    public void setId(Long id) {
+        this.id.setValue(id);
+    }
+
+    public String getAccountName() {
+        return accountName;
+    }
+
+    public void setAccountName(String accountName) {
+        this.accountName = accountName;
+    }
+
+    public Long getDomainId() {
+        return domainId.getValue();
+    }
+
+    public void setDomainId(Long domainId) {
+        this.domainId.setValue(domainId);
+    }
+
+    public void setDomainName(String domainName) {
+        this.domainName = domainName;
+    }
+
+    public void setSnapshotType(String snapshotType) {
+        this.snapshotType = snapshotType;
+    }
+
+    public void setVolumeId(Long volumeId) {
+        this.volumeId.setValue(volumeId);
+    }
+
+    public void setVolumeName(String volumeName) {
+        this.volumeName = volumeName;
+    }
+
+    public void setVolumeType(String volumeType) {
+        this.volumeType = volumeType;
+    }
+
+    public void setCreated(Date created) {
+        this.created = created;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public void setIntervalType(String intervalType) {
+        this.intervalType = intervalType;
+    }
+
+    public void setState(Snapshot.Status state) {
+        this.state = state;
+    }
+
+    @Override
+    public void setProjectId(Long projectId) {
+        this.projectId.setValue(projectId);
+    }
+
+    @Override
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
+    public void setTags(List<ResourceTagResponse> tags) {
+        this.tags = tags;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e398b1e4/api/src/org/apache/cloudstack/api/response/SnapshotScheduleResponse.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/response/SnapshotScheduleResponse.java b/api/src/org/apache/cloudstack/api/response/SnapshotScheduleResponse.java
new file mode 100644
index 0000000..3d8de3e
--- /dev/null
+++ b/api/src/org/apache/cloudstack/api/response/SnapshotScheduleResponse.java
@@ -0,0 +1,70 @@
+// 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.
+package org.apache.cloudstack.api.response;
+
+import java.util.Date;
+
+import com.cloud.utils.IdentityProxy;
+import com.cloud.serializer.Param;
+import com.google.gson.annotations.SerializedName;
+import org.apache.cloudstack.api.BaseResponse;
+
+public class SnapshotScheduleResponse extends BaseResponse {
+    @SerializedName("id") @Param(description="the ID of the snapshot schedule")
+    private IdentityProxy id = new IdentityProxy("snapshot_schedule");
+
+    @SerializedName("volumeid") @Param(description="the volume ID the snapshot schedule applied for")
+    private IdentityProxy volumeId = new IdentityProxy("volumes");
+
+    @SerializedName("snapshotpolicyid") @Param(description="the snapshot policy ID used by the snapshot schedule")
+    private IdentityProxy snapshotPolicyId = new IdentityProxy("snapshot_policy");
+
+    @SerializedName("scheduled") @Param(description="time the snapshot is scheduled to be taken")
+    private Date scheduled;
+
+    public Long getId() {
+        return id.getValue();
+    }
+
+    public void setId(Long id) {
+        this.id.setValue(id);
+    }
+
+    public Long getVolumeId() {
+        return volumeId.getValue();
+    }
+
+    public void setVolumeId(Long volumeId) {
+        this.volumeId.setValue(volumeId);
+    }
+
+    public Long getSnapshotPolicyId() {
+        return snapshotPolicyId.getValue();
+    }
+
+    public void setSnapshotPolicyId(Long snapshotPolicyId) {
+        this.snapshotPolicyId.setValue(snapshotPolicyId);
+    }
+
+    public Date getScheduled() {
+        return scheduled;
+    }
+
+    public void setScheduled(Date scheduled) {
+        this.scheduled = scheduled;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e398b1e4/api/src/org/apache/cloudstack/api/response/StaticRouteResponse.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/response/StaticRouteResponse.java b/api/src/org/apache/cloudstack/api/response/StaticRouteResponse.java
new file mode 100644
index 0000000..d610380
--- /dev/null
+++ b/api/src/org/apache/cloudstack/api/response/StaticRouteResponse.java
@@ -0,0 +1,114 @@
+// 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.
+package org.apache.cloudstack.api.response;
+
+import java.util.List;
+
+import org.apache.cloudstack.api.ApiConstants;
+import com.cloud.serializer.Param;
+import com.cloud.utils.IdentityProxy;
+import com.google.gson.annotations.SerializedName;
+import org.apache.cloudstack.api.BaseResponse;
+
+@SuppressWarnings("unused")
+public class StaticRouteResponse extends BaseResponse implements ControlledEntityResponse{
+    @SerializedName(ApiConstants.ID) @Param(description="the ID of static route")
+    private IdentityProxy id = new IdentityProxy("static_routes");
+
+    @SerializedName(ApiConstants.STATE) @Param(description="the state of the static route")
+    private String state;
+
+    @SerializedName(ApiConstants.VPC_ID) @Param(description="VPC the static route belongs to")
+    private IdentityProxy vpcId = new IdentityProxy("vpc");
+
+    @SerializedName(ApiConstants.GATEWAY_ID) @Param(description="VPC gateway the route is created for")
+    private IdentityProxy gatewayId = new IdentityProxy("vpc_gateways");
+
+    @SerializedName(ApiConstants.CIDR) @Param(description="static route CIDR")
+    private String cidr;
+
+    @SerializedName(ApiConstants.ACCOUNT)
+    @Param(description = "the account associated with the static route")
+    private String accountName;
+
+    @SerializedName(ApiConstants.PROJECT_ID) @Param(description="the project id of the static route")
+    private IdentityProxy projectId = new IdentityProxy("projects");
+
+    @SerializedName(ApiConstants.PROJECT) @Param(description="the project name of the static route")
+    private String projectName;
+
+    @SerializedName(ApiConstants.DOMAIN_ID)
+    @Param(description = "the ID of the domain associated with the static route")
+    private IdentityProxy domainId = new IdentityProxy("domain");
+
+    @SerializedName(ApiConstants.DOMAIN)
+    @Param(description = "the domain associated with the static route")
+    private String domainName;
+
+    @SerializedName(ApiConstants.TAGS)  @Param(description="the list of resource tags associated with static route",
+            responseObject = ResourceTagResponse.class)
+    private List<ResourceTagResponse> tags;
+
+    public void setId(Long id) {
+        this.id.setValue(id);
+    }
+
+    public void setState(String state) {
+        this.state = state;
+    }
+
+    public void setVpcId(Long vpcId) {
+        this.vpcId.setValue(vpcId);
+    }
+
+    public void setGatewayId(Long gatewayId) {
+        this.gatewayId.setValue(gatewayId);
+    }
+
+    public void setCidr(String cidr) {
+        this.cidr = cidr;
+    }
+
+    @Override
+    public void setAccountName(String accountName) {
+        this.accountName = accountName;
+    }
+
+    @Override
+    public void setDomainId(Long domainId) {
+        this.domainId.setValue(domainId);
+    }
+
+    @Override
+    public void setDomainName(String domainName) {
+        this.domainName = domainName;
+    }
+
+    @Override
+    public void setProjectId(Long projectId) {
+        this.projectId.setValue(projectId);
+    }
+
+    @Override
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
+    public void setTags(List<ResourceTagResponse> tags) {
+        this.tags = tags;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e398b1e4/api/src/org/apache/cloudstack/api/response/StatusResponse.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/response/StatusResponse.java b/api/src/org/apache/cloudstack/api/response/StatusResponse.java
new file mode 100644
index 0000000..ffe7c7c
--- /dev/null
+++ b/api/src/org/apache/cloudstack/api/response/StatusResponse.java
@@ -0,0 +1,33 @@
+// 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.
+package org.apache.cloudstack.api.response;
+
+import com.google.gson.annotations.SerializedName;
+import org.apache.cloudstack.api.BaseResponse;
+
+public class StatusResponse extends BaseResponse {
+    @SerializedName("status")
+    private Boolean status;
+
+    public Boolean getStatus() {
+       return status;
+    }
+
+   public void setStatus(Boolean status) {
+       this.status = status;
+   }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e398b1e4/api/src/org/apache/cloudstack/api/response/StorageNetworkIpRangeResponse.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/response/StorageNetworkIpRangeResponse.java b/api/src/org/apache/cloudstack/api/response/StorageNetworkIpRangeResponse.java
new file mode 100644
index 0000000..beb2fbd
--- /dev/null
+++ b/api/src/org/apache/cloudstack/api/response/StorageNetworkIpRangeResponse.java
@@ -0,0 +1,87 @@
+// 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.
+package org.apache.cloudstack.api.response;
+
+import org.apache.cloudstack.api.ApiConstants;
+import com.cloud.serializer.Param;
+import com.google.gson.annotations.SerializedName;
+import org.apache.cloudstack.api.BaseResponse;
+
+public class StorageNetworkIpRangeResponse extends BaseResponse {
+    @SerializedName(ApiConstants.ID) @Param(description="the uuid of storage network IP range.")
+    private String uuid;
+
+    @SerializedName(ApiConstants.VLAN) @Param(description="the ID or VID of the VLAN.")
+    private Integer vlan;
+
+    @SerializedName(ApiConstants.POD_ID) @Param(description="the Pod uuid for the storage network IP range")
+    private String podUuid;
+
+    @SerializedName(ApiConstants.START_IP) @Param(description="the start ip of the storage network IP range")
+    private String startIp;
+
+    @SerializedName(ApiConstants.END_IP) @Param(description="the end ip of the storage network IP range")
+    private String endIp;
+
+    @SerializedName(ApiConstants.GATEWAY) @Param(description="the gateway of the storage network IP range")
+    private String gateway;
+
+    @SerializedName(ApiConstants.NETWORK_ID) @Param(description="the network uuid of storage network IP range")
+    private String networkUuid;
+
+    @SerializedName(ApiConstants.ZONE_ID) @Param(description="the Zone uuid of the storage network IP range")
+    private String zoneUuid;
+
+    @SerializedName(ApiConstants.NETMASK) @Param(description="the netmask of the storage network IP range")
+    private String netmask;
+
+    public void setUuid(String uuid) {
+        this.uuid = uuid;
+    }
+
+    public void setZoneUuid(String zoneUuid) {
+        this.zoneUuid = zoneUuid;
+    }
+
+    public void setVlan(Integer vlan) {
+        this.vlan = vlan;
+    }
+
+    public void setPodUuid(String podUuid) {
+        this.podUuid = podUuid;
+    }
+
+    public void setStartIp(String startIp) {
+        this.startIp = startIp;
+    }
+
+    public void setEndIp(String endIp) {
+        this.endIp = endIp;
+    }
+
+    public void setNetworkUuid(String networkUuid) {
+        this.networkUuid = networkUuid;
+    }
+
+    public void setNetmask(String netmask) {
+        this.netmask = netmask;
+    }
+
+    public void setGateway(String gateway) {
+        this.gateway = gateway;
+    }
+}


Mime
View raw message