1 /**
2 *
3 * Copyright (C) 2011 Cloud Conscious, LLC. <info@cloudconscious.com>
4 *
5 * ====================================================================
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
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 * ====================================================================
18 */
19 package org.jclouds.vcloud.domain.network;
20
21 import java.util.Set;
22
23 import javax.annotation.Nullable;
24
25 import org.jclouds.vcloud.domain.ReferenceType;
26 import org.jclouds.vcloud.domain.network.firewall.FirewallRule;
27 import org.jclouds.vcloud.domain.network.nat.rules.PortForwardingRule;
28
29 /**
30 *
31 * A network that is available in a vDC.
32 *
33 * @author Adrian Cole
34 */
35 public interface VCloudExpressNetwork extends ReferenceType {
36 /**
37 *
38 * @return Description of the network
39 */
40 String getDescription();
41
42 /**
43 * @return IP addresses of the network’s DNS servers.
44 */
45 Set<String> getDnsServers();
46
47 /**
48 *
49 *
50 * @return The IP address of the network’s primary gateway
51 */
52 String getGateway();
53
54 /**
55 * *
56 *
57 * @return the network’s subnet mask
58 */
59 String getNetmask();
60
61 /**
62 * return the network’s fence modes.
63 */
64 Set<FenceMode> getFenceModes();
65
66 /**
67 * return True if the network provides DHCP services
68 */
69 @Nullable
70 Boolean isDhcp();
71
72 /**
73 *
74 * @return Network Address Translation rules for the network
75 */
76 Set<PortForwardingRule> getNatRules();
77
78 /**
79 * @return Firewall rules for the network
80 */
81 Set<FirewallRule> getFirewallRules();
82
83 }