// Copyright 2012 Citrix Systems, Inc. Licensed under the // Apache License, Version 2.0 (the "License"); you may not use this // file except in compliance with the License. Citrix Systems, Inc. // reserves all rights not expressly granted by 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. // // Automatically generated by addcopyright.py at 04/03/2012 package com.cloud.network.dao; import java.util.List; import com.cloud.network.CiscoNexusVSMDeviceVO; import com.cloud.utils.db.GenericDao; public interface CiscoNexusVSMDeviceDao extends GenericDao<CiscoNexusVSMDeviceVO, Long> { /** * Return a Cisco Nexus VSM record given its switch domain Id. * @param Cisco Nexus VSM Switch Domain Id * @return CiscoNexusVSMDeviceVO for the VSM having the specified switch domain Id. */ CiscoNexusVSMDeviceVO getVSMbyDomainId(long domId); /** * Return a Cisco Nexus VSM VO (db record) given its name. * @param vsmName */ CiscoNexusVSMDeviceVO getVSMbyName(String vsmName); /** * Return a Cisco Nexus VSM VO (db record) given its ipaddress. * @param vsmIpaddr */ CiscoNexusVSMDeviceVO getVSMbyIpaddress(String ipaddress); /** * Return a list of VSM devices that use the same VLAN for no matter what interface. Unlikely, but oh well. * @param vlanId * - Needs to filter results by the invoker's account Id. So we may end up adding another param * or may query it in the function. * @return */ List<CiscoNexusVSMDeviceVO> listByVlanId(int vlanId); /** * Return a list of VSM devices that use the same VLAN for their mgmt interface. Again, unlikely, but we'll just keep it around. * @param vlanId * @return */ List<CiscoNexusVSMDeviceVO> listByMgmtVlan(int vlanId); /** * Lists all configured VSMs on the management server. * @return */ List<CiscoNexusVSMDeviceVO> listAllVSMs(); /** * Below is a big list of other functions that we may need, but will declare/define/implement once we implement * the functions above. Pasting those below to not lose track of them. * * ListbyZoneId() - Lists all VSMs in the specified zone. ListbyAccountId() - Lists all VSMs owned by the specified Account. ListbyStorageVLAN(vlanId) - Lists all VSMs whose storage VLAN matches the specified VLAN. - Filters results by the invoker's account Id. ListbyControlVLAN(vlanId) - Lists all VSMs whose control VLAN matches the specified VLAN. - Filters results by the invoker's account Id. ListbyPacketVLAN(vlanId) - Lists all VSMs whose Packet VLAN matches the specified VLAN. - Filters results by the invoker's account Id. ListbyConfigMode(mode) - Lists all VSMs which are currently configured in the specified mode (standalone/HA). - Filters results by the invoker's account Id. ListbyConfigState(configState) - Lists all VSMs which are currently configured in the specified state (primary/standby). - Filters results by the invoker's account Id. ListbyDeviceState(deviceState) - Lists all VSMs which are currently in the specified device state (enabled/disabled). - Filters results by the invoker's account Id. getBySwitchDomainId(domId) - Retrieves the VSM with the specified switch domain Id. Each VSM has a unique switch domain Id, just like a real physical switch would. - Filters results by invoker's account id. getbySwitchName(vsmName) - Retrieves the VSM's VO object by the specified vsmName. */ }