You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bf...@apache.org on 2013/11/08 19:08:38 UTC

[22/76] [abbrv] CLOUSTACK-5099: Utils.py-has-wrong-reference, cleaned it. As well added Uniform naming convention Signed-off-by: SrikanteswaraRao Talluri

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/createSnapshot.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createSnapshot.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createSnapshot.py
new file mode 100644
index 0000000..2ea1a0d
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createSnapshot.py
@@ -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.
+
+
+"""Creates an instant snapshot of a volume."""
+from baseCmd import *
+from baseResponse import *
+class createSnapshotCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """The ID of the disk volume"""
+        """Required"""
+        self.volumeid = None
+        """The account of the snapshot. The account parameter must be used with the domainId parameter."""
+        self.account = None
+        """The domain ID of the snapshot. If used with the account parameter, specifies a domain for the account associated with the disk volume."""
+        self.domainid = None
+        """policy id of the snapshot, if this is null, then use MANUAL_POLICY."""
+        self.policyid = None
+        self.required = ["volumeid",]
+
+class createSnapshotResponse (baseResponse):
+    def __init__(self):
+        """ID of the snapshot"""
+        self.id = None
+        """the account associated with the snapshot"""
+        self.account = None
+        """the date the snapshot was created"""
+        self.created = None
+        """the domain name of the snapshot's account"""
+        self.domain = None
+        """the domain ID of the snapshot's account"""
+        self.domainid = None
+        """valid types are hourly, daily, weekly, monthy, template, and none."""
+        self.intervaltype = None
+        """name of the snapshot"""
+        self.name = None
+        """the project name of the snapshot"""
+        self.project = None
+        """the project id of the snapshot"""
+        self.projectid = None
+        """the type of the snapshot"""
+        self.snapshottype = None
+        """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"""
+        self.state = None
+        """ID of the disk volume"""
+        self.volumeid = None
+        """name of the disk volume"""
+        self.volumename = None
+        """type of the disk volume"""
+        self.volumetype = None
+        """id of the availability zone"""
+        self.zoneid = None
+        """the list of resource tags associated with snapshot"""
+        self.tags = []
+        """the ID of the latest async job acting on this object"""
+        self.jobid = None
+        """the current status of the latest async job acting on this object"""
+        self.jobstatus = None
+
+class tags:
+    def __init__(self):
+        """"the account associated with the tag"""
+        self.account = None
+        """"customer associated with the tag"""
+        self.customer = None
+        """"the domain associated with the tag"""
+        self.domain = None
+        """"the ID of the domain associated with the tag"""
+        self.domainid = None
+        """"tag key name"""
+        self.key = None
+        """"the project name where tag belongs to"""
+        self.project = None
+        """"the project id the tag belongs to"""
+        self.projectid = None
+        """"id of the resource"""
+        self.resourceid = None
+        """"resource type"""
+        self.resourcetype = None
+        """"tag value"""
+        self.value = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/createSnapshotPolicy.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createSnapshotPolicy.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createSnapshotPolicy.py
new file mode 100644
index 0000000..f0eb865
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createSnapshotPolicy.py
@@ -0,0 +1,56 @@
+# 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.
+
+
+"""Creates a snapshot policy for the account."""
+from baseCmd import *
+from baseResponse import *
+class createSnapshotPolicyCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """valid values are HOURLY, DAILY, WEEKLY, and MONTHLY"""
+        """Required"""
+        self.intervaltype = None
+        """maximum number of snapshots to retain"""
+        """Required"""
+        self.maxsnaps = None
+        """time the snapshot is scheduled to be taken. Format is:* if HOURLY, MM* if DAILY, MM:HH* if WEEKLY, MM:HH:DD (1-7)* if MONTHLY, MM:HH:DD (1-28)"""
+        """Required"""
+        self.schedule = None
+        """Specifies a timezone for this command. For more information on the timezone parameter, see Time Zone Format."""
+        """Required"""
+        self.timezone = None
+        """the ID of the disk volume"""
+        """Required"""
+        self.volumeid = None
+        self.required = ["intervaltype","maxsnaps","schedule","timezone","volumeid",]
+
+class createSnapshotPolicyResponse (baseResponse):
+    def __init__(self):
+        """the ID of the snapshot policy"""
+        self.id = None
+        """the interval type of the snapshot policy"""
+        self.intervaltype = None
+        """maximum number of snapshots retained"""
+        self.maxsnaps = None
+        """time the snapshot is scheduled to be taken."""
+        self.schedule = None
+        """the time zone of the snapshot policy"""
+        self.timezone = None
+        """the ID of the disk volume"""
+        self.volumeid = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/createStaticRoute.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createStaticRoute.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createStaticRoute.py
new file mode 100644
index 0000000..1a58ccd
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createStaticRoute.py
@@ -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.
+
+
+"""Creates a static route"""
+from baseCmd import *
+from baseResponse import *
+class createStaticRouteCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """static route cidr"""
+        """Required"""
+        self.cidr = None
+        """the gateway id we are creating static route for"""
+        """Required"""
+        self.gatewayid = None
+        self.required = ["cidr","gatewayid",]
+
+class createStaticRouteResponse (baseResponse):
+    def __init__(self):
+        """the ID of static route"""
+        self.id = None
+        """the account associated with the static route"""
+        self.account = None
+        """static route CIDR"""
+        self.cidr = None
+        """the domain associated with the static route"""
+        self.domain = None
+        """the ID of the domain associated with the static route"""
+        self.domainid = None
+        """VPC gateway the route is created for"""
+        self.gatewayid = None
+        """the project name of the static route"""
+        self.project = None
+        """the project id of the static route"""
+        self.projectid = None
+        """the state of the static route"""
+        self.state = None
+        """VPC the static route belongs to"""
+        self.vpcid = None
+        """the list of resource tags associated with static route"""
+        self.tags = []
+
+class tags:
+    def __init__(self):
+        """"the account associated with the tag"""
+        self.account = None
+        """"customer associated with the tag"""
+        self.customer = None
+        """"the domain associated with the tag"""
+        self.domain = None
+        """"the ID of the domain associated with the tag"""
+        self.domainid = None
+        """"tag key name"""
+        self.key = None
+        """"the project name where tag belongs to"""
+        self.project = None
+        """"the project id the tag belongs to"""
+        self.projectid = None
+        """"id of the resource"""
+        self.resourceid = None
+        """"resource type"""
+        self.resourcetype = None
+        """"tag value"""
+        self.value = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/createStorageNetworkIpRange.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createStorageNetworkIpRange.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createStorageNetworkIpRange.py
new file mode 100644
index 0000000..8e695da
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createStorageNetworkIpRange.py
@@ -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.
+
+
+"""Creates a Storage network IP range."""
+from baseCmd import *
+from baseResponse import *
+class createStorageNetworkIpRangeCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """the gateway for storage network"""
+        """Required"""
+        self.gateway = None
+        """the netmask for storage network"""
+        """Required"""
+        self.netmask = None
+        """UUID of pod where the ip range belongs to"""
+        """Required"""
+        self.podid = None
+        """the beginning IP address"""
+        """Required"""
+        self.startip = None
+        """the ending IP address"""
+        self.endip = None
+        """Optional. The vlan the ip range sits on, default to Null when it is not specificed which means you network is not on any Vlan. This is mainly for Vmware as other hypervisors can directly reterive bridge from pyhsical network traffic type table"""
+        self.vlan = None
+        self.required = ["gateway","netmask","podid","startip",]
+
+class createStorageNetworkIpRangeResponse (baseResponse):
+    def __init__(self):
+        """the uuid of storage network IP range."""
+        self.id = None
+        """the end ip of the storage network IP range"""
+        self.endip = None
+        """the gateway of the storage network IP range"""
+        self.gateway = None
+        """the netmask of the storage network IP range"""
+        self.netmask = None
+        """the network uuid of storage network IP range"""
+        self.networkid = None
+        """the Pod uuid for the storage network IP range"""
+        self.podid = None
+        """the start ip of the storage network IP range"""
+        self.startip = None
+        """the ID or VID of the VLAN."""
+        self.vlan = None
+        """the Zone uuid of the storage network IP range"""
+        self.zoneid = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/createStoragePool.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createStoragePool.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createStoragePool.py
new file mode 100644
index 0000000..1186e76
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createStoragePool.py
@@ -0,0 +1,104 @@
+# 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.
+
+
+"""Creates a storage pool."""
+from baseCmd import *
+from baseResponse import *
+class createStoragePoolCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """the name for the storage pool"""
+        """Required"""
+        self.name = None
+        """the URL of the storage pool"""
+        """Required"""
+        self.url = None
+        """the Zone ID for the storage pool"""
+        """Required"""
+        self.zoneid = None
+        """bytes CloudStack can provision from this storage pool"""
+        self.capacitybytes = None
+        """IOPS CloudStack can provision from this storage pool"""
+        self.capacityiops = None
+        """the cluster ID for the storage pool"""
+        self.clusterid = None
+        """the details for the storage pool"""
+        self.details = []
+        """hypervisor type of the hosts in zone that will be attached to this storage pool. KVM, VMware supported as of now."""
+        self.hypervisor = None
+        """whether the storage should be managed by CloudStack"""
+        self.managed = None
+        """the Pod ID for the storage pool"""
+        self.podid = None
+        """the storage provider name"""
+        self.provider = None
+        """the scope of the storage: cluster or zone"""
+        self.scope = None
+        """the tags for the storage pool"""
+        self.tags = None
+        self.required = ["name","url","zoneid",]
+
+class createStoragePoolResponse (baseResponse):
+    def __init__(self):
+        """the ID of the storage pool"""
+        self.id = None
+        """IOPS CloudStack can provision from this storage pool"""
+        self.capacityiops = None
+        """the ID of the cluster for the storage pool"""
+        self.clusterid = None
+        """the name of the cluster for the storage pool"""
+        self.clustername = None
+        """the date and time the storage pool was created"""
+        self.created = None
+        """the host's currently allocated disk size"""
+        self.disksizeallocated = None
+        """the total disk size of the storage pool"""
+        self.disksizetotal = None
+        """the host's currently used disk size"""
+        self.disksizeused = None
+        """the hypervisor type of the storage pool"""
+        self.hypervisor = None
+        """the IP address of the storage pool"""
+        self.ipaddress = None
+        """the name of the storage pool"""
+        self.name = None
+        """the storage pool path"""
+        self.path = None
+        """the Pod ID of the storage pool"""
+        self.podid = None
+        """the Pod name of the storage pool"""
+        self.podname = None
+        """the scope of the storage pool"""
+        self.scope = None
+        """the state of the storage pool"""
+        self.state = None
+        """true if this pool is suitable to migrate a volume, false otherwise"""
+        self.suitableformigration = None
+        """the tags for the storage pool"""
+        self.tags = None
+        """the storage pool type"""
+        self.type = None
+        """the Zone ID of the storage pool"""
+        self.zoneid = None
+        """the Zone name of the storage pool"""
+        self.zonename = None
+        """the ID of the latest async job acting on this object"""
+        self.jobid = None
+        """the current status of the latest async job acting on this object"""
+        self.jobstatus = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/createTags.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createTags.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createTags.py
new file mode 100644
index 0000000..f380b52
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createTags.py
@@ -0,0 +1,44 @@
+# 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.
+
+
+"""Creates resource tag(s)"""
+from baseCmd import *
+from baseResponse import *
+class createTagsCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """list of resources to create the tags for"""
+        """Required"""
+        self.resourceids = []
+        """type of the resource"""
+        """Required"""
+        self.resourcetype = None
+        """Map of tags (key/value pairs)"""
+        """Required"""
+        self.tags = []
+        """identifies client specific tag. When the value is not null, the tag can't be used by cloudStack code internally"""
+        self.customer = None
+        self.required = ["resourceids","resourcetype","tags",]
+
+class createTagsResponse (baseResponse):
+    def __init__(self):
+        """any text associated with the success or failure"""
+        self.displaytext = None
+        """true if operation is executed successfully"""
+        self.success = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/createTemplate.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createTemplate.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createTemplate.py
new file mode 100644
index 0000000..cfb848c
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createTemplate.py
@@ -0,0 +1,161 @@
+# 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.
+
+
+"""Creates a template of a virtual machine. The virtual machine must be in a STOPPED state. A template created from this command is automatically designated as a private template visible to the account that created it."""
+from baseCmd import *
+from baseResponse import *
+class createTemplateCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """the display text of the template. This is usually used for display purposes."""
+        """Required"""
+        self.displaytext = None
+        """the name of the template"""
+        """Required"""
+        self.name = None
+        """the ID of the OS Type that best represents the OS of this template."""
+        """Required"""
+        self.ostypeid = None
+        """32 or 64 bit"""
+        self.bits = None
+        """Template details in key/value pairs."""
+        self.details = []
+        """true if template contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory"""
+        self.isdynamicallyscalable = None
+        """true if this template is a featured template, false otherwise"""
+        self.isfeatured = None
+        """true if this template is a public template, false otherwise"""
+        self.ispublic = None
+        """true if the template supports the password reset feature; default is false"""
+        self.passwordenabled = None
+        """true if the template requres HVM, false otherwise"""
+        self.requireshvm = None
+        """the ID of the snapshot the template is being created from. Either this parameter, or volumeId has to be passed in"""
+        self.snapshotid = None
+        """the tag for this template."""
+        self.templatetag = None
+        """Optional, only for baremetal hypervisor. The directory name where template stored on CIFS server"""
+        self.url = None
+        """Optional, VM ID. If this presents, it is going to create a baremetal template for VM this ID refers to. This is only for VM whose hypervisor type is BareMetal"""
+        self.virtualmachineid = None
+        """the ID of the disk volume the template is being created from. Either this parameter, or snapshotId has to be passed in"""
+        self.volumeid = None
+        self.required = ["displaytext","name","ostypeid",]
+
+class createTemplateResponse (baseResponse):
+    def __init__(self):
+        """the template ID"""
+        self.id = None
+        """the account name to which the template belongs"""
+        self.account = None
+        """the account id to which the template belongs"""
+        self.accountid = None
+        """true if the ISO is bootable, false otherwise"""
+        self.bootable = None
+        """checksum of the template"""
+        self.checksum = None
+        """the date this template was created"""
+        self.created = None
+        """true if the template is managed across all Zones, false otherwise"""
+        self.crossZones = None
+        """additional key/value details tied with template"""
+        self.details = None
+        """the template display text"""
+        self.displaytext = None
+        """the name of the domain to which the template belongs"""
+        self.domain = None
+        """the ID of the domain to which the template belongs"""
+        self.domainid = None
+        """the format of the template."""
+        self.format = None
+        """the ID of the secondary storage host for the template"""
+        self.hostid = None
+        """the name of the secondary storage host for the template"""
+        self.hostname = None
+        """the hypervisor on which the template runs"""
+        self.hypervisor = None
+        """true if template contains XS/VMWare tools inorder to support dynamic scaling of VM cpu/memory"""
+        self.isdynamicallyscalable = None
+        """true if the template is extractable, false otherwise"""
+        self.isextractable = None
+        """true if this template is a featured template, false otherwise"""
+        self.isfeatured = None
+        """true if this template is a public template, false otherwise"""
+        self.ispublic = None
+        """true if the template is ready to be deployed from, false otherwise."""
+        self.isready = None
+        """the template name"""
+        self.name = None
+        """the ID of the OS type for this template."""
+        self.ostypeid = None
+        """the name of the OS type for this template."""
+        self.ostypename = None
+        """true if the reset password feature is enabled, false otherwise"""
+        self.passwordenabled = None
+        """the project name of the template"""
+        self.project = None
+        """the project id of the template"""
+        self.projectid = None
+        """the date this template was removed"""
+        self.removed = None
+        """the size of the template"""
+        self.size = None
+        """the template ID of the parent template if present"""
+        self.sourcetemplateid = None
+        """true if template is sshkey enabled, false otherwise"""
+        self.sshkeyenabled = None
+        """the status of the template"""
+        self.status = None
+        """the tag of this template"""
+        self.templatetag = None
+        """the type of the template"""
+        self.templatetype = None
+        """the ID of the zone for this template"""
+        self.zoneid = None
+        """the name of the zone for this template"""
+        self.zonename = None
+        """the list of resource tags associated with tempate"""
+        self.tags = []
+        """the ID of the latest async job acting on this object"""
+        self.jobid = None
+        """the current status of the latest async job acting on this object"""
+        self.jobstatus = None
+
+class tags:
+    def __init__(self):
+        """"the account associated with the tag"""
+        self.account = None
+        """"customer associated with the tag"""
+        self.customer = None
+        """"the domain associated with the tag"""
+        self.domain = None
+        """"the ID of the domain associated with the tag"""
+        self.domainid = None
+        """"tag key name"""
+        self.key = None
+        """"the project name where tag belongs to"""
+        self.project = None
+        """"the project id the tag belongs to"""
+        self.projectid = None
+        """"id of the resource"""
+        self.resourceid = None
+        """"resource type"""
+        self.resourcetype = None
+        """"tag value"""
+        self.value = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/createUser.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createUser.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createUser.py
new file mode 100644
index 0000000..0914db8
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createUser.py
@@ -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.
+
+
+"""Creates a user for an account that already exists"""
+from baseCmd import *
+from baseResponse import *
+class createUserCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """Creates the user under the specified account. If no account is specified, the username will be used as the account name."""
+        """Required"""
+        self.account = None
+        """email"""
+        """Required"""
+        self.email = None
+        """firstname"""
+        """Required"""
+        self.firstname = None
+        """lastname"""
+        """Required"""
+        self.lastname = None
+        """Clear text password (Default hashed to SHA256SALT). If you wish to use any other hashing algorithm, you would need to write a custom authentication adapter See Docs section."""
+        """Required"""
+        self.password = None
+        """Unique username."""
+        """Required"""
+        self.username = None
+        """Creates the user under the specified domain. Has to be accompanied with the account parameter"""
+        self.domainid = None
+        """Specifies a timezone for this command. For more information on the timezone parameter, see Time Zone Format."""
+        self.timezone = None
+        """User UUID, required for adding account from external provisioning system"""
+        self.userid = None
+        self.required = ["account","email","firstname","lastname","password","username",]
+
+class createUserResponse (baseResponse):
+    def __init__(self):
+        """the user ID"""
+        self.id = None
+        """the account name of the user"""
+        self.account = None
+        """the account ID of the user"""
+        self.accountid = None
+        """the account type of the user"""
+        self.accounttype = None
+        """the api key of the user"""
+        self.apikey = None
+        """the date and time the user account was created"""
+        self.created = None
+        """the domain name of the user"""
+        self.domain = None
+        """the domain ID of the user"""
+        self.domainid = None
+        """the user email address"""
+        self.email = None
+        """the user firstname"""
+        self.firstname = None
+        """the boolean value representing if the updating target is in caller's child domain"""
+        self.iscallerchilddomain = None
+        """true if user is default, false otherwise"""
+        self.isdefault = None
+        """the user lastname"""
+        self.lastname = None
+        """the secret key of the user"""
+        self.secretkey = None
+        """the user state"""
+        self.state = None
+        """the timezone user was created in"""
+        self.timezone = None
+        """the user name"""
+        self.username = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/createVMSnapshot.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createVMSnapshot.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createVMSnapshot.py
new file mode 100644
index 0000000..3636674
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createVMSnapshot.py
@@ -0,0 +1,72 @@
+# 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.
+
+
+"""Creates snapshot for a vm."""
+from baseCmd import *
+from baseResponse import *
+class createVMSnapshotCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """The ID of the vm"""
+        """Required"""
+        self.virtualmachineid = None
+        """The discription of the snapshot"""
+        self.description = None
+        """The display name of the snapshot"""
+        self.name = None
+        """snapshot memory if true"""
+        self.snapshotmemory = None
+        self.required = ["virtualmachineid",]
+
+class createVMSnapshotResponse (baseResponse):
+    def __init__(self):
+        """the ID of the vm snapshot"""
+        self.id = None
+        """the account associated with the disk volume"""
+        self.account = None
+        """the create date of the vm snapshot"""
+        self.created = None
+        """indiates if this is current snapshot"""
+        self.current = None
+        """the description of the vm snapshot"""
+        self.description = None
+        """the display name of the vm snapshot"""
+        self.displayname = None
+        """the domain associated with the disk volume"""
+        self.domain = None
+        """the ID of the domain associated with the disk volume"""
+        self.domainid = None
+        """the name of the vm snapshot"""
+        self.name = None
+        """the parent ID of the vm snapshot"""
+        self.parent = None
+        """the parent displayName of the vm snapshot"""
+        self.parentName = None
+        """the project name of the vpn"""
+        self.project = None
+        """the project id of the vpn"""
+        self.projectid = None
+        """the state of the vm snapshot"""
+        self.state = None
+        """VM Snapshot type"""
+        self.type = None
+        """the vm ID of the vm snapshot"""
+        self.virtualmachineid = None
+        """the Zone ID of the vm snapshot"""
+        self.zoneid = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/createVPC.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createVPC.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createVPC.py
new file mode 100644
index 0000000..5307f8a
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createVPC.py
@@ -0,0 +1,413 @@
+# 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.
+
+
+"""Creates a VPC"""
+from baseCmd import *
+from baseResponse import *
+class createVPCCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """the cidr of the VPC. All VPC guest networks' cidrs should be within this CIDR"""
+        """Required"""
+        self.cidr = None
+        """the display text of the VPC"""
+        """Required"""
+        self.displaytext = None
+        """the name of the VPC"""
+        """Required"""
+        self.name = None
+        """the ID of the VPC offering"""
+        """Required"""
+        self.vpcofferingid = None
+        """the ID of the availability zone"""
+        """Required"""
+        self.zoneid = None
+        """the account associated with the VPC. Must be used with the domainId parameter."""
+        self.account = None
+        """the domain ID associated with the VPC. If used with the account parameter returns the VPC associated with the account for the specified domain."""
+        self.domainid = None
+        """VPC network domain. All networks inside the VPC will belong to this domain"""
+        self.networkdomain = None
+        """create VPC for the project"""
+        self.projectid = None
+        self.required = ["cidr","displaytext","name","vpcofferingid","zoneid",]
+
+class createVPCResponse (baseResponse):
+    def __init__(self):
+        """the id of the VPC"""
+        self.id = None
+        """the owner of the VPC"""
+        self.account = None
+        """the cidr the VPC"""
+        self.cidr = None
+        """the date this VPC was created"""
+        self.created = None
+        """an alternate display text of the VPC."""
+        self.displaytext = None
+        """the domain name of the owner"""
+        self.domain = None
+        """the domain id of the VPC owner"""
+        self.domainid = None
+        """the name of the VPC"""
+        self.name = None
+        """the network domain of the VPC"""
+        self.networkdomain = None
+        """the project name of the VPC"""
+        self.project = None
+        """the project id of the VPC"""
+        self.projectid = None
+        """true VPC requires restart"""
+        self.restartrequired = None
+        """state of the VPC. Can be Inactive/Enabled"""
+        self.state = None
+        """vpc offering id the VPC is created from"""
+        self.vpcofferingid = None
+        """zone id of the vpc"""
+        self.zoneid = None
+        """the name of the zone the VPC belongs to"""
+        self.zonename = None
+        """the list of networks belongign to the VPC"""
+        self.network = []
+        """the list of supported services"""
+        self.service = []
+        """the list of resource tags associated with the project"""
+        self.tags = []
+
+class capability:
+    def __init__(self):
+        """"can this service capability value can be choosable while creatine network offerings"""
+        self.canchooseservicecapability = None
+        """"the capability name"""
+        self.name = None
+        """"the capability value"""
+        self.value = None
+
+class provider:
+    def __init__(self):
+        """"uuid of the network provider"""
+        self.id = None
+        """"true if individual services can be enabled/disabled"""
+        self.canenableindividualservice = None
+        """"the destination physical network"""
+        self.destinationphysicalnetworkid = None
+        """"the provider name"""
+        self.name = None
+        """"the physical network this belongs to"""
+        self.physicalnetworkid = None
+        """"services for this provider"""
+        self.servicelist = None
+        """"state of the network provider"""
+        self.state = None
+
+class service:
+    def __init__(self):
+        """"the service name"""
+        self.name = None
+        """"the list of capabilities"""
+        self.capability = []
+        """"can this service capability value can be choosable while creatine network offerings"""
+        self.canchooseservicecapability = None
+        """"the capability name"""
+        self.name = None
+        """"the capability value"""
+        self.value = None
+        """"the service provider name"""
+        self.provider = []
+        """"uuid of the network provider"""
+        self.id = None
+        """"true if individual services can be enabled/disabled"""
+        self.canenableindividualservice = None
+        """"the destination physical network"""
+        self.destinationphysicalnetworkid = None
+        """"the provider name"""
+        self.name = None
+        """"the physical network this belongs to"""
+        self.physicalnetworkid = None
+        """"services for this provider"""
+        self.servicelist = None
+        """"state of the network provider"""
+        self.state = None
+
+class capability:
+    def __init__(self):
+        """"can this service capability value can be choosable while creatine network offerings"""
+        self.canchooseservicecapability = None
+        """"the capability name"""
+        self.name = None
+        """"the capability value"""
+        self.value = None
+
+class provider:
+    def __init__(self):
+        """"uuid of the network provider"""
+        self.id = None
+        """"true if individual services can be enabled/disabled"""
+        self.canenableindividualservice = None
+        """"the destination physical network"""
+        self.destinationphysicalnetworkid = None
+        """"the provider name"""
+        self.name = None
+        """"the physical network this belongs to"""
+        self.physicalnetworkid = None
+        """"services for this provider"""
+        self.servicelist = None
+        """"state of the network provider"""
+        self.state = None
+
+class tags:
+    def __init__(self):
+        """"the account associated with the tag"""
+        self.account = None
+        """"customer associated with the tag"""
+        self.customer = None
+        """"the domain associated with the tag"""
+        self.domain = None
+        """"the ID of the domain associated with the tag"""
+        self.domainid = None
+        """"tag key name"""
+        self.key = None
+        """"the project name where tag belongs to"""
+        self.project = None
+        """"the project id the tag belongs to"""
+        self.projectid = None
+        """"id of the resource"""
+        self.resourceid = None
+        """"resource type"""
+        self.resourcetype = None
+        """"tag value"""
+        self.value = None
+
+class network:
+    def __init__(self):
+        """"the id of the network"""
+        self.id = None
+        """"the owner of the network"""
+        self.account = None
+        """"ACL Id associated with the VPC network"""
+        self.aclid = None
+        """"acl type - access type to the network"""
+        self.acltype = None
+        """"Broadcast domain type of the network"""
+        self.broadcastdomaintype = None
+        """"broadcast uri of the network. This parameter is visible to ROOT admins only"""
+        self.broadcasturi = None
+        """"list networks available for vm deployment"""
+        self.canusefordeploy = None
+        """"Cloudstack managed address space, all CloudStack managed VMs get IP address from CIDR"""
+        self.cidr = None
+        """"an optional field, whether to the display the network to the end user or not."""
+        self.displaynetwork = None
+        """"the displaytext of the network"""
+        self.displaytext = None
+        """"the first DNS for the network"""
+        self.dns1 = None
+        """"the second DNS for the network"""
+        self.dns2 = None
+        """"the domain name of the network owner"""
+        self.domain = None
+        """"the domain id of the network owner"""
+        self.domainid = None
+        """"the network's gateway"""
+        self.gateway = None
+        """"the cidr of IPv6 network"""
+        self.ip6cidr = None
+        """"the gateway of IPv6 network"""
+        self.ip6gateway = None
+        """"true if network is default, false otherwise"""
+        self.isdefault = None
+        """"list networks that are persistent"""
+        self.ispersistent = None
+        """"true if network is system, false otherwise"""
+        self.issystem = None
+        """"the name of the network"""
+        self.name = None
+        """"the network's netmask"""
+        self.netmask = None
+        """"the network CIDR of the guest network configured with IP reservation. It is the summation of CIDR and RESERVED_IP_RANGE"""
+        self.networkcidr = None
+        """"the network domain"""
+        self.networkdomain = None
+        """"availability of the network offering the network is created from"""
+        self.networkofferingavailability = None
+        """"true if network offering is ip conserve mode enabled"""
+        self.networkofferingconservemode = None
+        """"display text of the network offering the network is created from"""
+        self.networkofferingdisplaytext = None
+        """"network offering id the network is created from"""
+        self.networkofferingid = None
+        """"name of the network offering the network is created from"""
+        self.networkofferingname = None
+        """"the physical network id"""
+        self.physicalnetworkid = None
+        """"the project name of the address"""
+        self.project = None
+        """"the project id of the ipaddress"""
+        self.projectid = None
+        """"related to what other network configuration"""
+        self.related = None
+        """"the network's IP range not to be used by CloudStack guest VMs and can be used for non CloudStack purposes"""
+        self.reservediprange = None
+        """"true network requires restart"""
+        self.restartrequired = None
+        """"true if network supports specifying ip ranges, false otherwise"""
+        self.specifyipranges = None
+        """"state of the network"""
+        self.state = None
+        """"true if users from subdomains can access the domain level network"""
+        self.subdomainaccess = None
+        """"the traffic type of the network"""
+        self.traffictype = None
+        """"the type of the network"""
+        self.type = None
+        """"The vlan of the network. This parameter is visible to ROOT admins only"""
+        self.vlan = None
+        """"VPC the network belongs to"""
+        self.vpcid = None
+        """"zone id of the network"""
+        self.zoneid = None
+        """"the name of the zone the network belongs to"""
+        self.zonename = None
+        """"the list of services"""
+        self.service = []
+        """"the service name"""
+        self.name = None
+        """"the list of capabilities"""
+        self.capability = []
+        """"can this service capability value can be choosable while creatine network offerings"""
+        self.canchooseservicecapability = None
+        """"the capability name"""
+        self.name = None
+        """"the capability value"""
+        self.value = None
+        """"the service provider name"""
+        self.provider = []
+        """"uuid of the network provider"""
+        self.id = None
+        """"true if individual services can be enabled/disabled"""
+        self.canenableindividualservice = None
+        """"the destination physical network"""
+        self.destinationphysicalnetworkid = None
+        """"the provider name"""
+        self.name = None
+        """"the physical network this belongs to"""
+        self.physicalnetworkid = None
+        """"services for this provider"""
+        self.servicelist = None
+        """"state of the network provider"""
+        self.state = None
+        """"the list of resource tags associated with network"""
+        self.tags = []
+        """"the account associated with the tag"""
+        self.account = None
+        """"customer associated with the tag"""
+        self.customer = None
+        """"the domain associated with the tag"""
+        self.domain = None
+        """"the ID of the domain associated with the tag"""
+        self.domainid = None
+        """"tag key name"""
+        self.key = None
+        """"the project name where tag belongs to"""
+        self.project = None
+        """"the project id the tag belongs to"""
+        self.projectid = None
+        """"id of the resource"""
+        self.resourceid = None
+        """"resource type"""
+        self.resourcetype = None
+        """"tag value"""
+        self.value = None
+
+class capability:
+    def __init__(self):
+        """"can this service capability value can be choosable while creatine network offerings"""
+        self.canchooseservicecapability = None
+        """"the capability name"""
+        self.name = None
+        """"the capability value"""
+        self.value = None
+
+class provider:
+    def __init__(self):
+        """"uuid of the network provider"""
+        self.id = None
+        """"true if individual services can be enabled/disabled"""
+        self.canenableindividualservice = None
+        """"the destination physical network"""
+        self.destinationphysicalnetworkid = None
+        """"the provider name"""
+        self.name = None
+        """"the physical network this belongs to"""
+        self.physicalnetworkid = None
+        """"services for this provider"""
+        self.servicelist = None
+        """"state of the network provider"""
+        self.state = None
+
+class service:
+    def __init__(self):
+        """"the service name"""
+        self.name = None
+        """"the list of capabilities"""
+        self.capability = []
+        """"can this service capability value can be choosable while creatine network offerings"""
+        self.canchooseservicecapability = None
+        """"the capability name"""
+        self.name = None
+        """"the capability value"""
+        self.value = None
+        """"the service provider name"""
+        self.provider = []
+        """"uuid of the network provider"""
+        self.id = None
+        """"true if individual services can be enabled/disabled"""
+        self.canenableindividualservice = None
+        """"the destination physical network"""
+        self.destinationphysicalnetworkid = None
+        """"the provider name"""
+        self.name = None
+        """"the physical network this belongs to"""
+        self.physicalnetworkid = None
+        """"services for this provider"""
+        self.servicelist = None
+        """"state of the network provider"""
+        self.state = None
+
+class tags:
+    def __init__(self):
+        """"the account associated with the tag"""
+        self.account = None
+        """"customer associated with the tag"""
+        self.customer = None
+        """"the domain associated with the tag"""
+        self.domain = None
+        """"the ID of the domain associated with the tag"""
+        self.domainid = None
+        """"tag key name"""
+        self.key = None
+        """"the project name where tag belongs to"""
+        self.project = None
+        """"the project id the tag belongs to"""
+        self.projectid = None
+        """"id of the resource"""
+        self.resourceid = None
+        """"resource type"""
+        self.resourcetype = None
+        """"tag value"""
+        self.value = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/createVPCOffering.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createVPCOffering.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createVPCOffering.py
new file mode 100644
index 0000000..e36234e
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createVPCOffering.py
@@ -0,0 +1,109 @@
+# 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.
+
+
+"""Creates VPC offering"""
+from baseCmd import *
+from baseResponse import *
+class createVPCOfferingCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """the display text of the vpc offering"""
+        """Required"""
+        self.displaytext = None
+        """the name of the vpc offering"""
+        """Required"""
+        self.name = None
+        """services supported by the vpc offering"""
+        """Required"""
+        self.supportedservices = []
+        """provider to service mapping. If not specified, the provider for the service will be mapped to the default provider on the physical network"""
+        self.serviceproviderlist = []
+        self.required = ["displaytext","name","supportedservices",]
+
+class createVPCOfferingResponse (baseResponse):
+    def __init__(self):
+        """the id of the vpc offering"""
+        self.id = None
+        """the date this vpc offering was created"""
+        self.created = None
+        """an alternate display text of the vpc offering."""
+        self.displaytext = None
+        """true if vpc offering is default, false otherwise"""
+        self.isdefault = None
+        """the name of the vpc offering"""
+        self.name = None
+        """state of the vpc offering. Can be Disabled/Enabled"""
+        self.state = None
+        """the list of supported services"""
+        self.service = []
+
+class capability:
+    def __init__(self):
+        """"can this service capability value can be choosable while creatine network offerings"""
+        self.canchooseservicecapability = None
+        """"the capability name"""
+        self.name = None
+        """"the capability value"""
+        self.value = None
+
+class provider:
+    def __init__(self):
+        """"uuid of the network provider"""
+        self.id = None
+        """"true if individual services can be enabled/disabled"""
+        self.canenableindividualservice = None
+        """"the destination physical network"""
+        self.destinationphysicalnetworkid = None
+        """"the provider name"""
+        self.name = None
+        """"the physical network this belongs to"""
+        self.physicalnetworkid = None
+        """"services for this provider"""
+        self.servicelist = None
+        """"state of the network provider"""
+        self.state = None
+
+class service:
+    def __init__(self):
+        """"the service name"""
+        self.name = None
+        """"the list of capabilities"""
+        self.capability = []
+        """"can this service capability value can be choosable while creatine network offerings"""
+        self.canchooseservicecapability = None
+        """"the capability name"""
+        self.name = None
+        """"the capability value"""
+        self.value = None
+        """"the service provider name"""
+        self.provider = []
+        """"uuid of the network provider"""
+        self.id = None
+        """"true if individual services can be enabled/disabled"""
+        self.canenableindividualservice = None
+        """"the destination physical network"""
+        self.destinationphysicalnetworkid = None
+        """"the provider name"""
+        self.name = None
+        """"the physical network this belongs to"""
+        self.physicalnetworkid = None
+        """"services for this provider"""
+        self.servicelist = None
+        """"state of the network provider"""
+        self.state = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/createVirtualRouterElement.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createVirtualRouterElement.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createVirtualRouterElement.py
new file mode 100644
index 0000000..9c1d48b
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createVirtualRouterElement.py
@@ -0,0 +1,50 @@
+# 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.
+
+
+"""Create a virtual router element."""
+from baseCmd import *
+from baseResponse import *
+class createVirtualRouterElementCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """the network service provider ID of the virtual router element"""
+        """Required"""
+        self.nspid = None
+        """The provider type. Supported types are VirtualRouter (default) and VPCVirtualRouter"""
+        self.providertype = None
+        self.required = ["nspid",]
+
+class createVirtualRouterElementResponse (baseResponse):
+    def __init__(self):
+        """the id of the router"""
+        self.id = None
+        """the account associated with the provider"""
+        self.account = None
+        """the domain associated with the provider"""
+        self.domain = None
+        """the domain ID associated with the provider"""
+        self.domainid = None
+        """Enabled/Disabled the service provider"""
+        self.enabled = None
+        """the physical network service provider id of the provider"""
+        self.nspid = None
+        """the project name of the address"""
+        self.project = None
+        """the project id of the ipaddress"""
+        self.projectid = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/createVlanIpRange.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createVlanIpRange.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createVlanIpRange.py
new file mode 100644
index 0000000..0a16e33
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createVlanIpRange.py
@@ -0,0 +1,107 @@
+# 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.
+
+
+"""Creates a VLAN IP range."""
+from baseCmd import *
+from baseResponse import *
+class createVlanIpRangeCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """account who will own the VLAN. If VLAN is Zone wide, this parameter should be ommited"""
+        self.account = None
+        """domain ID of the account owning a VLAN"""
+        self.domainid = None
+        """the ending IP address in the VLAN IP range"""
+        self.endip = None
+        """the ending IPv6 address in the IPv6 network range"""
+        self.endipv6 = None
+        """true if VLAN is of Virtual type, false if Direct"""
+        self.forvirtualnetwork = None
+        """the gateway of the VLAN IP range"""
+        self.gateway = None
+        """the CIDR of IPv6 network, must be at least /64"""
+        self.ip6cidr = None
+        """the gateway of the IPv6 network. Required for Shared networks and Isolated networks when it belongs to VPC"""
+        self.ip6gateway = None
+        """the netmask of the VLAN IP range"""
+        self.netmask = None
+        """the network id"""
+        self.networkid = None
+        """the physical network id"""
+        self.physicalnetworkid = None
+        """optional parameter. Have to be specified for Direct Untagged vlan only."""
+        self.podid = None
+        """project who will own the VLAN. If VLAN is Zone wide, this parameter should be ommited"""
+        self.projectid = None
+        """the beginning IP address in the VLAN IP range"""
+        self.startip = None
+        """the beginning IPv6 address in the IPv6 network range"""
+        self.startipv6 = None
+        """the ID or VID of the VLAN. If not specified, will be defaulted to the vlan of the network or if vlan of the network is null - to Untagged"""
+        self.vlan = None
+        """the Zone ID of the VLAN IP range"""
+        self.zoneid = None
+        self.required = []
+
+class createVlanIpRangeResponse (baseResponse):
+    def __init__(self):
+        """the ID of the VLAN IP range"""
+        self.id = None
+        """the account of the VLAN IP range"""
+        self.account = None
+        """the description of the VLAN IP range"""
+        self.description = None
+        """the domain name of the VLAN IP range"""
+        self.domain = None
+        """the domain ID of the VLAN IP range"""
+        self.domainid = None
+        """the end ip of the VLAN IP range"""
+        self.endip = None
+        """the end ipv6 of the VLAN IP range"""
+        self.endipv6 = None
+        """the virtual network for the VLAN IP range"""
+        self.forvirtualnetwork = None
+        """the gateway of the VLAN IP range"""
+        self.gateway = None
+        """the cidr of IPv6 network"""
+        self.ip6cidr = None
+        """the gateway of IPv6 network"""
+        self.ip6gateway = None
+        """the netmask of the VLAN IP range"""
+        self.netmask = None
+        """the network id of vlan range"""
+        self.networkid = None
+        """the physical network this belongs to"""
+        self.physicalnetworkid = None
+        """the Pod ID for the VLAN IP range"""
+        self.podid = None
+        """the Pod name for the VLAN IP range"""
+        self.podname = None
+        """the project name of the vlan range"""
+        self.project = None
+        """the project id of the vlan range"""
+        self.projectid = None
+        """the start ip of the VLAN IP range"""
+        self.startip = None
+        """the start ipv6 of the VLAN IP range"""
+        self.startipv6 = None
+        """the ID or VID of the VLAN."""
+        self.vlan = None
+        """the Zone ID of the VLAN IP range"""
+        self.zoneid = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/createVolume.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createVolume.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createVolume.py
new file mode 100644
index 0000000..4b6f91a
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createVolume.py
@@ -0,0 +1,163 @@
+# 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.
+
+
+"""Creates a disk volume from a disk offering. This disk volume must still be attached to a virtual machine to make use of it."""
+from baseCmd import *
+from baseResponse import *
+class createVolumeCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """the name of the disk volume"""
+        """Required"""
+        self.name = None
+        """the account associated with the disk volume. Must be used with the domainId parameter."""
+        self.account = None
+        """the ID of the disk offering. Either diskOfferingId or snapshotId must be passed in."""
+        self.diskofferingid = None
+        """an optional field, whether to display the volume to the end user or not."""
+        self.displayvolume = None
+        """the domain ID associated with the disk offering. If used with the account parameter returns the disk volume associated with the account for the specified domain."""
+        self.domainid = None
+        """max iops"""
+        self.maxiops = None
+        """min iops"""
+        self.miniops = None
+        """the project associated with the volume. Mutually exclusive with account parameter"""
+        self.projectid = None
+        """Arbitrary volume size"""
+        self.size = None
+        """the snapshot ID for the disk volume. Either diskOfferingId or snapshotId must be passed in."""
+        self.snapshotid = None
+        """the ID of the availability zone"""
+        self.zoneid = None
+        self.required = ["name",]
+
+class createVolumeResponse (baseResponse):
+    def __init__(self):
+        """ID of the disk volume"""
+        self.id = None
+        """the account associated with the disk volume"""
+        self.account = None
+        """the date the volume was attached to a VM instance"""
+        self.attached = None
+        """the date the disk volume was created"""
+        self.created = None
+        """the boolean state of whether the volume is destroyed or not"""
+        self.destroyed = None
+        """the ID of the device on user vm the volume is attahed to. This tag is not returned when the volume is detached."""
+        self.deviceid = None
+        """bytes read rate of the disk volume"""
+        self.diskBytesReadRate = None
+        """bytes write rate of the disk volume"""
+        self.diskBytesWriteRate = None
+        """io requests read rate of the disk volume"""
+        self.diskIopsReadRate = None
+        """io requests write rate of the disk volume"""
+        self.diskIopsWriteRate = None
+        """the display text of the disk offering"""
+        self.diskofferingdisplaytext = None
+        """ID of the disk offering"""
+        self.diskofferingid = None
+        """name of the disk offering"""
+        self.diskofferingname = None
+        """an optional field whether to the display the volume to the end user or not."""
+        self.displayvolume = None
+        """the domain associated with the disk volume"""
+        self.domain = None
+        """the ID of the domain associated with the disk volume"""
+        self.domainid = None
+        """Hypervisor the volume belongs to"""
+        self.hypervisor = None
+        """true if the volume is extractable, false otherwise"""
+        self.isextractable = None
+        """max iops of the disk volume"""
+        self.maxiops = None
+        """min iops of the disk volume"""
+        self.miniops = None
+        """name of the disk volume"""
+        self.name = None
+        """The path of the volume"""
+        self.path = None
+        """the project name of the vpn"""
+        self.project = None
+        """the project id of the vpn"""
+        self.projectid = None
+        """the display text of the service offering for root disk"""
+        self.serviceofferingdisplaytext = None
+        """ID of the service offering for root disk"""
+        self.serviceofferingid = None
+        """name of the service offering for root disk"""
+        self.serviceofferingname = None
+        """size of the disk volume"""
+        self.size = None
+        """ID of the snapshot from which this volume was created"""
+        self.snapshotid = None
+        """the state of the disk volume"""
+        self.state = None
+        """the status of the volume"""
+        self.status = None
+        """name of the primary storage hosting the disk volume"""
+        self.storage = None
+        """id of the primary storage hosting the disk volume; returned to admin user only"""
+        self.storageid = None
+        """shared or local storage"""
+        self.storagetype = None
+        """type of the disk volume (ROOT or DATADISK)"""
+        self.type = None
+        """id of the virtual machine"""
+        self.virtualmachineid = None
+        """display name of the virtual machine"""
+        self.vmdisplayname = None
+        """name of the virtual machine"""
+        self.vmname = None
+        """state of the virtual machine"""
+        self.vmstate = None
+        """ID of the availability zone"""
+        self.zoneid = None
+        """name of the availability zone"""
+        self.zonename = None
+        """the list of resource tags associated with volume"""
+        self.tags = []
+        """the ID of the latest async job acting on this object"""
+        self.jobid = None
+        """the current status of the latest async job acting on this object"""
+        self.jobstatus = None
+
+class tags:
+    def __init__(self):
+        """"the account associated with the tag"""
+        self.account = None
+        """"customer associated with the tag"""
+        self.customer = None
+        """"the domain associated with the tag"""
+        self.domain = None
+        """"the ID of the domain associated with the tag"""
+        self.domainid = None
+        """"tag key name"""
+        self.key = None
+        """"the project name where tag belongs to"""
+        self.project = None
+        """"the project id the tag belongs to"""
+        self.projectid = None
+        """"id of the resource"""
+        self.resourceid = None
+        """"resource type"""
+        self.resourcetype = None
+        """"tag value"""
+        self.value = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/createVpnConnection.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createVpnConnection.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createVpnConnection.py
new file mode 100644
index 0000000..7e8cf7b
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createVpnConnection.py
@@ -0,0 +1,75 @@
+# 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.
+
+
+"""Create site to site vpn connection"""
+from baseCmd import *
+from baseResponse import *
+class createVpnConnectionCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """id of the customer gateway"""
+        """Required"""
+        self.s2scustomergatewayid = None
+        """id of the vpn gateway"""
+        """Required"""
+        self.s2svpngatewayid = None
+        self.required = ["s2scustomergatewayid","s2svpngatewayid",]
+
+class createVpnConnectionResponse (baseResponse):
+    def __init__(self):
+        """the vpn gateway ID"""
+        self.id = None
+        """the owner"""
+        self.account = None
+        """guest cidr list of the customer gateway"""
+        self.cidrlist = None
+        """the date and time the host was created"""
+        self.created = None
+        """the domain name of the owner"""
+        self.domain = None
+        """the domain id of the owner"""
+        self.domainid = None
+        """if DPD is enabled for customer gateway"""
+        self.dpd = None
+        """Lifetime of ESP SA of customer gateway"""
+        self.esplifetime = None
+        """ESP policy of the customer gateway"""
+        self.esppolicy = None
+        """public ip address id of the customer gateway"""
+        self.gateway = None
+        """Lifetime of IKE SA of customer gateway"""
+        self.ikelifetime = None
+        """IKE policy of the customer gateway"""
+        self.ikepolicy = None
+        """IPsec Preshared-Key of the customer gateway"""
+        self.ipsecpsk = None
+        """the project name"""
+        self.project = None
+        """the project id"""
+        self.projectid = None
+        """the public IP address"""
+        self.publicip = None
+        """the date and time the host was removed"""
+        self.removed = None
+        """the customer gateway ID"""
+        self.s2scustomergatewayid = None
+        """the vpn gateway ID"""
+        self.s2svpngatewayid = None
+        """State of vpn connection"""
+        self.state = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/createVpnCustomerGateway.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createVpnCustomerGateway.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createVpnCustomerGateway.py
new file mode 100644
index 0000000..14d94bc
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createVpnCustomerGateway.py
@@ -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.
+
+
+"""Creates site to site vpn customer gateway"""
+from baseCmd import *
+from baseResponse import *
+class createVpnCustomerGatewayCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """guest cidr list of the customer gateway"""
+        """Required"""
+        self.cidrlist = None
+        """ESP policy of the customer gateway"""
+        """Required"""
+        self.esppolicy = None
+        """public ip address id of the customer gateway"""
+        """Required"""
+        self.gateway = None
+        """IKE policy of the customer gateway"""
+        """Required"""
+        self.ikepolicy = None
+        """IPsec Preshared-Key of the customer gateway"""
+        """Required"""
+        self.ipsecpsk = None
+        """the account associated with the gateway. Must be used with the domainId parameter."""
+        self.account = None
+        """the domain ID associated with the gateway. If used with the account parameter returns the gateway associated with the account for the specified domain."""
+        self.domainid = None
+        """If DPD is enabled for VPN connection"""
+        self.dpd = None
+        """Lifetime of phase 2 VPN connection to the customer gateway, in seconds"""
+        self.esplifetime = None
+        """Lifetime of phase 1 VPN connection to the customer gateway, in seconds"""
+        self.ikelifetime = None
+        """name of this customer gateway"""
+        self.name = None
+        self.required = ["cidrlist","esppolicy","gateway","ikepolicy","ipsecpsk",]
+
+class createVpnCustomerGatewayResponse (baseResponse):
+    def __init__(self):
+        """the vpn gateway ID"""
+        self.id = None
+        """the owner"""
+        self.account = None
+        """guest cidr list of the customer gateway"""
+        self.cidrlist = None
+        """the domain name of the owner"""
+        self.domain = None
+        """the domain id of the owner"""
+        self.domainid = None
+        """if DPD is enabled for customer gateway"""
+        self.dpd = None
+        """Lifetime of ESP SA of customer gateway"""
+        self.esplifetime = None
+        """IPsec policy of customer gateway"""
+        self.esppolicy = None
+        """public ip address id of the customer gateway"""
+        self.gateway = None
+        """Lifetime of IKE SA of customer gateway"""
+        self.ikelifetime = None
+        """IKE policy of customer gateway"""
+        self.ikepolicy = None
+        """guest ip of the customer gateway"""
+        self.ipaddress = None
+        """IPsec preshared-key of customer gateway"""
+        self.ipsecpsk = None
+        """name of the customer gateway"""
+        self.name = None
+        """the project name"""
+        self.project = None
+        """the project id"""
+        self.projectid = None
+        """the date and time the host was removed"""
+        self.removed = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/createVpnGateway.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createVpnGateway.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createVpnGateway.py
new file mode 100644
index 0000000..918c55f
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createVpnGateway.py
@@ -0,0 +1,50 @@
+# 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.
+
+
+"""Creates site to site vpn local gateway"""
+from baseCmd import *
+from baseResponse import *
+class createVpnGatewayCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "true"
+        """public ip address id of the vpn gateway"""
+        """Required"""
+        self.vpcid = None
+        self.required = ["vpcid",]
+
+class createVpnGatewayResponse (baseResponse):
+    def __init__(self):
+        """the vpn gateway ID"""
+        self.id = None
+        """the owner"""
+        self.account = None
+        """the domain name of the owner"""
+        self.domain = None
+        """the domain id of the owner"""
+        self.domainid = None
+        """the project name"""
+        self.project = None
+        """the project id"""
+        self.projectid = None
+        """the public IP address"""
+        self.publicip = None
+        """the date and time the host was removed"""
+        self.removed = None
+        """the vpc id of this gateway"""
+        self.vpcid = None
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/createZone.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createZone.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createZone.py
new file mode 100644
index 0000000..364eeba
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createZone.py
@@ -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.
+
+
+"""Creates a Zone."""
+from baseCmd import *
+from baseResponse import *
+class createZoneCmd (baseCmd):
+    def __init__(self):
+        self.isAsync = "false"
+        """the first DNS for the Zone"""
+        """Required"""
+        self.dns1 = None
+        """the first internal DNS for the Zone"""
+        """Required"""
+        self.internaldns1 = None
+        """the name of the Zone"""
+        """Required"""
+        self.name = None
+        """network type of the zone, can be Basic or Advanced"""
+        """Required"""
+        self.networktype = None
+        """Allocation state of this Zone for allocation of new resources"""
+        self.allocationstate = None
+        """the second DNS for the Zone"""
+        self.dns2 = None
+        """Network domain name for the networks in the zone"""
+        self.domain = None
+        """the ID of the containing domain, null for public zones"""
+        self.domainid = None
+        """the guest CIDR address for the Zone"""
+        self.guestcidraddress = None
+        """the second internal DNS for the Zone"""
+        self.internaldns2 = None
+        """the first DNS for IPv6 network in the Zone"""
+        self.ip6dns1 = None
+        """the second DNS for IPv6 network in the Zone"""
+        self.ip6dns2 = None
+        """true if local storage offering enabled, false otherwise"""
+        self.localstorageenabled = None
+        """true if network is security group enabled, false otherwise"""
+        self.securitygroupenabled = None
+        self.required = ["dns1","internaldns1","name","networktype",]
+
+class createZoneResponse (baseResponse):
+    def __init__(self):
+        """Zone id"""
+        self.id = None
+        """the allocation state of the cluster"""
+        self.allocationstate = None
+        """Zone description"""
+        self.description = None
+        """the dhcp Provider for the Zone"""
+        self.dhcpprovider = None
+        """the display text of the zone"""
+        self.displaytext = None
+        """the first DNS for the Zone"""
+        self.dns1 = None
+        """the second DNS for the Zone"""
+        self.dns2 = None
+        """Network domain name for the networks in the zone"""
+        self.domain = None
+        """the UUID of the containing domain, null for public zones"""
+        self.domainid = None
+        """the name of the containing domain, null for public zones"""
+        self.domainname = None
+        """the guest CIDR address for the Zone"""
+        self.guestcidraddress = None
+        """the first internal DNS for the Zone"""
+        self.internaldns1 = None
+        """the second internal DNS for the Zone"""
+        self.internaldns2 = None
+        """the first IPv6 DNS for the Zone"""
+        self.ip6dns1 = None
+        """the second IPv6 DNS for the Zone"""
+        self.ip6dns2 = None
+        """true if local storage offering enabled, false otherwise"""
+        self.localstorageenabled = None
+        """Zone name"""
+        self.name = None
+        """the network type of the zone; can be Basic or Advanced"""
+        self.networktype = None
+        """true if security groups support is enabled, false otherwise"""
+        self.securitygroupsenabled = None
+        """the vlan range of the zone"""
+        self.vlan = None
+        """Zone Token"""
+        self.zonetoken = None
+        """the capacity of the Zone"""
+        self.capacity = []
+        """the list of resource tags associated with zone."""
+        self.tags = []
+
+class capacity:
+    def __init__(self):
+        """"the total capacity available"""
+        self.capacitytotal = None
+        """"the capacity currently in use"""
+        self.capacityused = None
+        """"the Cluster ID"""
+        self.clusterid = None
+        """"the Cluster name"""
+        self.clustername = None
+        """"the percentage of capacity currently in use"""
+        self.percentused = None
+        """"the Pod ID"""
+        self.podid = None
+        """"the Pod name"""
+        self.podname = None
+        """"the capacity type"""
+        self.type = None
+        """"the Zone ID"""
+        self.zoneid = None
+        """"the Zone name"""
+        self.zonename = None
+
+class tags:
+    def __init__(self):
+        """"the account associated with the tag"""
+        self.account = None
+        """"customer associated with the tag"""
+        self.customer = None
+        """"the domain associated with the tag"""
+        self.domain = None
+        """"the ID of the domain associated with the tag"""
+        self.domainid = None
+        """"tag key name"""
+        self.key = None
+        """"the project name where tag belongs to"""
+        self.project = None
+        """"the project id the tag belongs to"""
+        self.projectid = None
+        """"id of the resource"""
+        self.resourceid = None
+        """"resource type"""
+        self.resourcetype = None
+        """"tag value"""
+        self.value = None
+