The following list gives an overview of all low-level API Commands supported by the XML-RPC API version 2011-01-31 of the Fujitsu Global Cloud Platform that can be used by your scripts. They are grouped by logical "resource type" for presentation purposes only.
Reference: Fujitsu Cloud API Design
Example: [see tests/test_api.py for more examples]
# Connect with your client certificate to region 'uk'
from fgcp.command import FGCPCommand
api_proxy = FGCPCommand('client.pem', 'uk')
# Call standard API commands with identifiers
vsystems = api_proxy.ListVSYS()
for vsys in vsystems:
status = api_proxy.GetVSYSStatus(vsys.vsysId)
vsysconfig = api_proxy.GetVSYSConfiguration(vsys.vsysId)
for vserver in vsysconfig.vservers:
status = api_proxy.GetVServerStatus(vsys.vsysId, vserver.vserverId)
...
Note: this client API library also provides higher-level Client Methods and intermediate Resource Actions.
from fgcp.command import FGCPCommand
proxy = FGCPCommand(key_file='client.pem', region='de')
date, usage = proxy.GetSystemUsage()
vsystems = proxy.ListVSYS()
for vsys in vsystems:
test_vsys(proxy, vsys.vsysId)
break
publicips = proxy.ListPublicIP(None)
for publicip in publicips:
test_publicip(proxy, publicip.address)
break
test_addressrange(proxy)
vsysdescriptors = proxy.ListVSYSDescriptor()
for vsysdescriptor in vsysdescriptors:
test_vsysdescriptor(proxy, vsysdescriptor.vsysdescriptorId)
break
diskimages = proxy.ListDiskImage()
for diskimage in diskimages:
test_diskimage(proxy, diskimage.diskimageId)
break
vsys_attr = proxy.GetVSYSAttributes(vsysId)
vsysName = vsys_attr.vsysName
result = proxy.UpdateVSYSAttribute(vsysId, 'vsysName', vsysName)
try:
cloudCategory = vsys_attr.cloudCategory
#result = proxy.UpdateVSYSConfiguration(vsysId, 'CLOUD_CATEGORY', cloudCategory)
except:
pass
status = proxy.GetVSYSStatus(vsysId)
vservers = proxy.ListVServer(vsysId)
for vserver in vservers:
test_vsys_vserver(proxy, vsysId, vserver.vserverId)
break
#result = proxy.CreateVDisk(vsysId, vdiskName, size)
vdisks = proxy.ListVDisk(vsysId)
for vdisk in vdisks:
test_vsys_vdisk(proxy, vsysId, vdisk.vdiskId)
break
#result = proxy.AllocatePublicIP(vsysId)
publicips = proxy.ListPublicIP(vsysId)
for publicip in publicips:
test_vsys_publicip(proxy, vsysId, publicip.address)
break
vsys_config = proxy.GetVSYSConfiguration(vsysId)
for networkId in vsys_config.vnets:
test_vsys_vnet(proxy, vsysId, networkId)
break
efmType = 'FW'
#result = proxy.CreateEFM(vsysId, efmType, efmName, networkId)
firewalls = proxy.ListEFM(vsysId, efmType)
for firewall in firewalls:
test_vsys_efm_generic(proxy, vsysId, firewall.efmId)
test_vsys_efm_firewall(proxy, vsysId, firewall.efmId)
break
efmType = 'SLB'
#result = proxy.CreateEFM(vsysId, efmType, efmName, networkId)
loadbalancers = proxy.ListEFM(vsysId, efmType)
for loadbalancer in loadbalancers:
test_vsys_efm_generic(proxy, vsysId, loadbalancer.efmId)
test_vsys_efm_loadbalancer(proxy, vsysId, loadbalancer.efmId)
break
#result = proxy.CreateVServer(vsysId, vserverName, vserverType, diskImageId, networkId)
# only allowed on private vsysdescriptors
name = 'My New VSYS Template'
description = 'This is a 3-tier web application database template'
keyword = '3-tier web application database'
vservers = proxy.ListVServer(vsysId)
#result = proxy.RegisterPrivateVSYSDescriptor(vsysId, name, description, keyword, vservers)
#result = proxy.DestroyVSYS(vsysId)
#result = proxy.StartVServer(vsysId, vserverId)
#result = proxy.StopVServer(vsysId, vserverId, force=None)
vserver_attr = proxy.GetVServerAttributes(vsysId, vserverId)
vserverName = vserver_attr.vserverName
result = proxy.UpdateVServerAttribute(vsysId, vserverId, 'vserverName', vserverName)
try:
vserverType = vserver_attr.vserverType
result = proxy.UpdateVServerAttribute(vsysId, vserverId, 'vserverType', vserverType)
except:
pass
status = proxy.GetVServerStatus(vsysId, vserverId)
password = proxy.GetVServerInitialPassword(vsysId, vserverId)
vserver_config = proxy.GetVServerConfiguration(vsysId, vserverId)
for vdisk in vserver_config.vdisks:
test_vsys_vserver_vdisk(proxy, vsysId, vserverId, vdisk.vdiskId)
break
for vnic in vserver_config.vnics:
test_vsys_vserver_vnic(proxy, vsysId, vserverId, vnic.networkId)
break
#result = proxy.RegisterPrivateDiskImage(vserverId, name, description)
#result = proxy.DestroyVServer(vsysId, vserverId)
#result = proxy.AttachVDisk(vsysId, vserverId, vdiskId)
#result = proxy.DetachVDisk(vsysId, vserverId, vdiskId)
#test_vsys_vdisk(vsysId, vdiskId)
proxy.GetVDiskAttributes(vsysId, vdiskId)
#result = proxy.UpdateVDiskAttribute(vsysId, vdiskId, 'vdiskName', vdisk.vdiskName)
proxy.GetVDiskStatus(vsysId, vdiskId)
#result = proxy.BackupVDisk(vsysId, vdiskId)
backups = proxy.ListVDiskBackup(vsysId, vdiskId)
for backup in backups:
test_vsys_backup(proxy, vsysId, backup.backupId)
break
#result = proxy.DestroyVDisk(vsysId, vdiskId)
#result = proxy.RestoreVDisk(vsysId, backupId)
#result = proxy.DestroyVDiskBackup(vsysId, backupId)
#result = proxy.StartEFM(vsysId, efmId)
#result = proxy.StopEFM(vsysId, efmId)
efm_attr = proxy.GetEFMAttributes(vsysId, efmId)
efmName = efm_attr.efmName
result = proxy.UpdateEFMAttribute(vsysId, efmId, 'efmName', efmName)
get_handler = proxy.GetEFMConfigHandler(vsysId, efmId)
#config = proxy.GetEFMConfiguration(vsysId, efmId, configurationName, configurationXML=None)
update_handler = proxy.UpdateEFMConfigHandler(vsysId, efmId)
#result = proxy.UpdateEFMConfiguration(vsysId, efmId, configurationName, configurationXML=None, filePath=None)
status = proxy.GetEFMStatus(vsysId, efmId)
update_info = proxy.GetEFMConfigHandler(vsysId, efmId).efm_update()
#result = proxy.UpdateEFMConfigHandler(vsysId, efmId).efm_update()
#result = proxy.UpdateEFMConfigHandler(vsysId, efmId).efm_backout()
#result = proxy.BackupEFM(vsysId, efmId)
backups = proxy.ListEFMBackup(vsysId, efmId, timeZone=None, countryCode=None)
for backup in backups:
test_vsys_efm_backup(proxy, vsysId, efmId, backup.backupId)
break
#result = proxy.DestroyEFM(vsysId, efmId)
#result = proxy.RestoreEFM(vsysId, efmId, backupId)
#result = proxy.DestroyEFMBackup(vsysId, efmId, backupId)
nat_rules = proxy.GetEFMConfigHandler(vsysId, efmId).fw_nat_rule()
#result = proxy.UpdateEFMConfigHandler(vsysId, efmId).fw_nat_rule(rules=nat_rules)
dns = proxy.GetEFMConfigHandler(vsysId, efmId).fw_dns()
#result = proxy.UpdateEFMConfigHandler(vsysId, efmId).fw_dns(dnstype='AUTO', primary=None, secondary=None)
policies = proxy.GetEFMConfigHandler(vsysId, efmId).fw_policy(from_zone=None, to_zone=None)
#result = proxy.UpdateEFMConfigHandler(vsysId, efmId).fw_policy(log='On', directions=policies)
logs = proxy.GetEFMConfigHandler(vsysId, efmId).fw_log(num=10, orders=None)
limit_policies = proxy.GetEFMConfigHandler(vsysId, efmId).fw_limit_policy(from_zone=None, to_zone=None)
update_info = proxy.GetEFMConfigHandler(vsysId, efmId).fw_update()
rules = proxy.GetEFMConfigHandler(vsysId, efmId).slb_rule()
#result = proxy.UpdateEFMConfigHandler(vsysId, efmId).slb_rule(groups=rules.groups, force=None, webAccelerator=None)
load_stats = proxy.GetEFMConfigHandler(vsysId, efmId).slb_load()
#result = proxy.UpdateEFMConfigHandler(vsysId, efmId).slb_load_clear()
error_stats = proxy.GetEFMConfigHandler(vsysId, efmId).slb_error()
#result = proxy.UpdateEFMConfigHandler(vsysId, efmId).slb_error_clear()
cert_list = proxy.GetEFMConfigHandler(vsysId, efmId).slb_cert_list(certCategory=None, detail=None)
#result = proxy.UpdateEFMConfigHandler(vsysId, efmId).slb_cert_add(certNum, filePath, passphrase)
#result = proxy.UpdateEFMConfigHandler(vsysId, efmId).slb_cert_set(certNum, id)
#result = proxy.UpdateEFMConfigHandler(vsysId, efmId).slb_cert_release(certNum)
#result = proxy.UpdateEFMConfigHandler(vsysId, efmId).slb_cert_delete(certNum, force=None)
#result = proxy.UpdateEFMConfigHandler(vsysId, efmId).slb_cca_add(ccacertNum, filePath)
#result = proxy.UpdateEFMConfigHandler(vsysId, efmId).slb_cca_delete(ccacertNum)
#result = proxy.UpdateEFMConfigHandler(vsysId, efmId).slb_start_maint(id, ipAddress, time=None, unit=None)
#result = proxy.UpdateEFMConfigHandler(vsysId, efmId).slb_stop_maint(id, ipAddress)
update_info = proxy.GetEFMConfigHandler(vsysId, efmId).slb_update()
publicip_attr = proxy.GetPublicIPAttributes(publicipAddress)
status = proxy.GetPublicIPStatus(publicipAddress)
#result = proxy.AttachPublicIP(vsysId, publicipAddress)
#result = proxy.DetachPublicIP(vsysId, publicipAddress)
#result = proxy.FreePublicIP(vsysId, publicipAddress)
#test_publicip(publicipAddress)
addressranges = proxy.GetAddressRange()
#result = proxy.CreateAddressPool(pipFrom=None, pipTo=None)
#result = proxy.AddAddressRange(pipFrom, pipTo)
#result = proxy.DeleteAddressRange(pipFrom, pipTo)
vsysdescriptor_attr = proxy.GetVSYSDescriptorAttributes(vsysdescriptorId)
# only allowed on private vsysdescriptors
vsysdescriptorName = vsysdescriptor_attr.vsysdescriptorName
description = vsysdescriptor_attr.description
keyword = vsysdescriptor_attr.keyword
#result = proxy.UpdateVSYSDescriptorAttribute(vsysdescriptorId, 'en', 'updateName', vsysdescriptorName)
#result = proxy.UpdateVSYSDescriptorAttribute(vsysdescriptorId, 'en', 'updateDescription', description)
#result = proxy.UpdateVSYSDescriptorAttribute(vsysdescriptorId, 'en', 'updateKeyword', keyword)
vsysdescriptor_config = proxy.GetVSYSDescriptorConfiguration(vsysdescriptorId)
#result = proxy.CreateVSYS(vsysdescriptorId, vsysdescriptorName)
diskimages = proxy.ListDiskImage('GENERAL', vsysdescriptorId)
#for diskimage in diskimages:
# test_diskimage(proxy, diskimage.diskimageId)
#result = proxy.UnregisterPrivateVSYSDescriptor(vsysdescriptorId)
#result = proxy.UnregisterVSYSDescriptor(vsysdescriptorId)
diskimage_attr = proxy.GetDiskImageAttributes(diskimageId)
# only allowed on private diskimages
diskimageName = diskimage_attr.diskimageName
#result = proxy.UpdateDiskImageAttribute(diskimageId, 'en', 'updateName', diskimageName)
description = diskimage_attr.description
#result = proxy.UpdateDiskImageAttribute(diskimageId, 'en', 'updateDescription', description)
#result = proxy.UnregisterDiskImage(diskimageId)
servertypes = proxy.ListServerType(diskimageId)
for servertype in servertypes:
test_diskimage_servertype(proxy, diskimageId, servertype.name)
break
console_url = proxy.StandByConsole(vsysId, networkId)
Note: this client API library also provides higher-level Client Methods and intermediate Resource Actions.
Content: index ClientMethods.html ResourceActions.html APICommands.html ClassDiagrams.html TestServer.html RelayServer.html pydoc fgcp pydoc tests