| // |
| // 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. |
| // |
| |
| package com.cloud.resource; |
| |
| import java.net.URI; |
| import java.util.List; |
| import java.util.Map; |
| |
| import com.cloud.host.Host; |
| |
| public interface ResourceListener { |
| static final Integer EVENT_DISCOVER_BEFORE = 0x1; |
| static final Integer EVENT_DISCOVER_AFTER = 0x1 << 1; |
| static final Integer EVENT_DELETE_HOST_BEFORE = 0x1 << 2; |
| static final Integer EVENT_DELETE_HOST_AFTER = 0x1 << 3; |
| static final Integer EVENT_CANCEL_MAINTENANCE_BEFORE = 0x1 << 4; |
| static final Integer EVENT_CANCEL_MAINTENANCE_AFTER = 0x1 << 5; |
| static final Integer EVENT_PREPARE_MAINTENANCE_BEFORE = 0x1 << 6; |
| static final Integer EVENT_PREPARE_MAINTENANCE_AFTER = 0x1 << 7; |
| static final Integer EVENT_ALL = (EVENT_DISCOVER_BEFORE | EVENT_DISCOVER_AFTER | EVENT_DELETE_HOST_BEFORE | EVENT_DELETE_HOST_AFTER | |
| EVENT_CANCEL_MAINTENANCE_BEFORE | EVENT_CANCEL_MAINTENANCE_AFTER | EVENT_PREPARE_MAINTENANCE_BEFORE | EVENT_PREPARE_MAINTENANCE_AFTER); |
| |
| /** |
| * |
| * @param dcid |
| * @param podId |
| * @param clusterId |
| * @param uri |
| * @param username |
| * @param password |
| * @param hostTags |
| * |
| * Called before Discover.find() |
| */ |
| void processDiscoverEventBefore(Long dcid, Long podId, Long clusterId, URI uri, String username, String password, List<String> hostTags); |
| |
| /** |
| * |
| * @param resources |
| * |
| * Called after Discover.find() |
| */ |
| void processDiscoverEventAfter(Map<? extends ServerResource, Map<String, String>> resources); |
| |
| /** |
| * |
| * @param host |
| * |
| * Called before host delete |
| */ |
| void processDeleteHostEventBefore(Host host); |
| |
| /** |
| * |
| * @param host |
| * |
| * Called after host delete. NOTE param host includes stale data which has been removed from database |
| */ |
| void processDeletHostEventAfter(Host host); |
| |
| /** |
| * |
| * @param hostId |
| * |
| * Called before AgentManager.cancelMaintenance |
| */ |
| void processCancelMaintenaceEventBefore(Long hostId); |
| |
| /** |
| * |
| * @param hostId |
| * |
| * Called after AgentManager.cancelMaintenance |
| */ |
| void processCancelMaintenaceEventAfter(Long hostId); |
| |
| /** |
| * |
| * @param hostId |
| * |
| * Called before AgentManager.main |
| */ |
| void processPrepareMaintenaceEventBefore(Long hostId); |
| |
| /** |
| * |
| * @param hostId |
| * |
| * Called after AgentManager.main |
| */ |
| void processPrepareMaintenaceEventAfter(Long hostId); |
| } |