blob: 5ebb559efbd83d282a87109a460bdee9425e3c46 [file] [log] [blame]
Hyunsun Moon44aac662017-02-18 02:07:01 +09001/*
2 * Copyright 2017-present Open Networking Laboratory
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package org.onosproject.openstacknetworking.api;
17
18import org.openstack4j.model.network.Network;
19import org.openstack4j.model.network.Port;
20import org.openstack4j.model.network.Subnet;
21
22/**
23 * Service for administering the inventory of OpenStack network, subnet and port.
24 */
25public interface OpenstackNetworkAdminService {
26
27 /**
28 * Creates a network with the given information.
29 *
30 * @param network the new network
31 */
32 void createNetwork(Network network);
33
34 /**
35 * Updates the network with the given information.
36 *
37 * @param network the updated network
38 */
39 void updateNetwork(Network network);
40
41 /**
42 * Removes the network with the given network id.
43 *
44 * @param networkId network id
45 */
46 void removeNetwork(String networkId);
47
48 /**
49 * Creates a subnet with the given information.
50 *
51 * @param subnet the new subnet
52 */
53 void createSubnet(Subnet subnet);
54
55 /**
56 * Updates a subnet with the given information.
57 *
58 * @param subnet the updated subnet
59 */
60 void updateSubnet(Subnet subnet);
61
62 /**
63 * Removes the subnet with the given subnet id.
64 *
65 * @param subnetId subnet id
66 */
67 void removeSubnet(String subnetId);
68
69 /**
70 * Creates a port with the given information.
71 *
72 * @param port the new port
73 */
74 void createPort(Port port);
75
76 /**
77 * Updates the port with the given information.
78 *
79 * @param port the updated port
80 */
81 void updatePort(Port port);
82
83 /**
84 * Removes the port with the given port id.
85 *
86 * @param portId port id
87 */
88 void removePort(String portId);
89}