OAM NF Adopter REST PM
[oam/nf-oam-adopter.git] / ves-nf-oam-adopter / ves-nf-oam-adopter-pm-manager / src / main / java / org / o / ran / oam / nf / oam / adopter / pm / rest / manager / api / PerformanceManagementAdaptersDeployer.java
1 /*
2  *  ============LICENSE_START=======================================================
3  *  O-RAN-SC
4  *  ================================================================================
5  *  Copyright © 2021 AT&T Intellectual Property. All rights reserved.
6  *  ================================================================================
7  *  Licensed under the Apache License, Version 2.0 (the "License");
8  *  you may not use this file except in compliance with the License.
9  *  You may obtain a copy of the License at
10  *        http://www.apache.org/licenses/LICENSE-2.0
11  *
12  *  Unless required by applicable law or agreed to in writing, software
13  *  distributed under the License is distributed on an "AS IS" BASIS,
14  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  *  See the License for the specific language governing permissions and
16  *  limitations under the License.
17  *  ============LICENSE_END=========================================================
18  */
19
20 package org.o.ran.oam.nf.oam.adopter.pm.rest.manager.api;
21
22 import java.time.ZoneId;
23 import java.util.List;
24 import org.eclipse.jdt.annotation.NonNull;
25 import org.eclipse.jdt.annotation.Nullable;
26 import org.o.ran.oam.nf.oam.adopter.pm.rest.manager.exceptions.AlreadyPresentException;
27 import org.o.ran.oam.nf.oam.adopter.pm.rest.manager.exceptions.NotFoundException;
28
29 public interface PerformanceManagementAdaptersDeployer {
30
31     /**
32      * Creates PM Adapter.
33      *
34      * @param hostIpAddress adapter ip address
35      * @param username mechid username
36      * @param password mechid password
37      * @throws AlreadyPresentException if already present
38      */
39     void create(@NonNull String hostIpAddress, @NonNull String username, @NonNull String password)
40             throws AlreadyPresentException;
41
42     /**
43      * Removes PM Adapter by host ip address.
44      *
45      * @param host ip address
46      * @throws NotFoundException if not present
47      */
48     void delete(@NonNull String host) throws NotFoundException;
49
50     /**
51      * Returns list of Adapters host Ip.
52      */
53     @NonNull List<String> getAll();
54
55     /**
56      * Returns time zone of specific device.
57      */
58     @Nullable ZoneId getTimeZone(@NonNull String host);
59 }