You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ta...@apache.org on 2013/11/08 11:34:11 UTC
[24/29] 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/configureInternalLoadBalancerElement.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/configureInternalLoadBalancerElement.py b/tools/marvin/build/lib/marvin/cloudstackAPI/configureInternalLoadBalancerElement.py
new file mode 100644
index 0000000..26357e5
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/configureInternalLoadBalancerElement.py
@@ -0,0 +1,41 @@
+# 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.
+
+
+"""Configures an Internal Load Balancer element."""
+from baseCmd import *
+from baseResponse import *
+class configureInternalLoadBalancerElementCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "true"
+ """the ID of the internal lb provider"""
+ """Required"""
+ self.id = None
+ """Enables/Disables the Internal Load Balancer element"""
+ """Required"""
+ self.enabled = None
+ self.required = ["id","enabled",]
+
+class configureInternalLoadBalancerElementResponse (baseResponse):
+ def __init__(self):
+ """the id of the internal load balancer element"""
+ self.id = None
+ """Enabled/Disabled the element"""
+ self.enabled = None
+ """the physical network service provider id of the element"""
+ self.nspid = None
+
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/configureVirtualRouterElement.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/configureVirtualRouterElement.py b/tools/marvin/build/lib/marvin/cloudstackAPI/configureVirtualRouterElement.py
new file mode 100644
index 0000000..5004dcd
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/configureVirtualRouterElement.py
@@ -0,0 +1,51 @@
+# 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.
+
+
+"""Configures a virtual router element."""
+from baseCmd import *
+from baseResponse import *
+class configureVirtualRouterElementCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "true"
+ """the ID of the virtual router provider"""
+ """Required"""
+ self.id = None
+ """Enabled/Disabled the service provider"""
+ """Required"""
+ self.enabled = None
+ self.required = ["id","enabled",]
+
+class configureVirtualRouterElementResponse (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/copyIso.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/copyIso.py b/tools/marvin/build/lib/marvin/cloudstackAPI/copyIso.py
new file mode 100644
index 0000000..34a9bec
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/copyIso.py
@@ -0,0 +1,137 @@
+# 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.
+
+
+"""Copies an iso from one zone to another."""
+from baseCmd import *
+from baseResponse import *
+class copyIsoCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "true"
+ """Template ID."""
+ """Required"""
+ self.id = None
+ """ID of the zone the template is being copied to."""
+ """Required"""
+ self.destzoneid = None
+ """ID of the zone the template is currently hosted on."""
+ """Required"""
+ self.sourcezoneid = None
+ self.required = ["id","destzoneid","sourcezoneid",]
+
+class copyIsoResponse (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/copyTemplate.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/copyTemplate.py b/tools/marvin/build/lib/marvin/cloudstackAPI/copyTemplate.py
new file mode 100644
index 0000000..fba0f4f
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/copyTemplate.py
@@ -0,0 +1,137 @@
+# 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.
+
+
+"""Copies a template from one zone to another."""
+from baseCmd import *
+from baseResponse import *
+class copyTemplateCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "true"
+ """Template ID."""
+ """Required"""
+ self.id = None
+ """ID of the zone the template is being copied to."""
+ """Required"""
+ self.destzoneid = None
+ """ID of the zone the template is currently hosted on."""
+ """Required"""
+ self.sourcezoneid = None
+ self.required = ["id","destzoneid","sourcezoneid",]
+
+class copyTemplateResponse (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/createAccount.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createAccount.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createAccount.py
new file mode 100644
index 0000000..9e04ec2
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createAccount.py
@@ -0,0 +1,202 @@
+# 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 account"""
+from baseCmd import *
+from baseResponse import *
+class createAccountCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "false"
+ """Type of the account. Specify 0 for user, 1 for root admin, and 2 for domain admin"""
+ """Required"""
+ self.accounttype = 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 account. If no account is specified, the username will be used as the account name."""
+ self.account = None
+ """details for account used to store specific parameters"""
+ self.accountdetails = []
+ """Account UUID, required for adding account from external provisioning system"""
+ self.accountid = None
+ """Creates the user under the specified domain."""
+ self.domainid = None
+ """Network domain for the account's networks"""
+ self.networkdomain = 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 = ["accounttype","email","firstname","lastname","password","username",]
+
+class createAccountResponse (baseResponse):
+ def __init__(self):
+ """the id of the account"""
+ self.id = None
+ """details for the account"""
+ self.accountdetails = None
+ """account type (admin, domain-admin, user)"""
+ self.accounttype = None
+ """the total number of cpu cores available to be created for this account"""
+ self.cpuavailable = None
+ """the total number of cpu cores the account can own"""
+ self.cpulimit = None
+ """the total number of cpu cores owned by account"""
+ self.cputotal = None
+ """the default zone of the account"""
+ self.defaultzoneid = None
+ """name of the Domain the account belongs too"""
+ self.domain = None
+ """id of the Domain the account belongs too"""
+ self.domainid = None
+ """the total number of public ip addresses available for this account to acquire"""
+ self.ipavailable = None
+ """the total number of public ip addresses this account can acquire"""
+ self.iplimit = None
+ """the total number of public ip addresses allocated for this account"""
+ self.iptotal = None
+ """true if the account requires cleanup"""
+ self.iscleanuprequired = None
+ """true if account is default, false otherwise"""
+ self.isdefault = None
+ """the total memory (in MB) available to be created for this account"""
+ self.memoryavailable = None
+ """the total memory (in MB) the account can own"""
+ self.memorylimit = None
+ """the total memory (in MB) owned by account"""
+ self.memorytotal = None
+ """the name of the account"""
+ self.name = None
+ """the total number of networks available to be created for this account"""
+ self.networkavailable = None
+ """the network domain"""
+ self.networkdomain = None
+ """the total number of networks the account can own"""
+ self.networklimit = None
+ """the total number of networks owned by account"""
+ self.networktotal = None
+ """the total primary storage space (in GiB) available to be used for this account"""
+ self.primarystorageavailable = None
+ """the total primary storage space (in GiB) the account can own"""
+ self.primarystoragelimit = None
+ """the total primary storage space (in GiB) owned by account"""
+ self.primarystoragetotal = None
+ """the total number of projects available for administration by this account"""
+ self.projectavailable = None
+ """the total number of projects the account can own"""
+ self.projectlimit = None
+ """the total number of projects being administrated by this account"""
+ self.projecttotal = None
+ """the total number of network traffic bytes received"""
+ self.receivedbytes = None
+ """the total secondary storage space (in GiB) available to be used for this account"""
+ self.secondarystorageavailable = None
+ """the total secondary storage space (in GiB) the account can own"""
+ self.secondarystoragelimit = None
+ """the total secondary storage space (in GiB) owned by account"""
+ self.secondarystoragetotal = None
+ """the total number of network traffic bytes sent"""
+ self.sentbytes = None
+ """the total number of snapshots available for this account"""
+ self.snapshotavailable = None
+ """the total number of snapshots which can be stored by this account"""
+ self.snapshotlimit = None
+ """the total number of snapshots stored by this account"""
+ self.snapshottotal = None
+ """the state of the account"""
+ self.state = None
+ """the total number of templates available to be created by this account"""
+ self.templateavailable = None
+ """the total number of templates which can be created by this account"""
+ self.templatelimit = None
+ """the total number of templates which have been created by this account"""
+ self.templatetotal = None
+ """the total number of virtual machines available for this account to acquire"""
+ self.vmavailable = None
+ """the total number of virtual machines that can be deployed by this account"""
+ self.vmlimit = None
+ """the total number of virtual machines running for this account"""
+ self.vmrunning = None
+ """the total number of virtual machines stopped for this account"""
+ self.vmstopped = None
+ """the total number of virtual machines deployed by this account"""
+ self.vmtotal = None
+ """the total volume available for this account"""
+ self.volumeavailable = None
+ """the total volume which can be used by this account"""
+ self.volumelimit = None
+ """the total volume being used by this account"""
+ self.volumetotal = None
+ """the total number of vpcs available to be created for this account"""
+ self.vpcavailable = None
+ """the total number of vpcs the account can own"""
+ self.vpclimit = None
+ """the total number of vpcs owned by account"""
+ self.vpctotal = None
+ """the list of users associated with account"""
+ self.user = []
+
+class user:
+ 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/createAffinityGroup.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createAffinityGroup.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createAffinityGroup.py
new file mode 100644
index 0000000..473e3ee
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createAffinityGroup.py
@@ -0,0 +1,57 @@
+# 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 affinity/anti-affinity group"""
+from baseCmd import *
+from baseResponse import *
+class createAffinityGroupCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "true"
+ """name of the affinity group"""
+ """Required"""
+ self.name = None
+ """Type of the affinity group from the available affinity/anti-affinity group types"""
+ """Required"""
+ self.type = None
+ """an account for the affinity group. Must be used with domainId."""
+ self.account = None
+ """optional description of the affinity group"""
+ self.description = None
+ """domainId of the account owning the affinity group"""
+ self.domainid = None
+ self.required = ["name","type",]
+
+class createAffinityGroupResponse (baseResponse):
+ def __init__(self):
+ """the ID of the affinity group"""
+ self.id = None
+ """the account owning the affinity group"""
+ self.account = None
+ """the description of the affinity group"""
+ self.description = None
+ """the domain name of the affinity group"""
+ self.domain = None
+ """the domain ID of the affinity group"""
+ self.domainid = None
+ """the name of the affinity group"""
+ self.name = None
+ """the type of the affinity group"""
+ self.type = None
+ """virtual machine Ids associated with this affinity group"""
+ self.virtualmachineIds = None
+
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/createAutoScalePolicy.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createAutoScalePolicy.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createAutoScalePolicy.py
new file mode 100644
index 0000000..5002846
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createAutoScalePolicy.py
@@ -0,0 +1,60 @@
+# 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 autoscale policy for a provision or deprovision action, the action is taken when the all the conditions evaluates to true for the specified duration. The policy is in effect once it is attached to a autscale vm group."""
+from baseCmd import *
+from baseResponse import *
+class createAutoScalePolicyCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "true"
+ """the action to be executed if all the conditions evaluate to true for the specified duration."""
+ """Required"""
+ self.action = None
+ """the list of IDs of the conditions that are being evaluated on every interval"""
+ """Required"""
+ self.conditionids = []
+ """the duration for which the conditions have to be true before action is taken"""
+ """Required"""
+ self.duration = None
+ """the cool down period for which the policy should not be evaluated after the action has been taken"""
+ self.quiettime = None
+ self.required = ["action","conditionids","duration",]
+
+class createAutoScalePolicyResponse (baseResponse):
+ def __init__(self):
+ """the autoscale policy ID"""
+ self.id = None
+ """the account owning the autoscale policy"""
+ self.account = None
+ """the action to be executed if all the conditions evaluate to true for the specified duration."""
+ self.action = None
+ """the list of IDs of the conditions that are being evaluated on every interval"""
+ self.conditions = None
+ """the domain name of the autoscale policy"""
+ self.domain = None
+ """the domain ID of the autoscale policy"""
+ self.domainid = None
+ """the duration for which the conditions have to be true before action is taken"""
+ self.duration = None
+ """the project name of the autoscale policy"""
+ self.project = None
+ """the project id autoscale policy"""
+ self.projectid = None
+ """the cool down period for which the policy should not be evaluated after the action has been taken"""
+ self.quiettime = None
+
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/createAutoScaleVmGroup.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createAutoScaleVmGroup.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createAutoScaleVmGroup.py
new file mode 100644
index 0000000..f8a35b6
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createAutoScaleVmGroup.py
@@ -0,0 +1,77 @@
+# 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 and automatically starts a virtual machine based on a service offering, disk offering, and template."""
+from baseCmd import *
+from baseResponse import *
+class createAutoScaleVmGroupCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "true"
+ """the ID of the load balancer rule"""
+ """Required"""
+ self.lbruleid = None
+ """the maximum number of members in the vmgroup, The number of instances in the vm group will be equal to or less than this number."""
+ """Required"""
+ self.maxmembers = None
+ """the minimum number of members in the vmgroup, the number of instances in the vm group will be equal to or more than this number."""
+ """Required"""
+ self.minmembers = None
+ """list of scaledown autoscale policies"""
+ """Required"""
+ self.scaledownpolicyids = []
+ """list of scaleup autoscale policies"""
+ """Required"""
+ self.scaleuppolicyids = []
+ """the autoscale profile that contains information about the vms in the vm group."""
+ """Required"""
+ self.vmprofileid = None
+ """the frequency at which the conditions have to be evaluated"""
+ self.interval = None
+ self.required = ["lbruleid","maxmembers","minmembers","scaledownpolicyids","scaleuppolicyids","vmprofileid",]
+
+class createAutoScaleVmGroupResponse (baseResponse):
+ def __init__(self):
+ """the autoscale vm group ID"""
+ self.id = None
+ """the account owning the instance group"""
+ self.account = None
+ """the domain name of the vm profile"""
+ self.domain = None
+ """the domain ID of the vm profile"""
+ self.domainid = None
+ """the frequency at which the conditions have to be evaluated"""
+ self.interval = None
+ """the load balancer rule ID"""
+ self.lbruleid = None
+ """the maximum number of members in the vmgroup, The number of instances in the vm group will be equal to or less than this number."""
+ self.maxmembers = None
+ """the minimum number of members in the vmgroup, the number of instances in the vm group will be equal to or more than this number."""
+ self.minmembers = None
+ """the project name of the vm profile"""
+ self.project = None
+ """the project id vm profile"""
+ self.projectid = None
+ """list of scaledown autoscale policies"""
+ self.scaledownpolicies = None
+ """list of scaleup autoscale policies"""
+ self.scaleuppolicies = None
+ """the current state of the AutoScale Vm Group"""
+ self.state = None
+ """the autoscale profile that contains information about the vms in the vm group."""
+ self.vmprofileid = None
+
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/createAutoScaleVmProfile.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createAutoScaleVmProfile.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createAutoScaleVmProfile.py
new file mode 100644
index 0000000..0025032
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createAutoScaleVmProfile.py
@@ -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.
+
+
+"""Creates a profile that contains information about the virtual machine which will be provisioned automatically by autoscale feature."""
+from baseCmd import *
+from baseResponse import *
+class createAutoScaleVmProfileCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "true"
+ """the service offering of the auto deployed virtual machine"""
+ """Required"""
+ self.serviceofferingid = None
+ """the template of the auto deployed virtual machine"""
+ """Required"""
+ self.templateid = None
+ """availability zone for the auto deployed virtual machine"""
+ """Required"""
+ self.zoneid = None
+ """the ID of the user used to launch and destroy the VMs"""
+ self.autoscaleuserid = None
+ """counterparam list. Example: counterparam[0].name=snmpcommunity&counterparam[0].value=public&counterparam[1].name=snmpport&counterparam[1].value=161"""
+ self.counterparam = []
+ """the time allowed for existing connections to get closed before a vm is destroyed"""
+ self.destroyvmgraceperiod = None
+ """parameters other than zoneId/serviceOfferringId/templateId of the auto deployed virtual machine"""
+ self.otherdeployparams = None
+ self.required = ["serviceofferingid","templateid","zoneid",]
+
+class createAutoScaleVmProfileResponse (baseResponse):
+ def __init__(self):
+ """the autoscale vm profile ID"""
+ self.id = None
+ """the account owning the instance group"""
+ self.account = None
+ """the ID of the user used to launch and destroy the VMs"""
+ self.autoscaleuserid = None
+ """the time allowed for existing connections to get closed before a vm is destroyed"""
+ self.destroyvmgraceperiod = None
+ """the domain name of the vm profile"""
+ self.domain = None
+ """the domain ID of the vm profile"""
+ self.domainid = None
+ """parameters other than zoneId/serviceOfferringId/templateId to be used while deploying a virtual machine"""
+ self.otherdeployparams = None
+ """the project name of the vm profile"""
+ self.project = None
+ """the project id vm profile"""
+ self.projectid = None
+ """the service offering to be used while deploying a virtual machine"""
+ self.serviceofferingid = None
+ """the template to be used while deploying a virtual machine"""
+ self.templateid = None
+ """the availability zone to be used while deploying a virtual machine"""
+ self.zoneid = None
+
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/createCondition.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createCondition.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createCondition.py
new file mode 100644
index 0000000..74a9daf
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createCondition.py
@@ -0,0 +1,62 @@
+# 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 condition"""
+from baseCmd import *
+from baseResponse import *
+class createConditionCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "true"
+ """ID of the Counter."""
+ """Required"""
+ self.counterid = None
+ """Relational Operator to be used with threshold."""
+ """Required"""
+ self.relationaloperator = None
+ """Threshold value."""
+ """Required"""
+ self.threshold = None
+ """the account of the condition. Must be used with the domainId parameter."""
+ self.account = None
+ """the domain ID of the account."""
+ self.domainid = None
+ self.required = ["counterid","relationaloperator","threshold",]
+
+class createConditionResponse (baseResponse):
+ def __init__(self):
+ """the id of the Condition"""
+ self.id = None
+ """the owner of the Condition."""
+ self.account = None
+ """Details of the Counter."""
+ self.counter = None
+ """the domain name of the owner."""
+ self.domain = None
+ """the domain id of the Condition owner"""
+ self.domainid = None
+ """the project name of the Condition"""
+ self.project = None
+ """the project id of the Condition."""
+ self.projectid = None
+ """Relational Operator to be used with threshold."""
+ self.relationaloperator = None
+ """Threshold Value for the counter."""
+ self.threshold = None
+ """zone id of counter"""
+ self.zoneid = None
+
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/createCounter.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createCounter.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createCounter.py
new file mode 100644
index 0000000..240a486
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createCounter.py
@@ -0,0 +1,48 @@
+# 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.
+
+
+"""Adds metric counter"""
+from baseCmd import *
+from baseResponse import *
+class createCounterCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "true"
+ """Name of the counter."""
+ """Required"""
+ self.name = None
+ """Source of the counter."""
+ """Required"""
+ self.source = None
+ """Value of the counter e.g. oid in case of snmp."""
+ """Required"""
+ self.value = None
+ self.required = ["name","source","value",]
+
+class createCounterResponse (baseResponse):
+ def __init__(self):
+ """the id of the Counter"""
+ self.id = None
+ """Name of the counter."""
+ self.name = None
+ """Source of the counter."""
+ self.source = None
+ """Value in case of snmp or other specific counters."""
+ self.value = None
+ """zone id of counter"""
+ self.zoneid = None
+
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/createDiskOffering.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createDiskOffering.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createDiskOffering.py
new file mode 100644
index 0000000..736a0cf
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createDiskOffering.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 a disk offering."""
+from baseCmd import *
+from baseResponse import *
+class createDiskOfferingCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "false"
+ """alternate display text of the disk offering"""
+ """Required"""
+ self.displaytext = None
+ """name of the disk offering"""
+ """Required"""
+ self.name = None
+ """bytes read rate of the disk offering"""
+ self.bytesreadrate = None
+ """bytes write rate of the disk offering"""
+ self.byteswriterate = None
+ """whether disk offering size is custom or not"""
+ self.customized = None
+ """whether disk offering iops is custom or not"""
+ self.customizediops = None
+ """size of the disk offering in GB"""
+ self.disksize = None
+ """an optional field, whether to display the offering to the end user or not."""
+ self.displayoffering = None
+ """the ID of the containing domain, null for public offerings"""
+ self.domainid = None
+ """io requests read rate of the disk offering"""
+ self.iopsreadrate = None
+ """io requests write rate of the disk offering"""
+ self.iopswriterate = None
+ """max iops of the disk offering"""
+ self.maxiops = None
+ """min iops of the disk offering"""
+ self.miniops = None
+ """the storage type of the disk offering. Values are local and shared."""
+ self.storagetype = None
+ """tags for the disk offering"""
+ self.tags = None
+ self.required = ["displaytext","name",]
+
+class createDiskOfferingResponse (baseResponse):
+ def __init__(self):
+ """unique ID of the disk offering"""
+ self.id = None
+ """the date this disk offering was created"""
+ self.created = None
+ """bytes read rate of the disk offering"""
+ self.diskBytesReadRate = None
+ """bytes write rate of the disk offering"""
+ self.diskBytesWriteRate = None
+ """io requests read rate of the disk offering"""
+ self.diskIopsReadRate = None
+ """io requests write rate of the disk offering"""
+ self.diskIopsWriteRate = None
+ """the size of the disk offering in GB"""
+ self.disksize = None
+ """whether to display the offering to the end user or not."""
+ self.displayoffering = None
+ """an alternate display text of the disk offering."""
+ self.displaytext = None
+ """the domain name this disk offering belongs to. Ignore this information as it is not currently applicable."""
+ self.domain = None
+ """the domain ID this disk offering belongs to. Ignore this information as it is not currently applicable."""
+ self.domainid = None
+ """true if disk offering uses custom size, false otherwise"""
+ self.iscustomized = None
+ """true if disk offering uses custom iops, false otherwise"""
+ self.iscustomizediops = None
+ """the max iops of the disk offering"""
+ self.maxiops = None
+ """the min iops of the disk offering"""
+ self.miniops = None
+ """the name of the disk offering"""
+ self.name = None
+ """the storage type for this disk offering"""
+ self.storagetype = None
+ """the tags for the disk offering"""
+ self.tags = None
+
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/createDomain.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createDomain.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createDomain.py
new file mode 100644
index 0000000..12b4854
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createDomain.py
@@ -0,0 +1,54 @@
+# 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 domain"""
+from baseCmd import *
+from baseResponse import *
+class createDomainCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "false"
+ """creates domain with this name"""
+ """Required"""
+ self.name = None
+ """Domain UUID, required for adding domain from another Region"""
+ self.domainid = None
+ """Network domain for networks in the domain"""
+ self.networkdomain = None
+ """assigns new domain a parent domain by domain ID of the parent. If no parent domain is specied, the ROOT domain is assumed."""
+ self.parentdomainid = None
+ self.required = ["name",]
+
+class createDomainResponse (baseResponse):
+ def __init__(self):
+ """the ID of the domain"""
+ self.id = None
+ """whether the domain has one or more sub-domains"""
+ self.haschild = None
+ """the level of the domain"""
+ self.level = None
+ """the name of the domain"""
+ self.name = None
+ """the network domain"""
+ self.networkdomain = None
+ """the domain ID of the parent domain"""
+ self.parentdomainid = None
+ """the domain name of the parent domain"""
+ self.parentdomainname = None
+ """the path of the domain"""
+ self.path = None
+
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/createEgressFirewallRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createEgressFirewallRule.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createEgressFirewallRule.py
new file mode 100644
index 0000000..61a5e7e
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createEgressFirewallRule.py
@@ -0,0 +1,94 @@
+# 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 egress firewall rule for a given network"""
+from baseCmd import *
+from baseResponse import *
+class createEgressFirewallRuleCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "true"
+ """the network id of the port forwarding rule"""
+ """Required"""
+ self.networkid = None
+ """the protocol for the firewall rule. Valid values are TCP/UDP/ICMP."""
+ """Required"""
+ self.protocol = None
+ """the cidr list to forward traffic from"""
+ self.cidrlist = []
+ """the ending port of firewall rule"""
+ self.endport = None
+ """error code for this icmp message"""
+ self.icmpcode = None
+ """type of the icmp message being sent"""
+ self.icmptype = None
+ """the starting port of firewall rule"""
+ self.startport = None
+ """type of firewallrule: system/user"""
+ self.type = None
+ self.required = ["networkid","protocol",]
+
+class createEgressFirewallRuleResponse (baseResponse):
+ def __init__(self):
+ """the ID of the firewall rule"""
+ self.id = None
+ """the cidr list to forward traffic from"""
+ self.cidrlist = None
+ """the ending port of firewall rule's port range"""
+ self.endport = None
+ """error code for this icmp message"""
+ self.icmpcode = None
+ """type of the icmp message being sent"""
+ self.icmptype = None
+ """the public ip address for the firewall rule"""
+ self.ipaddress = None
+ """the public ip address id for the firewall rule"""
+ self.ipaddressid = None
+ """the network id of the firewall rule"""
+ self.networkid = None
+ """the protocol of the firewall rule"""
+ self.protocol = None
+ """the starting port of firewall rule's port range"""
+ self.startport = None
+ """the state of the rule"""
+ self.state = None
+ """the list of resource tags associated with the rule"""
+ 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/createFirewallRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createFirewallRule.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createFirewallRule.py
new file mode 100644
index 0000000..4faeb6b
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createFirewallRule.py
@@ -0,0 +1,94 @@
+# 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 firewall rule for a given ip address"""
+from baseCmd import *
+from baseResponse import *
+class createFirewallRuleCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "true"
+ """the IP address id of the port forwarding rule"""
+ """Required"""
+ self.ipaddressid = None
+ """the protocol for the firewall rule. Valid values are TCP/UDP/ICMP."""
+ """Required"""
+ self.protocol = None
+ """the cidr list to forward traffic from"""
+ self.cidrlist = []
+ """the ending port of firewall rule"""
+ self.endport = None
+ """error code for this icmp message"""
+ self.icmpcode = None
+ """type of the icmp message being sent"""
+ self.icmptype = None
+ """the starting port of firewall rule"""
+ self.startport = None
+ """type of firewallrule: system/user"""
+ self.type = None
+ self.required = ["ipaddressid","protocol",]
+
+class createFirewallRuleResponse (baseResponse):
+ def __init__(self):
+ """the ID of the firewall rule"""
+ self.id = None
+ """the cidr list to forward traffic from"""
+ self.cidrlist = None
+ """the ending port of firewall rule's port range"""
+ self.endport = None
+ """error code for this icmp message"""
+ self.icmpcode = None
+ """type of the icmp message being sent"""
+ self.icmptype = None
+ """the public ip address for the firewall rule"""
+ self.ipaddress = None
+ """the public ip address id for the firewall rule"""
+ self.ipaddressid = None
+ """the network id of the firewall rule"""
+ self.networkid = None
+ """the protocol of the firewall rule"""
+ self.protocol = None
+ """the starting port of firewall rule's port range"""
+ self.startport = None
+ """the state of the rule"""
+ self.state = None
+ """the list of resource tags associated with the rule"""
+ 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/createGlobalLoadBalancerRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createGlobalLoadBalancerRule.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createGlobalLoadBalancerRule.py
new file mode 100644
index 0000000..dd0c610
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createGlobalLoadBalancerRule.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 global load balancer rule"""
+from baseCmd import *
+from baseResponse import *
+class createGlobalLoadBalancerRuleCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "true"
+ """domain name for the GSLB service."""
+ """Required"""
+ self.gslbdomainname = None
+ """GSLB service type (tcp, udp)"""
+ """Required"""
+ self.gslbservicetype = None
+ """name of the load balancer rule"""
+ """Required"""
+ self.name = None
+ """region where the global load balancer is going to be created."""
+ """Required"""
+ self.regionid = None
+ """the account associated with the global load balancer. Must be used with the domainId parameter."""
+ self.account = None
+ """the description of the load balancer rule"""
+ self.description = None
+ """the domain ID associated with the load balancer"""
+ self.domainid = None
+ """load balancer algorithm (roundrobin, leastconn, proximity) that method is used to distribute traffic across the zones participating in global server load balancing, if not specified defaults to 'round robin'"""
+ self.gslblbmethod = None
+ """session sticky method (sourceip) if not specified defaults to sourceip"""
+ self.gslbstickysessionmethodname = None
+ self.required = ["gslbdomainname","gslbservicetype","name","regionid",]
+
+class createGlobalLoadBalancerRuleResponse (baseResponse):
+ def __init__(self):
+ """global load balancer rule ID"""
+ self.id = None
+ """the account of the load balancer rule"""
+ self.account = None
+ """the description of the global load balancer rule"""
+ self.description = None
+ """the domain of the load balancer rule"""
+ self.domain = None
+ """the domain ID of the load balancer rule"""
+ self.domainid = None
+ """DNS domain name given for the global load balancer"""
+ self.gslbdomainname = None
+ """Load balancing method used for the global load balancer"""
+ self.gslblbmethod = None
+ """GSLB service type"""
+ self.gslbservicetype = None
+ """session persistence method used for the global load balancer"""
+ self.gslbstickysessionmethodname = None
+ """name of the global load balancer rule"""
+ self.name = None
+ """the project name of the load balancer"""
+ self.project = None
+ """the project id of the load balancer"""
+ self.projectid = None
+ """Region Id in which global load balancer is created"""
+ self.regionid = None
+ """List of load balancer rules that are part of GSLB rule"""
+ self.loadbalancerrule = []
+
+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 loadbalancerrule:
+ def __init__(self):
+ """"the load balancer rule ID"""
+ self.id = None
+ """"the account of the load balancer rule"""
+ self.account = None
+ """"the load balancer algorithm (source, roundrobin, leastconn)"""
+ self.algorithm = None
+ """"the cidr list to forward traffic from"""
+ self.cidrlist = None
+ """"the description of the load balancer"""
+ self.description = None
+ """"the domain of the load balancer rule"""
+ self.domain = None
+ """"the domain ID of the load balancer rule"""
+ self.domainid = None
+ """"the name of the load balancer"""
+ self.name = None
+ """"the id of the guest network the lb rule belongs to"""
+ self.networkid = None
+ """"the private port"""
+ self.privateport = None
+ """"the project name of the load balancer"""
+ self.project = None
+ """"the project id of the load balancer"""
+ self.projectid = None
+ """"the public ip address"""
+ self.publicip = None
+ """"the public ip address id"""
+ self.publicipid = None
+ """"the public port"""
+ self.publicport = None
+ """"the state of the rule"""
+ self.state = None
+ """"the id of the zone the rule belongs to"""
+ self.zoneid = None
+ """"the list of resource tags associated with load balancer"""
+ 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
+
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/createInstanceGroup.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createInstanceGroup.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createInstanceGroup.py
new file mode 100644
index 0000000..37f7272
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createInstanceGroup.py
@@ -0,0 +1,54 @@
+# 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 vm group"""
+from baseCmd import *
+from baseResponse import *
+class createInstanceGroupCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "false"
+ """the name of the instance group"""
+ """Required"""
+ self.name = None
+ """the account of the instance group. The account parameter must be used with the domainId parameter."""
+ self.account = None
+ """the domain ID of account owning the instance group"""
+ self.domainid = None
+ """The project of the instance group"""
+ self.projectid = None
+ self.required = ["name",]
+
+class createInstanceGroupResponse (baseResponse):
+ def __init__(self):
+ """the id of the instance group"""
+ self.id = None
+ """the account owning the instance group"""
+ self.account = None
+ """time and date the instance group was created"""
+ self.created = None
+ """the domain name of the instance group"""
+ self.domain = None
+ """the domain ID of the instance group"""
+ self.domainid = None
+ """the name of the instance group"""
+ self.name = None
+ """the project name of the group"""
+ self.project = None
+ """the project id of the group"""
+ self.projectid = None
+
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/createInternalLoadBalancerElement.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createInternalLoadBalancerElement.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createInternalLoadBalancerElement.py
new file mode 100644
index 0000000..7a84929
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createInternalLoadBalancerElement.py
@@ -0,0 +1,38 @@
+# 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 an Internal Load Balancer element."""
+from baseCmd import *
+from baseResponse import *
+class createInternalLoadBalancerElementCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "true"
+ """the network service provider ID of the internal load balancer element"""
+ """Required"""
+ self.nspid = None
+ self.required = ["nspid",]
+
+class createInternalLoadBalancerElementResponse (baseResponse):
+ def __init__(self):
+ """the id of the internal load balancer element"""
+ self.id = None
+ """Enabled/Disabled the element"""
+ self.enabled = None
+ """the physical network service provider id of the element"""
+ self.nspid = None
+
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/createIpForwardingRule.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createIpForwardingRule.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createIpForwardingRule.py
new file mode 100644
index 0000000..06f7b07
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createIpForwardingRule.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 ip forwarding rule"""
+from baseCmd import *
+from baseResponse import *
+class createIpForwardingRuleCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "true"
+ """the public IP address id of the forwarding rule, already associated via associateIp"""
+ """Required"""
+ self.ipaddressid = None
+ """the protocol for the rule. Valid values are TCP or UDP."""
+ """Required"""
+ self.protocol = None
+ """the start port for the rule"""
+ """Required"""
+ self.startport = None
+ """the cidr list to forward traffic from"""
+ self.cidrlist = []
+ """the end port for the rule"""
+ self.endport = None
+ """if true, firewall rule for source/end pubic port is automatically created; if false - firewall rule has to be created explicitely. Has value true by default"""
+ self.openfirewall = None
+ self.required = ["ipaddressid","protocol","startport",]
+
+class createIpForwardingRuleResponse (baseResponse):
+ def __init__(self):
+ """the ID of the port forwarding rule"""
+ self.id = None
+ """the cidr list to forward traffic from"""
+ self.cidrlist = None
+ """the public ip address for the port forwarding rule"""
+ self.ipaddress = None
+ """the public ip address id for the port forwarding rule"""
+ self.ipaddressid = None
+ """the ending port of port forwarding rule's private port range"""
+ self.privateendport = None
+ """the starting port of port forwarding rule's private port range"""
+ self.privateport = None
+ """the protocol of the port forwarding rule"""
+ self.protocol = None
+ """the ending port of port forwarding rule's private port range"""
+ self.publicendport = None
+ """the starting port of port forwarding rule's public port range"""
+ self.publicport = None
+ """the state of the rule"""
+ self.state = None
+ """the VM display name for the port forwarding rule"""
+ self.virtualmachinedisplayname = None
+ """the VM ID for the port forwarding rule"""
+ self.virtualmachineid = None
+ """the VM name for the port forwarding rule"""
+ self.virtualmachinename = None
+ """the vm ip address for the port forwarding rule"""
+ self.vmguestip = None
+ """the list of resource tags associated with the rule"""
+ 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/createLBHealthCheckPolicy.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createLBHealthCheckPolicy.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createLBHealthCheckPolicy.py
new file mode 100644
index 0000000..e650d15
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createLBHealthCheckPolicy.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.
+
+
+"""Creates a Load Balancer healthcheck policy"""
+from baseCmd import *
+from baseResponse import *
+class createLBHealthCheckPolicyCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "true"
+ """the ID of the load balancer rule"""
+ """Required"""
+ self.lbruleid = None
+ """the description of the load balancer HealthCheck policy"""
+ self.description = None
+ """Number of consecutive health check success before declaring an instance healthy"""
+ self.healthythreshold = None
+ """Amount of time between health checks (1 sec - 20940 sec)"""
+ self.intervaltime = None
+ """HTTP Ping Path"""
+ self.pingpath = None
+ """Time to wait when receiving a response from the health check (2sec - 60 sec)"""
+ self.responsetimeout = None
+ """Number of consecutive health check failures before declaring an instance unhealthy"""
+ self.unhealthythreshold = None
+ self.required = ["lbruleid",]
+
+class createLBHealthCheckPolicyResponse (baseResponse):
+ def __init__(self):
+ """the account of the HealthCheck policy"""
+ self.account = None
+ """the domain of the HealthCheck policy"""
+ self.domain = None
+ """the domain ID of the HealthCheck policy"""
+ self.domainid = None
+ """the LB rule ID"""
+ self.lbruleid = None
+ """the id of the zone the HealthCheck policy belongs to"""
+ self.zoneid = None
+ """the list of healthcheckpolicies"""
+ self.healthcheckpolicy = []
+
+class healthcheckpolicy:
+ def __init__(self):
+ """"the LB HealthCheck policy ID"""
+ self.id = None
+ """"the description of the healthcheck policy"""
+ self.description = None
+ """"Amount of time between health checks"""
+ self.healthcheckinterval = None
+ """"Number of consecutive health check success before declaring an instance healthy"""
+ self.healthcheckthresshold = None
+ """"the pingpath of the healthcheck policy"""
+ self.pingpath = None
+ """"Time to wait when receiving a response from the health check"""
+ self.responsetime = None
+ """"the state of the policy"""
+ self.state = None
+ """"Number of consecutive health check failures before declaring an instance unhealthy."""
+ self.unhealthcheckthresshold = None
+
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ec00a6fb/tools/marvin/build/lib/marvin/cloudstackAPI/createLBStickinessPolicy.py
----------------------------------------------------------------------
diff --git a/tools/marvin/build/lib/marvin/cloudstackAPI/createLBStickinessPolicy.py b/tools/marvin/build/lib/marvin/cloudstackAPI/createLBStickinessPolicy.py
new file mode 100644
index 0000000..5accb88
--- /dev/null
+++ b/tools/marvin/build/lib/marvin/cloudstackAPI/createLBStickinessPolicy.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.
+
+
+"""Creates a Load Balancer stickiness policy"""
+from baseCmd import *
+from baseResponse import *
+class createLBStickinessPolicyCmd (baseCmd):
+ def __init__(self):
+ self.isAsync = "true"
+ """the ID of the load balancer rule"""
+ """Required"""
+ self.lbruleid = None
+ """name of the LB Stickiness policy method, possible values can be obtained from ListNetworks API"""
+ """Required"""
+ self.methodname = None
+ """name of the LB Stickiness policy"""
+ """Required"""
+ self.name = None
+ """the description of the LB Stickiness policy"""
+ self.description = None
+ """param list. Example: param[0].name=cookiename¶m[0].value=LBCookie"""
+ self.param = []
+ self.required = ["lbruleid","methodname","name",]
+
+class createLBStickinessPolicyResponse (baseResponse):
+ def __init__(self):
+ """the account of the Stickiness policy"""
+ self.account = None
+ """the description of the Stickiness policy"""
+ self.description = None
+ """the domain of the Stickiness policy"""
+ self.domain = None
+ """the domain ID of the Stickiness policy"""
+ self.domainid = None
+ """the LB rule ID"""
+ self.lbruleid = None
+ """the name of the Stickiness policy"""
+ self.name = None
+ """the state of the policy"""
+ self.state = None
+ """the id of the zone the Stickiness policy belongs to"""
+ self.zoneid = None
+ """the list of stickinesspolicies"""
+ self.stickinesspolicy = []
+
+class stickinesspolicy:
+ def __init__(self):
+ """"the LB Stickiness policy ID"""
+ self.id = None
+ """"the description of the Stickiness policy"""
+ self.description = None
+ """"the method name of the Stickiness policy"""
+ self.methodname = None
+ """"the name of the Stickiness policy"""
+ self.name = None
+ """"the params of the policy"""
+ self.params = None
+ """"the state of the policy"""
+ self.state = None
+