Use this object to manage class objects on a VDC.
|
Method |
Description |
|
Retrieve list of classes in a package |
|
|
Move an appliance class from one catalog to another |
|
|
Copy a class from one package to another |
|
|
Destroy a class |
|
|
Lock a class |
|
|
Unlock a class |
|
|
Migrate an appliance class from a remote grid |
|
|
Export a class |
|
|
Import a class |
|
|
Retrieve class descriptor |
|
|
Replace class descriptor |
Retrieve list of classes in a package
/api/v2/class/list?class=class&vdc=controller-name
Name of the package
Name of the target virtual data center
synchronous
GET
Retrieve list of classes in /test.
GET http://192.168.123.200/api/v2/class/list?class=/filer&vdc=mygrid
<catalog>
<classes>
<class>
<category>Filer</category>
<description>Linux Filer based on CentOS 6.3 x86_64 (v5.2.3-1)
</description>
<locked>1</locked>
<name>Filer_Linux</name>
</class>
</classes>
<name>filer</name>
</catalog>
{
"name" : "filer",
"class" : [
{
"locked" : 1,
"name" : "Filer_Linux",
"category" : "Filer",
"description" : "Linux Filer based on CentOS 6.3 x86_64 (v5.2.3-1)"
}
]
}
Entity vdc mygrid not found - A VDC name was specified that is not configured in the WS_API application.
Missing required arguments (class). - Argument class=entity missing in the request.
Application test does not exist. - Invalid application specified in the request.
Global catalog 'test' not found. - Invalid global catalog specified in the request.
Rename a class, or move a class from one package to another
/api/v2/class/move?class=class&new_name=new-class&vdc=controller-name
Name of the class to be moved
Name of the new class
Name of the target virtual data center
synchronous
GET
Move /test:LUX5 to /test2:LUX5.
GET http://192.168.123.200/api/v2/class/move?class=/test:LUX5&new_name=/test2:LUX5&vdc=mygrid
None
None
Entity vdc mygrid not found - A VDC name was specified that is not configured in the WS_API application.
Missing required arguments (class). - Argument class=entity missing in the request.
Missing required arguments (new_name). - Argument new_name=new-name missing in the request.
Could not find class LUX5 in source package. - Invalid class specified in the request.
Unable to move class '/system:LUX5' from read-only catalog 'system'. - Read-only source catalog specified in the request.
Unable to move class '/test:LUX5' into read-only catalog 'system'. - Read-only destination catalog specified in the request.
Global catalog 'test' not found. - Invalid source/destination catalog name specified in the request.
Failed to move volume boot. - Class volume is in-use or same source and destination catalog specified.
Copy a class from one package to another
/api/v2/class/copy?class=class&new_name=new-class&vdc=controller-name
Name of the class to be copied
Name of the new class
Name of the target virtual data center
asynchronous
GET
Copy /system:LUX5 to /test:LUX5.
GET http://192.168.123.200/api/v2/class/copy?class=/system:LUX5&new_name=/test:LUX5&vdc=mygrid
<job>be805915-76b2-48c8-b8a0-b881cca66da6</job>
{
"job" : "be805915-76b2-48c8-b8a0-b881cca66da6"
}
Entity vdc mygrid not found - A VDC name was specified that is not configured in the WS_API application.
Missing required arguments (class). - Argument class=entity missing in the request.
Missing required arguments (new_name). - Argument new_name=new-name missing in the request.
Note: To get the status of job, issue a /api/v2/job/info? request with the job_id returned above as the argument. For more information about how to obtain the job status, refer to the job object.
Destroy a class
/api/v2/class/destroy?class=class&vdc=controller-name
Name of the class to be destroyed
Name of the target virtual data center
asynchronous
GET
Destroy /test:LUX5.
GET http://192.168.123.200/api/v2/class/destroy?class=/test:LUX5&vdc=mygrid
<job>be805915-76b2-48c8-b8a0-b881cca66da6</job>
{
"job" : "be805915-76b2-48c8-b8a0-b881cca66da6"
}
Entity vdc mygrid not found - A VDC name was specified that is not configured in the WS_API application.
Missing required arguments (class). - Argument class=entity missing in the request.
Note: To get the status of job, issue a /api/v2/job/info? request with the job_id returned above as the argument. For more information about how to obtain the job status, refer to the job object.
Lock a class
/api/v2/class/lock?class=class&pwd=password&vdc=controller-name
Name of the class to be locked
Password
Name of the target virtual data center
synchronous
GET
Lock class /test:IN.
GET http://192.168.123.200/api/v2/class/lock?class=/test:IN&pwd=password&vdc=mygrid
<message></message>
{
"message" :""
}
Entity vdc mygrid not found - A VDC name was specified that is not configured in the WS_API application.
Missing required arguments (class). - Argument class=entity missing in the request.
Missing required arguments (pwd). - Argument pwd=password missing in the request.
Global catalog 'test' not found. - Invalid catalog specified in the request.
Class 'LUX' not found. - Invalid class specified in the request.
Note: The password specified to lock a class is required to unlock the class. When a class is locked, the following operations cannot be executed by non-administrators:
Unlock a class
/api/v2/class/unlock?class=class&pwd=password&vdc=controller-name
Name of the class to be unlocked
Password
Name of the target virtual data center
synchronous
GET
Unlock class /test:IN.
GET http://192.168.123.200/api/v2/class/unlock?class=/test:IN&pwd=password&vdc=mygrid
<message></message>
{
"message" :""
}
Entity vdc mygrid not found - A VDC name was specified that is not configured in the WS_API application.
Missing required arguments (class). - Argument class=entity missing in the request.
Missing required arguments (pwd). - Argument pwd=password missing in the request.
Global catalog 'test' not found. - Invalid catalog specified in the request.
Class 'LUX' not found. - Invalid class specified in the request.
Note: If the class was locked with a password, the passwords must match. If the class was locked without a password, then only an administrator may unlock the class.
Migrate a class from a remote grid
/api/v2/class/migrate?grid=remote-grid&class=class&vdc=controller-name
Controller IP or FQDN of the remote grid
Name of the class to be migrated
Name of the target virtual data center
asynchronous
GET
Migrate /test:LUX5 from remote-grid.mygrid.net
GET http://192.168.123.200/api/v2/class/migrate?grid=remote-grid.mygrid.net&class=/test:LUX5&vdc=mygrid
<job>be805915-76b2-48c8-b8a0-b881cca66da6</job>
{
"job" : "be805915-76b2-48c8-b8a0-b881cca66da6"
}
Entity vdc mygrid not found - A VDC name was specified that is not configured in the WS_API application.
Missing required arguments (class). - Argument class=entity missing in the request.
Missing required arguments (grid). - Argument grid=remote-grid missing in the request.
Note\: To get the status of job, issue a /api/v2/job/info? request with the job_id returned above as the argument. For more information about how to obtain the job status, refer to the job object.
Export a class
/api/v2/class/export?class=class&dir=directory&vdc=controller-name
Name of the class
Name of exchange directory relative to /vol/_impex where class is to be exported to
Name of the target virtual data center
asynchronous
GET
Export /test:LUX5
GET http://192.168.123.200/api/v2/class/export?class=/test:LUX5&dir=LUX5&vdc=mygrid
<job>be805915-76b2-48c8-b8a0-b881cca66da6</job>
{
"job" : "be805915-76b2-48c8-b8a0-b881cca66da6"
}
Entity vdc mygrid not found - A VDC name was specified that is not configured in the WS_API application.
Missing required arguments (class,dir) - Argument class=class and dir=dir missing
Missing required arguments (class) - Argument class=class missing
Missing required argument (dir) - Argument dir=dir missing
Note: To get the status of job, issue a /api/v2/job/info? request with the job_id returned above as the argument. For more information about how to obtain the job status, refer to the job object.
Import a class
/api/v2/class/import?class=class&dir=directory&vdc=controller-name
Name of the class
Name of exchange directory relative to /vol/_impex where class is to be exported to
Name of the target virtual data center
asynchronous
GET
Import /test:LUX5
GET http://192.168.123.200/api/v2/class/import?class=/test:LUX5&dir=LUX5&vdc=mygrid
<job>be805915-76b2-48c8-b8a0-b881cca66da6</job>
{
"job" : "be805915-76b2-48c8-b8a0-b881cca66da6"
}
Entity vdc mygrid not found - A VDC name was specified that is not configured in the WS_API application.
Missing required arguments (class,dir) - Argument class=class and dir=dir missing
Missing required arguments (class) - Argument class=class missing
Missing required argument (dir) - Argument dir=dir missing
Note: To get the status of job, issue a /api/v2/job/info? request with the job_id returned above as the argument. For more information about how to obtain the job status, refer to the job object.
Display class descriptor
/api/v2/class/get_desc?class=class&vdc=controller-name
Name of the class
Name of the target virtual data center
synchronous
GET
Display descriptor for /test:LUX5
GET http://192.168.123.200/api/v2/class/get_desc?class=/test:LUX5&vdc=mygrid
<message>component LUX5
{
.category = Generic
.description = "Generic Linux Appliance - based on CentOS 5.4 (v1.3.1-1)"
.doc_url = "http://doc.3tera.com/AppLogic29/CatGenericLux.html"
.config_mode = dhcp
.migrateable = 1
volume boot : class , boot , dev = /dev/hda1 , type = instantiable
volume usr : class , shared , ro , dev = /dev/hda2 , type = common
resource cpu : min = 0.05 , max = 4 , dflt = 0.05
resource mem : min = 64M , max = 2G , dflt = 128M
resource bw : min = 1M , max = 2G , dflt = 100M
input in : protocol = any
output out : protocol = any
output net : gateway , protocol = any
output mon : protocol = cce
interface default
virtualization : mode = paravirt
{
console = "ssh:22,text"
device_schema = /dev/hdaX
}
visual
{
color = gray
style = small
size = 3
east = ooo
west = i
picture = linux
output out : orient = east
input in : orient = west
output mon : orient = east
output net : orient = east
}
}
</message>
{
"message" : "component LUX5\n {\n .category = Generic\n .description = \"Generic Linux Appliance - based on CentOS 5.4 (v1.3.1-1)\"\n .doc_url = \"http://doc.3tera.com/AppLogic29/CatGenericLux.html\"\n .config_mode = dhcp\n .migrateable = 1\n\n volume boot : class , boot , dev = /dev/hda1 , type = instantiable\n volume usr : class , shared , ro , dev = /dev/hda2 , type = common\n\n resource cpu : min = 0.05 , max = 4 , dflt = 0.05\n resource mem : min = 64M , max = 2G , dflt = 128M\n resource bw : min = 1M , max = 2G , dflt = 100M\n\n input in : protocol = any\n output out : protocol = any\n output net : gateway , protocol = any\n output mon : protocol = cce\n\n interface default\n\n virtualization : mode = paravirt\n {\n console = \"ssh:22,text\"\n device_schema = /dev/hdaX\n }\n\n visual\n {\n color = gray\n style = small\n size = 3\n east = ooo\n west = i\n picture = linux\n\n output out : orient = east\n input in : orient = west\n output mon : orient = east\n output net : orient = east\n }\n }\n"
}
Entity vdc mygrid not found - A VDC name was specified that is not configured in the WS_API application.
Missing required arguments (class) - Argument class=class missing
Global catalog 'test' not found - Invalid catalog specified
Catalog class 'LUX' not found - Invalid class specified
Replace class descriptor
/api/v2/class/put_desc?vdc=controller-name -F class=classname -F desc=@descriptor-file
Name of the class
Name of the descriptor file
Name of the target virtual data center
synchronous
POST: multipart/form-data
Replace descriptor for /test:LUX5
POST http://192.168.123.200/api/v2/class/put_desc?vdc=mygrid -F class=class -F desc=@desc.txt
<message></message>
{
"message" : ""
}
Entity vdc mygrid not found - A VDC name was specified that is not configured in the WS_API application.
Missing required arguments (class) - Argument class=class missing
Failed to put descriptor for '/test:LUX5' - Failed to retrieve descriptor from standard input. - Argument desc=descriptor-file missing
Global catalog 'test' not found - Invalid catalog specified
Catalog class 'LUX' not found - Invalid class specified
Note: Currently only requests of type “multipart/form-data” are supported. The descriptor file is expected to be UDL compliant.
|
Copyright © 2013 CA Technologies.
All rights reserved.
|
|