1 | /* |
2 | * Licensed to the Apache Software Foundation (ASF) under one or more |
3 | * contributor license agreements. See the NOTICE file distributed with |
4 | * this work for additional information regarding copyright ownership. |
5 | * The ASF licenses this file to You under the Apache License, Version 2.0 |
6 | * (the "License"); you may not use this file except in compliance with |
7 | * the License. You may obtain a copy of the License at |
8 | * |
9 | * http://www.apache.org/licenses/LICENSE-2.0 |
10 | * |
11 | * Unless required by applicable law or agreed to in writing, software |
12 | * distributed under the License is distributed on an "AS IS" BASIS, |
13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
14 | * See the License for the specific language governing permissions and |
15 | * limitations under the License. |
16 | */ |
17 | package org.jclouds.glesys.options; |
18 | |
19 | import org.jclouds.http.options.BaseHttpRequestOptions; |
20 | |
21 | /** |
22 | * @author Adam Lowe |
23 | */ |
24 | public class ListIpOptions extends BaseHttpRequestOptions { |
25 | |
26 | public static class Builder { |
27 | /** |
28 | * @see org.jclouds.glesys.options.ListIpOptions#used |
29 | */ |
30 | public static ListIpOptions used(boolean used) { |
31 | return new ListIpOptions().used(used); |
32 | } |
33 | |
34 | /** |
35 | * @see org.jclouds.glesys.options.ListIpOptions#serverId |
36 | */ |
37 | public static ListIpOptions serverId(String serverId) { |
38 | return new ListIpOptions().serverId(serverId); |
39 | } |
40 | |
41 | /** |
42 | * @see org.jclouds.glesys.options.ListIpOptions#ipVersion |
43 | */ |
44 | public static ListIpOptions ipVersion(int ipVersion) { |
45 | return new ListIpOptions().ipVersion(ipVersion); |
46 | } |
47 | |
48 | /** |
49 | * @see org.jclouds.glesys.options.ListIpOptions#datacenter |
50 | */ |
51 | public static ListIpOptions datacenter(String datacenter) { |
52 | return new ListIpOptions().datacenter(datacenter); |
53 | } |
54 | |
55 | /** |
56 | * @see org.jclouds.glesys.options.ListIpOptions#platform |
57 | */ |
58 | public static ListIpOptions platform(String platform) { |
59 | return new ListIpOptions().platform(platform); |
60 | } |
61 | |
62 | } |
63 | |
64 | /** |
65 | * Retrieve only IPs that are in use |
66 | */ |
67 | public ListIpOptions used(boolean used) { |
68 | formParameters.put("used", Boolean.toString(used)); |
69 | return this; |
70 | } |
71 | |
72 | /** |
73 | * Retrieve only IP assigned to the specified server |
74 | */ |
75 | public ListIpOptions serverId(String serverId) { |
76 | formParameters.put("serverid", serverId); |
77 | return this; |
78 | } |
79 | |
80 | /** |
81 | * Retrieve only IPs of the requested version |
82 | */ |
83 | public ListIpOptions ipVersion(int ipVersion) { |
84 | formParameters.put("ipversion", Integer.toString(ipVersion)); |
85 | return this; |
86 | } |
87 | |
88 | /** |
89 | * Retrieve only IPs served in the specified datacenter |
90 | */ |
91 | public ListIpOptions datacenter(String datacenter) { |
92 | formParameters.put("datacenter", datacenter); |
93 | return this; |
94 | } |
95 | |
96 | /** |
97 | * Retrieve only IPs served on the specified platform |
98 | */ |
99 | public ListIpOptions platform(String platform) { |
100 | formParameters.put("platform", platform); |
101 | return this; |
102 | } |
103 | |
104 | } |