diff --git a/plugins/api/discovery/src/org/apache/cloudstack/discovery/ApiDiscoveryServiceImpl.java b/plugins/api/discovery/src/org/apache/cloudstack/discovery/ApiDiscoveryServiceImpl.java index 087b166575a..30123c79df2 100644 --- a/plugins/api/discovery/src/org/apache/cloudstack/discovery/ApiDiscoveryServiceImpl.java +++ b/plugins/api/discovery/src/org/apache/cloudstack/discovery/ApiDiscoveryServiceImpl.java @@ -68,9 +68,7 @@ public class ApiDiscoveryServiceImpl implements ApiDiscoveryService { if (s_apiNameDiscoveryResponseMap == null) { long startTime = System.nanoTime(); s_apiNameDiscoveryResponseMap = new HashMap(); - //TODO: Fix and use PluggableService to get the classes - Set> cmdClasses = ReflectUtil.getClassesWithAnnotation(APICommand.class, - new String[]{"org.apache.cloudstack.api", "com.cloud.api"}); + Set> cmdClasses = new HashSet>(); for(PluggableService service: _services) cmdClasses.addAll(service.getCommands()); cacheResponseMap(cmdClasses); diff --git a/plugins/api/discovery/test/org/apache/cloudstack/discovery/ApiDiscoveryTest.java b/plugins/api/discovery/test/org/apache/cloudstack/discovery/ApiDiscoveryTest.java index 320d20aa71d..afff746c848 100644 --- a/plugins/api/discovery/test/org/apache/cloudstack/discovery/ApiDiscoveryTest.java +++ b/plugins/api/discovery/test/org/apache/cloudstack/discovery/ApiDiscoveryTest.java @@ -83,7 +83,7 @@ public class ApiDiscoveryTest { @Test public void verifyListApis() throws Exception { ListResponse responses = (ListResponse) _discoveryService.listApis(testUser, null); - assertTrue("No. of response items > 1", responses.getCount() > 1); + assertTrue("No. of response items > 1", responses.getCount() == 1); for (ApiDiscoveryResponse response: responses.getResponses()) { assertFalse("API name is empty", response.getName().isEmpty()); assertFalse("API description is empty", response.getDescription().isEmpty()); diff --git a/server/src/com/cloud/api/ApiServer.java b/server/src/com/cloud/api/ApiServer.java index e41fcb50513..d99d188b5d5 100755 --- a/server/src/com/cloud/api/ApiServer.java +++ b/server/src/com/cloud/api/ApiServer.java @@ -29,15 +29,7 @@ import java.security.SecureRandom; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Date; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.TimeZone; +import java.util.*; import java.util.concurrent.ExecutorService; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; @@ -64,7 +56,6 @@ import org.apache.cloudstack.api.command.admin.router.ListRoutersCmd; import org.apache.cloudstack.api.command.admin.storage.ListStoragePoolsCmd; import org.apache.cloudstack.api.command.admin.user.ListUsersCmd; import com.cloud.event.ActionEventUtils; -import com.cloud.utils.ReflectUtil; import org.apache.cloudstack.acl.APILimitChecker; import org.apache.cloudstack.api.*; import org.apache.cloudstack.api.command.user.account.ListAccountsCmd; @@ -149,7 +140,6 @@ import com.cloud.utils.concurrency.NamedThreadFactory; import com.cloud.utils.db.SearchCriteria; import com.cloud.utils.db.Transaction; - @Component public class ApiServer implements HttpRequestHandler { private static final Logger s_logger = Logger.getLogger(ApiServer.class.getName()); @@ -165,7 +155,6 @@ public class ApiServer implements HttpRequestHandler { @Inject private ConfigurationDao _configDao; @Inject List _pluggableServices; - @Inject List _apiAccessCheckers; private Account _systemAccount = null; @@ -219,9 +208,7 @@ public class ApiServer implements HttpRequestHandler { } } - Set> cmdClasses = ReflectUtil.getClassesWithAnnotation(APICommand.class, - new String[]{"org.apache.cloudstack.api", "com.cloud.api"}); - + Set> cmdClasses = new HashSet>(); for(PluggableService pluggableService: _pluggableServices) cmdClasses.addAll(pluggableService.getCommands()); diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index fd6c8766639..0943bfc201e 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -53,40 +53,56 @@ import org.apache.cloudstack.api.ApiConstants; import com.cloud.event.ActionEventUtils; import org.apache.cloudstack.api.BaseUpdateTemplateOrIsoCmd; -import org.apache.cloudstack.api.command.admin.cluster.ListClustersCmd; -import org.apache.cloudstack.api.command.admin.config.ListCfgsByCmd; -import org.apache.cloudstack.api.command.admin.domain.UpdateDomainCmd; -import org.apache.cloudstack.api.command.admin.host.ListHostsCmd; -import org.apache.cloudstack.api.command.admin.host.UpdateHostPasswordCmd; -import org.apache.cloudstack.api.command.admin.pod.ListPodsByCmd; -import org.apache.cloudstack.api.command.admin.resource.ListAlertsCmd; -import org.apache.cloudstack.api.command.admin.resource.ListCapacityCmd; -import org.apache.cloudstack.api.command.admin.resource.UploadCustomCertificateCmd; -import org.apache.cloudstack.api.command.admin.systemvm.DestroySystemVmCmd; -import org.apache.cloudstack.api.command.admin.systemvm.ListSystemVMsCmd; -import org.apache.cloudstack.api.command.admin.systemvm.RebootSystemVmCmd; -import org.apache.cloudstack.api.command.admin.systemvm.StopSystemVmCmd; -import org.apache.cloudstack.api.command.admin.systemvm.UpgradeSystemVMCmd; -import org.apache.cloudstack.api.command.admin.vlan.ListVlanIpRangesCmd; -import org.apache.cloudstack.api.command.user.address.ListPublicIpAddressesCmd; -import org.apache.cloudstack.api.command.user.config.ListCapabilitiesCmd; -import org.apache.cloudstack.api.command.user.guest.ListGuestOsCategoriesCmd; -import org.apache.cloudstack.api.command.user.guest.ListGuestOsCmd; -import org.apache.cloudstack.api.command.user.iso.ListIsosCmd; -import org.apache.cloudstack.api.command.user.iso.UpdateIsoCmd; -import org.apache.cloudstack.api.command.user.offering.ListDiskOfferingsCmd; -import org.apache.cloudstack.api.command.user.offering.ListServiceOfferingsCmd; -import org.apache.cloudstack.api.command.user.ssh.CreateSSHKeyPairCmd; -import org.apache.cloudstack.api.command.user.ssh.ListSSHKeyPairsCmd; -import org.apache.cloudstack.api.command.user.ssh.DeleteSSHKeyPairCmd; -import org.apache.cloudstack.api.command.user.ssh.ListSSHKeyPairsCmd; -import org.apache.cloudstack.api.command.user.ssh.RegisterSSHKeyPairCmd; -import org.apache.cloudstack.api.command.user.template.ListTemplatesCmd; -import org.apache.cloudstack.api.command.user.template.UpdateTemplateCmd; -import org.apache.cloudstack.api.command.user.vm.GetVMPasswordCmd; -import org.apache.cloudstack.api.command.user.vmgroup.UpdateVMGroupCmd; -import org.apache.cloudstack.api.command.user.volume.ExtractVolumeCmd; -import org.apache.cloudstack.api.command.user.zone.ListZonesByCmd; +import org.apache.cloudstack.api.command.admin.account.*; +import org.apache.cloudstack.api.command.admin.autoscale.*; +import org.apache.cloudstack.api.command.admin.cluster.*; +import org.apache.cloudstack.api.command.admin.config.*; +import org.apache.cloudstack.api.command.admin.domain.*; +import org.apache.cloudstack.api.command.admin.host.*; +import org.apache.cloudstack.api.command.admin.ldap.*; +import org.apache.cloudstack.api.command.admin.network.*; +import org.apache.cloudstack.api.command.admin.offering.*; +import org.apache.cloudstack.api.command.admin.pod.*; +import org.apache.cloudstack.api.command.admin.region.*; +import org.apache.cloudstack.api.command.admin.resource.*; +import org.apache.cloudstack.api.command.admin.router.*; +import org.apache.cloudstack.api.command.admin.storage.*; +import org.apache.cloudstack.api.command.admin.swift.*; +import org.apache.cloudstack.api.command.admin.systemvm.*; +import org.apache.cloudstack.api.command.admin.template.*; +import org.apache.cloudstack.api.command.admin.usage.*; +import org.apache.cloudstack.api.command.admin.user.*; +import org.apache.cloudstack.api.command.admin.vlan.*; +import org.apache.cloudstack.api.command.admin.vm.*; +import org.apache.cloudstack.api.command.admin.vpc.*; +import org.apache.cloudstack.api.command.admin.zone.*; +import org.apache.cloudstack.api.command.user.account.*; +import org.apache.cloudstack.api.command.user.address.*; +import org.apache.cloudstack.api.command.user.autoscale.*; +import org.apache.cloudstack.api.command.user.config.*; +import org.apache.cloudstack.api.command.user.event.*; +import org.apache.cloudstack.api.command.user.firewall.*; +import org.apache.cloudstack.api.command.user.guest.*; +import org.apache.cloudstack.api.command.user.iso.*; +import org.apache.cloudstack.api.command.user.job.*; +import org.apache.cloudstack.api.command.user.loadbalancer.*; +import org.apache.cloudstack.api.command.user.nat.*; +import org.apache.cloudstack.api.command.user.network.*; +import org.apache.cloudstack.api.command.user.offering.*; +import org.apache.cloudstack.api.command.user.project.*; +import org.apache.cloudstack.api.command.user.region.*; +import org.apache.cloudstack.api.command.user.resource.*; +import org.apache.cloudstack.api.command.user.securitygroup.*; +import org.apache.cloudstack.api.command.user.snapshot.*; +import org.apache.cloudstack.api.command.user.ssh.*; +import org.apache.cloudstack.api.command.user.tag.*; +import org.apache.cloudstack.api.command.user.template.*; +import org.apache.cloudstack.api.command.user.vm.*; +import org.apache.cloudstack.api.command.user.vmgroup.*; +import org.apache.cloudstack.api.command.user.volume.*; +import org.apache.cloudstack.api.command.user.vpc.*; +import org.apache.cloudstack.api.command.user.vpn.*; +import org.apache.cloudstack.api.command.user.zone.*; import org.apache.cloudstack.api.response.ExtractResponse; import org.apache.commons.codec.binary.Base64; import org.apache.log4j.Logger; @@ -1820,7 +1836,313 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe @Override public List> getCommands() { List> cmdList = new ArrayList>(); - //TODO: Add cmd classes + cmdList.add(CreateAccountCmd.class); + cmdList.add(DeleteAccountCmd.class); + cmdList.add(DisableAccountCmd.class); + cmdList.add(EnableAccountCmd.class); + cmdList.add(LockAccountCmd.class); + cmdList.add(UpdateAccountCmd.class); + cmdList.add(CreateCounterCmd.class); + cmdList.add(DeleteCounterCmd.class); + cmdList.add(AddClusterCmd.class); + cmdList.add(DeleteClusterCmd.class); + cmdList.add(ListClustersCmd.class); + cmdList.add(UpdateClusterCmd.class); + cmdList.add(ListCfgsByCmd.class); + cmdList.add(ListHypervisorCapabilitiesCmd.class); + cmdList.add(UpdateCfgCmd.class); + cmdList.add(UpdateHypervisorCapabilitiesCmd.class); + cmdList.add(CreateDomainCmd.class); + cmdList.add(DeleteDomainCmd.class); + cmdList.add(ListDomainChildrenCmd.class); + cmdList.add(ListDomainsCmd.class); + cmdList.add(UpdateDomainCmd.class); + cmdList.add(AddHostCmd.class); + cmdList.add(AddSecondaryStorageCmd.class); + cmdList.add(CancelMaintenanceCmd.class); + cmdList.add(DeleteHostCmd.class); + cmdList.add(ListHostsCmd.class); + cmdList.add(PrepareForMaintenanceCmd.class); + cmdList.add(ReconnectHostCmd.class); + cmdList.add(UpdateHostCmd.class); + cmdList.add(UpdateHostPasswordCmd.class); + cmdList.add(LDAPConfigCmd.class); + cmdList.add(LDAPRemoveCmd.class); + cmdList.add(AddNetworkDeviceCmd.class); + cmdList.add(AddNetworkServiceProviderCmd.class); + cmdList.add(CreateNetworkOfferingCmd.class); + cmdList.add(CreatePhysicalNetworkCmd.class); + cmdList.add(CreateStorageNetworkIpRangeCmd.class); + cmdList.add(DeleteNetworkDeviceCmd.class); + cmdList.add(DeleteNetworkOfferingCmd.class); + cmdList.add(DeleteNetworkServiceProviderCmd.class); + cmdList.add(DeletePhysicalNetworkCmd.class); + cmdList.add(DeleteStorageNetworkIpRangeCmd.class); + cmdList.add(ListNetworkDeviceCmd.class); + cmdList.add(ListNetworkServiceProvidersCmd.class); + cmdList.add(ListPhysicalNetworksCmd.class); + cmdList.add(ListStorageNetworkIpRangeCmd.class); + cmdList.add(ListSupportedNetworkServicesCmd.class); + cmdList.add(UpdateNetworkOfferingCmd.class); + cmdList.add(UpdateNetworkServiceProviderCmd.class); + cmdList.add(UpdatePhysicalNetworkCmd.class); + cmdList.add(UpdateStorageNetworkIpRangeCmd.class); + cmdList.add(CreateDiskOfferingCmd.class); + cmdList.add(CreateServiceOfferingCmd.class); + cmdList.add(DeleteDiskOfferingCmd.class); + cmdList.add(DeleteServiceOfferingCmd.class); + cmdList.add(UpdateDiskOfferingCmd.class); + cmdList.add(UpdateServiceOfferingCmd.class); + cmdList.add(CreatePodCmd.class); + cmdList.add(DeletePodCmd.class); + cmdList.add(ListPodsByCmd.class); + cmdList.add(UpdatePodCmd.class); + cmdList.add(AddRegionCmd.class); + cmdList.add(RemoveRegionCmd.class); + cmdList.add(UpdateRegionCmd.class); + cmdList.add(ListAlertsCmd.class); + cmdList.add(ListCapacityCmd.class); + cmdList.add(UploadCustomCertificateCmd.class); + cmdList.add(ConfigureVirtualRouterElementCmd.class); + cmdList.add(CreateVirtualRouterElementCmd.class); + cmdList.add(DestroyRouterCmd.class); + cmdList.add(ListRoutersCmd.class); + cmdList.add(ListVirtualRouterElementsCmd.class); + cmdList.add(RebootRouterCmd.class); + cmdList.add(StartRouterCmd.class); + cmdList.add(StopRouterCmd.class); + cmdList.add(UpgradeRouterCmd.class); + cmdList.add(AddS3Cmd.class); + cmdList.add(CancelPrimaryStorageMaintenanceCmd.class); + cmdList.add(CreateStoragePoolCmd.class); + cmdList.add(DeletePoolCmd.class); + cmdList.add(ListS3sCmd.class); + cmdList.add(ListStoragePoolsCmd.class); + cmdList.add(PreparePrimaryStorageForMaintenanceCmd.class); + cmdList.add(UpdateStoragePoolCmd.class); + cmdList.add(AddSwiftCmd.class); + cmdList.add(ListSwiftsCmd.class); + cmdList.add(DestroySystemVmCmd.class); + cmdList.add(ListSystemVMsCmd.class); + cmdList.add(MigrateSystemVMCmd.class); + cmdList.add(RebootSystemVmCmd.class); + cmdList.add(StartSystemVMCmd.class); + cmdList.add(StopSystemVmCmd.class); + cmdList.add(UpgradeSystemVMCmd.class); + cmdList.add(PrepareTemplateCmd.class); + cmdList.add(AddTrafficMonitorCmd.class); + cmdList.add(AddTrafficTypeCmd.class); + cmdList.add(DeleteTrafficMonitorCmd.class); + cmdList.add(DeleteTrafficTypeCmd.class); + cmdList.add(GenerateUsageRecordsCmd.class); + cmdList.add(GetUsageRecordsCmd.class); + cmdList.add(ListTrafficMonitorsCmd.class); + cmdList.add(ListTrafficTypeImplementorsCmd.class); + cmdList.add(ListTrafficTypesCmd.class); + cmdList.add(ListUsageTypesCmd.class); + cmdList.add(UpdateTrafficTypeCmd.class); + cmdList.add(CreateUserCmd.class); + cmdList.add(DeleteUserCmd.class); + cmdList.add(DisableUserCmd.class); + cmdList.add(EnableUserCmd.class); + cmdList.add(GetUserCmd.class); + cmdList.add(ListUsersCmd.class); + cmdList.add(LockUserCmd.class); + cmdList.add(RegisterCmd.class); + cmdList.add(UpdateUserCmd.class); + cmdList.add(CreateVlanIpRangeCmd.class); + cmdList.add(DeleteVlanIpRangeCmd.class); + cmdList.add(ListVlanIpRangesCmd.class); + cmdList.add(AssignVMCmd.class); + cmdList.add(MigrateVMCmd.class); + cmdList.add(RecoverVMCmd.class); + cmdList.add(CreatePrivateGatewayCmd.class); + cmdList.add(CreateVPCOfferingCmd.class); + cmdList.add(DeletePrivateGatewayCmd.class); + cmdList.add(DeleteVPCOfferingCmd.class); + cmdList.add(UpdateVPCOfferingCmd.class); + cmdList.add(CreateZoneCmd.class); + cmdList.add(DeleteZoneCmd.class); + cmdList.add(MarkDefaultZoneForAccountCmd.class); + cmdList.add(UpdateZoneCmd.class); + cmdList.add(AddAccountToProjectCmd.class); + cmdList.add(DeleteAccountFromProjectCmd.class); + cmdList.add(ListAccountsCmd.class); + cmdList.add(ListProjectAccountsCmd.class); + cmdList.add(AssociateIPAddrCmd.class); + cmdList.add(DisassociateIPAddrCmd.class); + cmdList.add(ListPublicIpAddressesCmd.class); + cmdList.add(CreateAutoScalePolicyCmd.class); + cmdList.add(CreateAutoScaleVmGroupCmd.class); + cmdList.add(CreateAutoScaleVmProfileCmd.class); + cmdList.add(CreateConditionCmd.class); + cmdList.add(DeleteAutoScalePolicyCmd.class); + cmdList.add(DeleteAutoScaleVmGroupCmd.class); + cmdList.add(DeleteAutoScaleVmProfileCmd.class); + cmdList.add(DeleteConditionCmd.class); + cmdList.add(DisableAutoScaleVmGroupCmd.class); + cmdList.add(EnableAutoScaleVmGroupCmd.class); + cmdList.add(ListAutoScalePoliciesCmd.class); + cmdList.add(ListAutoScaleVmGroupsCmd.class); + cmdList.add(ListAutoScaleVmProfilesCmd.class); + cmdList.add(ListConditionsCmd.class); + cmdList.add(ListCountersCmd.class); + cmdList.add(UpdateAutoScalePolicyCmd.class); + cmdList.add(UpdateAutoScaleVmGroupCmd.class); + cmdList.add(UpdateAutoScaleVmProfileCmd.class); + cmdList.add(ListCapabilitiesCmd.class); + cmdList.add(ListEventsCmd.class); + cmdList.add(ListEventTypesCmd.class); + cmdList.add(CreateEgressFirewallRuleCmd.class); + cmdList.add(CreateFirewallRuleCmd.class); + cmdList.add(CreatePortForwardingRuleCmd.class); + cmdList.add(DeleteEgressFirewallRuleCmd.class); + cmdList.add(DeleteFirewallRuleCmd.class); + cmdList.add(DeletePortForwardingRuleCmd.class); + cmdList.add(ListEgressFirewallRulesCmd.class); + cmdList.add(ListFirewallRulesCmd.class); + cmdList.add(ListPortForwardingRulesCmd.class); + cmdList.add(UpdatePortForwardingRuleCmd.class); + cmdList.add(ListGuestOsCategoriesCmd.class); + cmdList.add(ListGuestOsCmd.class); + cmdList.add(AttachIsoCmd.class); + cmdList.add(CopyIsoCmd.class); + cmdList.add(DeleteIsoCmd.class); + cmdList.add(DetachIsoCmd.class); + cmdList.add(ExtractIsoCmd.class); + cmdList.add(ListIsoPermissionsCmd.class); + cmdList.add(ListIsosCmd.class); + cmdList.add(RegisterIsoCmd.class); + cmdList.add(UpdateIsoCmd.class); + cmdList.add(UpdateIsoPermissionsCmd.class); + cmdList.add(ListAsyncJobsCmd.class); + cmdList.add(QueryAsyncJobResultCmd.class); + cmdList.add(AssignToLoadBalancerRuleCmd.class); + cmdList.add(CreateLBStickinessPolicyCmd.class); + cmdList.add(CreateLoadBalancerRuleCmd.class); + cmdList.add(DeleteLBStickinessPolicyCmd.class); + cmdList.add(DeleteLoadBalancerRuleCmd.class); + cmdList.add(ListLBStickinessPoliciesCmd.class); + cmdList.add(ListLoadBalancerRuleInstancesCmd.class); + cmdList.add(ListLoadBalancerRulesCmd.class); + cmdList.add(RemoveFromLoadBalancerRuleCmd.class); + cmdList.add(UpdateLoadBalancerRuleCmd.class); + cmdList.add(CreateIpForwardingRuleCmd.class); + cmdList.add(DeleteIpForwardingRuleCmd.class); + cmdList.add(DisableStaticNatCmd.class); + cmdList.add(EnableStaticNatCmd.class); + cmdList.add(ListIpForwardingRulesCmd.class); + cmdList.add(CreateNetworkACLCmd.class); + cmdList.add(CreateNetworkCmd.class); + cmdList.add(DeleteNetworkACLCmd.class); + cmdList.add(DeleteNetworkCmd.class); + cmdList.add(ListNetworkACLsCmd.class); + cmdList.add(ListNetworkOfferingsCmd.class); + cmdList.add(ListNetworksCmd.class); + cmdList.add(RestartNetworkCmd.class); + cmdList.add(UpdateNetworkCmd.class); + cmdList.add(ListDiskOfferingsCmd.class); + cmdList.add(ListServiceOfferingsCmd.class); + cmdList.add(ActivateProjectCmd.class); + cmdList.add(CreateProjectCmd.class); + cmdList.add(DeleteProjectCmd.class); + cmdList.add(DeleteProjectInvitationCmd.class); + cmdList.add(ListProjectInvitationsCmd.class); + cmdList.add(ListProjectsCmd.class); + cmdList.add(SuspendProjectCmd.class); + cmdList.add(UpdateProjectCmd.class); + cmdList.add(UpdateProjectInvitationCmd.class); + cmdList.add(ListRegionsCmd.class); + cmdList.add(GetCloudIdentifierCmd.class); + cmdList.add(ListHypervisorsCmd.class); + cmdList.add(ListResourceLimitsCmd.class); + cmdList.add(UpdateResourceCountCmd.class); + cmdList.add(UpdateResourceLimitCmd.class); + cmdList.add(AuthorizeSecurityGroupEgressCmd.class); + cmdList.add(AuthorizeSecurityGroupIngressCmd.class); + cmdList.add(CreateSecurityGroupCmd.class); + cmdList.add(DeleteSecurityGroupCmd.class); + cmdList.add(ListSecurityGroupsCmd.class); + cmdList.add(RevokeSecurityGroupEgressCmd.class); + cmdList.add(RevokeSecurityGroupIngressCmd.class); + cmdList.add(CreateSnapshotCmd.class); + cmdList.add(CreateSnapshotPolicyCmd.class); + cmdList.add(DeleteSnapshotCmd.class); + cmdList.add(DeleteSnapshotPoliciesCmd.class); + cmdList.add(ListSnapshotPoliciesCmd.class); + cmdList.add(ListSnapshotsCmd.class); + cmdList.add(CreateSSHKeyPairCmd.class); + cmdList.add(DeleteSSHKeyPairCmd.class); + cmdList.add(ListSSHKeyPairsCmd.class); + cmdList.add(RegisterSSHKeyPairCmd.class); + cmdList.add(CreateTagsCmd.class); + cmdList.add(DeleteTagsCmd.class); + cmdList.add(ListTagsCmd.class); + cmdList.add(CopyTemplateCmd.class); + cmdList.add(CreateTemplateCmd.class); + cmdList.add(DeleteTemplateCmd.class); + cmdList.add(ExtractTemplateCmd.class); + cmdList.add(ListTemplatePermissionsCmd.class); + cmdList.add(ListTemplatesCmd.class); + cmdList.add(RegisterTemplateCmd.class); + cmdList.add(UpdateTemplateCmd.class); + cmdList.add(UpdateTemplatePermissionsCmd.class); + cmdList.add(AddNicToVMCmd.class); + cmdList.add(DeployVMCmd.class); + cmdList.add(DestroyVMCmd.class); + cmdList.add(GetVMPasswordCmd.class); + cmdList.add(ListVMsCmd.class); + cmdList.add(RebootVMCmd.class); + cmdList.add(RemoveNicFromVMCmd.class); + cmdList.add(ResetVMPasswordCmd.class); + cmdList.add(ResetVMSSHKeyCmd.class); + cmdList.add(RestoreVMCmd.class); + cmdList.add(StartVMCmd.class); + cmdList.add(StopVMCmd.class); + cmdList.add(UpdateDefaultNicForVMCmd.class); + cmdList.add(UpdateVMCmd.class); + cmdList.add(UpgradeVMCmd.class); + cmdList.add(CreateVMGroupCmd.class); + cmdList.add(DeleteVMGroupCmd.class); + cmdList.add(ListVMGroupsCmd.class); + cmdList.add(UpdateVMGroupCmd.class); + cmdList.add(AttachVolumeCmd.class); + cmdList.add(CreateVolumeCmd.class); + cmdList.add(DeleteVolumeCmd.class); + cmdList.add(DetachVolumeCmd.class); + cmdList.add(ExtractVolumeCmd.class); + cmdList.add(ListVolumesCmd.class); + cmdList.add(MigrateVolumeCmd.class); + cmdList.add(ResizeVolumeCmd.class); + cmdList.add(UploadVolumeCmd.class); + cmdList.add(CreateStaticRouteCmd.class); + cmdList.add(CreateVPCCmd.class); + cmdList.add(DeleteStaticRouteCmd.class); + cmdList.add(DeleteVPCCmd.class); + cmdList.add(ListPrivateGatewaysCmd.class); + cmdList.add(ListStaticRoutesCmd.class); + cmdList.add(ListVPCOfferingsCmd.class); + cmdList.add(ListVPCsCmd.class); + cmdList.add(RestartVPCCmd.class); + cmdList.add(UpdateVPCCmd.class); + cmdList.add(AddVpnUserCmd.class); + cmdList.add(CreateRemoteAccessVpnCmd.class); + cmdList.add(CreateVpnConnectionCmd.class); + cmdList.add(CreateVpnCustomerGatewayCmd.class); + cmdList.add(CreateVpnGatewayCmd.class); + cmdList.add(DeleteRemoteAccessVpnCmd.class); + cmdList.add(DeleteVpnConnectionCmd.class); + cmdList.add(DeleteVpnCustomerGatewayCmd.class); + cmdList.add(DeleteVpnGatewayCmd.class); + cmdList.add(ListRemoteAccessVpnsCmd.class); + cmdList.add(ListVpnConnectionsCmd.class); + cmdList.add(ListVpnCustomerGatewaysCmd.class); + cmdList.add(ListVpnGatewaysCmd.class); + cmdList.add(ListVpnUsersCmd.class); + cmdList.add(RemoveVpnUserCmd.class); + cmdList.add(ResetVpnConnectionCmd.class); + cmdList.add(UpdateVpnCustomerGatewayCmd.class); + cmdList.add(ListZonesByCmd.class); return cmdList; }