http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/functions/WindowsLoginCredentialsFromEncryptedData.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/functions/WindowsLoginCredentialsFromEncryptedData.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/functions/WindowsLoginCredentialsFromEncryptedData.java deleted file mode 100644 index c26c394..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/functions/WindowsLoginCredentialsFromEncryptedData.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * 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 org.jclouds.cloudstack.functions; - -import static com.google.common.base.Charsets.UTF_8; -import static com.google.common.io.BaseEncoding.base64; - -import java.security.KeyFactory; -import java.security.PrivateKey; -import java.security.spec.KeySpec; -import java.util.regex.Pattern; - -import javax.crypto.Cipher; - -import org.jclouds.cloudstack.domain.EncryptedPasswordAndPrivateKey; -import org.jclouds.crypto.Crypto; -import org.jclouds.crypto.Pems; -import org.jclouds.domain.LoginCredentials; -import org.jclouds.javax.annotation.Nullable; - -import com.google.common.base.Function; -import com.google.common.base.Throwables; -import com.google.inject.Inject; -import com.google.inject.Singleton; - -/** - * Given an encrypted Windows Administrator password and the decryption key, return a LoginCredentials instance. - */ -@Singleton -public class WindowsLoginCredentialsFromEncryptedData implements Function<EncryptedPasswordAndPrivateKey, LoginCredentials> { - - private final Crypto crypto; - - @Inject - public WindowsLoginCredentialsFromEncryptedData(Crypto crypto) { - this.crypto = crypto; - } - - private static final Pattern whitespace = Pattern.compile("\\s"); - - @Override - public LoginCredentials apply(@Nullable EncryptedPasswordAndPrivateKey dataAndKey) { - if (dataAndKey == null) - return null; - try { - KeySpec keySpec = Pems.privateKeySpec(dataAndKey.getPrivateKey()); - KeyFactory kf = crypto.rsaKeyFactory(); - PrivateKey privKey = kf.generatePrivate(keySpec); - - Cipher cipher = crypto.cipher("RSA"); - cipher.init(Cipher.DECRYPT_MODE, privKey); - byte[] cipherText = base64().decode(whitespace.matcher(dataAndKey.getEncryptedPassword()).replaceAll("")); - byte[] plainText = cipher.doFinal(cipherText); - String password = new String(plainText, UTF_8); - - return LoginCredentials.builder() - .user("Administrator") - .password(password) - .noPrivateKey() - .build(); - - } catch (Exception e) { - throw Throwables.propagate(e); - } - } -}
http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/functions/ZoneIdToZone.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/functions/ZoneIdToZone.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/functions/ZoneIdToZone.java deleted file mode 100644 index 6e18605..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/functions/ZoneIdToZone.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * 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 org.jclouds.cloudstack.functions; - -import static com.google.common.base.Preconditions.checkNotNull; - -import org.jclouds.cloudstack.CloudStackApi; -import org.jclouds.cloudstack.domain.Zone; -import org.jclouds.cloudstack.features.ZoneApi; - -import com.google.common.cache.CacheLoader; -import com.google.inject.Inject; - -/** - * Defines a cache that allows a zone to be looked up by its ID. - */ -public class ZoneIdToZone extends CacheLoader<String, Zone> { - - private final ZoneApi zoneClient; - - @Inject - public ZoneIdToZone(CloudStackApi client) { - checkNotNull(client, "client"); - this.zoneClient = client.getZoneApi(); - } - - @Override - public Zone load(String zoneId) throws Exception { - checkNotNull(zoneId, "zoneId"); - return zoneClient.getZone(zoneId); - } - -} http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/handlers/CloudStackErrorHandler.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/handlers/CloudStackErrorHandler.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/handlers/CloudStackErrorHandler.java deleted file mode 100644 index 6c6f886..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/handlers/CloudStackErrorHandler.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * 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 org.jclouds.cloudstack.handlers; - -import java.io.IOException; - -import javax.annotation.Resource; -import javax.inject.Singleton; - -import org.jclouds.http.HttpCommand; -import org.jclouds.http.HttpErrorHandler; -import org.jclouds.http.HttpResponse; -import org.jclouds.http.HttpResponseException; -import org.jclouds.logging.Logger; -import org.jclouds.rest.AuthorizationException; -import org.jclouds.rest.InsufficientResourcesException; -import org.jclouds.rest.ResourceNotFoundException; -import org.jclouds.util.Closeables2; -import org.jclouds.util.Strings2; - -import com.google.common.base.Throwables; - -@Singleton -public class CloudStackErrorHandler implements HttpErrorHandler { - @Resource - protected Logger logger = Logger.NULL; - - public void handleError(HttpCommand command, HttpResponse response) { - // it is important to always read fully and close streams - String message = parseMessage(response); - Exception exception = message != null ? new HttpResponseException(command, response, message) - : new HttpResponseException(command, response); - try { - message = message != null ? message : String.format("%s -> %s", command.getCurrentRequest().getRequestLine(), - response.getStatusLine()); - switch (response.getStatusCode()) { - case 400: - exception = new IllegalArgumentException(message, exception); - break; - case 531: - case 401: - exception = new AuthorizationException(message, exception); - break; - case 404: - if (!command.getCurrentRequest().getMethod().equals("DELETE")) { - exception = new ResourceNotFoundException(message, exception); - } - break; - case 405: - exception = new IllegalArgumentException(message, exception); - break; - case 409: - case 431: - if (message.contains("does not exist")) { - exception = new ResourceNotFoundException(message, exception); - } else { - exception = new IllegalStateException(message, exception); - } - break; - case 534: - if (message.contains("Maximum number of resources of type")) { - exception = new InsufficientResourcesException(message, exception); - } - break; - case 537: - exception = new IllegalStateException(message, exception); - break; - } - } finally { - Closeables2.closeQuietly(response.getPayload()); - command.setException(exception); - } - } - - public String parseMessage(HttpResponse response) { - if (response.getPayload() == null) - return null; - try { - return Strings2.toStringAndClose(response.getPayload().openStream()); - } catch (IOException e) { - throw new RuntimeException(e); - } finally { - try { - response.getPayload().getInput().close(); - } catch (IOException e) { - Throwables.propagate(e); - } - } - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/handlers/InvalidateSessionAndRetryOn401AndLogoutOnClose.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/handlers/InvalidateSessionAndRetryOn401AndLogoutOnClose.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/handlers/InvalidateSessionAndRetryOn401AndLogoutOnClose.java deleted file mode 100644 index 119e6b5..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/handlers/InvalidateSessionAndRetryOn401AndLogoutOnClose.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * 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 org.jclouds.cloudstack.handlers; - -import static org.jclouds.http.HttpUtils.releasePayload; - -import javax.annotation.PreDestroy; - -import org.jclouds.cloudstack.domain.LoginResponse; -import org.jclouds.cloudstack.features.SessionApi; -import org.jclouds.domain.Credentials; -import org.jclouds.http.HttpCommand; -import org.jclouds.http.HttpResponse; -import org.jclouds.http.handlers.BackoffLimitedRetryHandler; - -import com.google.common.cache.LoadingCache; -import com.google.inject.Inject; -import com.google.inject.Singleton; - -/** - * This will parse and set an appropriate exception on the command object. - */ -@Singleton -public class InvalidateSessionAndRetryOn401AndLogoutOnClose extends BackoffLimitedRetryHandler { - private final LoadingCache<Credentials, LoginResponse> authenticationResponseCache; - private final SessionApi sessionClient; - - @Inject - protected InvalidateSessionAndRetryOn401AndLogoutOnClose(LoadingCache<Credentials, LoginResponse> authenticationResponseCache, - SessionApi sessionClient) { - this.authenticationResponseCache = authenticationResponseCache; - this.sessionClient = sessionClient; - } - - @Override - public boolean shouldRetryRequest(HttpCommand command, HttpResponse response) { - try { - switch (response.getStatusCode()) { - case 401: - authenticationResponseCache.invalidateAll(); - return super.shouldRetryRequest(command, response); - } - return false; - - } finally { - releasePayload(response); - } - } - - /** - * it is important that we close any sessions on close to help the server not become overloaded. - */ - @PreDestroy - public void logoutOnClose() { - for (LoginResponse s : authenticationResponseCache.asMap().values()) { - try { - sessionClient.logoutUser(s.getSessionKey()); - } catch (Exception e) { - logger.error(e, "error logging out session %s", s.getSessionKey()); - } - } - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/internal/CloudStackContextImpl.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/internal/CloudStackContextImpl.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/internal/CloudStackContextImpl.java deleted file mode 100644 index 962b751..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/internal/CloudStackContextImpl.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * 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 org.jclouds.cloudstack.internal; - -import javax.inject.Inject; -import javax.inject.Singleton; - -import org.jclouds.Context; -import org.jclouds.cloudstack.CloudStackApi; -import org.jclouds.cloudstack.CloudStackContext; -import org.jclouds.cloudstack.CloudStackDomainApi; -import org.jclouds.cloudstack.CloudStackGlobalApi; -import org.jclouds.compute.ComputeService; -import org.jclouds.compute.Utils; -import org.jclouds.compute.internal.ComputeServiceContextImpl; -import org.jclouds.location.Provider; -import org.jclouds.rest.ApiContext; - -import com.google.common.reflect.TypeToken; - -@Singleton -public class CloudStackContextImpl extends ComputeServiceContextImpl implements CloudStackContext { - private final CloudStackApi client; - private final ApiContext<CloudStackDomainApi> domainContext; - private final ApiContext<CloudStackGlobalApi> globalContext; - - @Inject - CloudStackContextImpl(@Provider Context backend, @Provider TypeToken<? extends Context> backendType, - ComputeService computeService, Utils utils, CloudStackApi client, - ApiContext<CloudStackDomainApi> domainContext, - ApiContext<CloudStackGlobalApi> globalContext) { - super(backend, backendType, computeService, utils); - this.client = client; - this.domainContext = domainContext; - this.globalContext = globalContext; - } - - @Override - public CloudStackApi getApi() { - return client; - } - - @Override - public CloudStackDomainApi getDomainApi() { - return domainContext.getApi(); - } - - @Override - public CloudStackGlobalApi getGlobalApi() { - return globalContext.getApi(); - } - -} http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/loaders/LoginWithPasswordCredentials.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/loaders/LoginWithPasswordCredentials.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/loaders/LoginWithPasswordCredentials.java deleted file mode 100644 index 9d6ca1b..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/loaders/LoginWithPasswordCredentials.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * 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 org.jclouds.cloudstack.loaders; - -import static com.google.common.base.Charsets.UTF_8; -import static com.google.common.hash.Hashing.md5; -import static com.google.common.io.BaseEncoding.base16; - -import javax.inject.Inject; -import javax.inject.Singleton; - -import org.jclouds.cloudstack.domain.LoginResponse; -import org.jclouds.cloudstack.features.SessionApi; -import org.jclouds.domain.Credentials; - -import com.google.common.cache.CacheLoader; - -@Singleton -public class LoginWithPasswordCredentials extends CacheLoader<Credentials, LoginResponse> { - private final SessionApi client; - - @Inject - public LoginWithPasswordCredentials(SessionApi client) { - this.client = client; - } - - @Override - public LoginResponse load(Credentials input) { - String username = input.identity; - String domain = ""; // empty = ROOT domain - - // domain may be present - if (username.indexOf('/') != -1) { - // username may not end with slash! - domain = username.substring(0, username.lastIndexOf('/')); - username = username.substring(username.lastIndexOf('/') + 1, username.length()); - } - String hashedPassword = base16().lowerCase().encode(md5().hashString(input.credential, UTF_8).asBytes()); - return client.loginUserInDomainWithHashOfPassword(username, domain, hashedPassword); - } - - @Override - public String toString() { - return "loginWithPasswordCredentials()"; - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/AccountInDomainOptions.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/AccountInDomainOptions.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/AccountInDomainOptions.java deleted file mode 100644 index 9d990da..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/AccountInDomainOptions.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * 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 org.jclouds.cloudstack.options; - -import org.jclouds.http.options.BaseHttpRequestOptions; - -import com.google.common.collect.ImmutableSet; - -/** - * Options for services that apply to accounts in domains - * - * @see <a href="http://download.cloud.com/releases/2.2.0/api_2.2.12/TOC_User.html" /> - */ -public class AccountInDomainOptions extends BaseHttpRequestOptions { - - public static final AccountInDomainOptions NONE = new AccountInDomainOptions(); - - /** - * - * @param account - * an optional account for the resource - * @param domain - * domain id - */ - public AccountInDomainOptions accountInDomain(String account, String domain) { - this.queryParameters.replaceValues("account", ImmutableSet.of(account)); - this.queryParameters.replaceValues("domainid", ImmutableSet.of(domain + "")); - return this; - } - - /** - * @param domainId - * The domain for the resource - */ - public AccountInDomainOptions domainId(String domainId) { - this.queryParameters.replaceValues("domainid", ImmutableSet.of(domainId + "")); - return this; - - } - - public static class Builder { - /** - * @see AccountInDomainOptions#accountInDomain - */ - public static AccountInDomainOptions accountInDomain(String account, String domain) { - AccountInDomainOptions options = new AccountInDomainOptions(); - return options.accountInDomain(account, domain); - } - - /** - * @see AccountInDomainOptions#domainId - */ - public static AccountInDomainOptions domainId(String domainId) { - AccountInDomainOptions options = new AccountInDomainOptions(); - return options.domainId(domainId); - } - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/AddClusterOptions.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/AddClusterOptions.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/AddClusterOptions.java deleted file mode 100644 index ff24415..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/AddClusterOptions.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - * 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 org.jclouds.cloudstack.options; - -import org.jclouds.cloudstack.domain.AllocationState; -import org.jclouds.http.options.BaseHttpRequestOptions; - -import com.google.common.collect.ImmutableSet; - -/** - * Options to the GlobalHostApi.addHost() API call - */ -public class AddClusterOptions extends BaseHttpRequestOptions { - - public static final AddClusterOptions NONE = new AddClusterOptions(); - - /** - * @param allocationState Allocation state of this Host for allocation of new resources - */ - public AddClusterOptions allocationState(AllocationState allocationState) { - this.queryParameters.replaceValues("allocationstate", ImmutableSet.of(allocationState.toString())); - return this; - } - - /** - * @param password the password for the host - */ - public AddClusterOptions password(String password) { - this.queryParameters.replaceValues("password", ImmutableSet.of(password)); - return this; - } - - /** - * @param podId the Pod ID for the host - */ - public AddClusterOptions podId(String podId) { - this.queryParameters.replaceValues("podid", ImmutableSet.of(podId + "")); - return this; - } - - /** - * @param url the URL - */ - public AddClusterOptions url(String url) { - this.queryParameters.replaceValues("url", ImmutableSet.of(url)); - return this; - } - - /** - * @param username the username for the cluster - */ - public AddClusterOptions username(String username) { - this.queryParameters.replaceValues("username", ImmutableSet.of(username)); - return this; - } - - public static class Builder { - - /** - * @param allocationState Allocation state of this Host for allocation of new resources - */ - public static AddClusterOptions allocationState(AllocationState allocationState) { - return new AddClusterOptions().allocationState(allocationState); - } - - /** - * @param password the password for the host - */ - public static AddClusterOptions password(String password) { - return new AddClusterOptions().password(password); - } - - /** - * @param podId the Pod ID for the host - */ - public static AddClusterOptions podId(String podId) { - return new AddClusterOptions().podId(podId); - } - - /** - * @param url the URL - */ - public static AddClusterOptions url(String url) { - return new AddClusterOptions().url(url); - } - - /** - * @param username the username for the cluster - */ - public static AddClusterOptions username(String username) { - return new AddClusterOptions().username(username); - } - - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/AddHostOptions.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/AddHostOptions.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/AddHostOptions.java deleted file mode 100644 index 49037ad..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/AddHostOptions.java +++ /dev/null @@ -1,112 +0,0 @@ -/* - * 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 org.jclouds.cloudstack.options; - -import java.util.Set; - -import org.jclouds.cloudstack.domain.AllocationState; -import org.jclouds.http.options.BaseHttpRequestOptions; - -import com.google.common.base.Joiner; -import com.google.common.collect.ImmutableSet; - -/** - * Options to the GlobalHostApi.addHost() API call - */ -public class AddHostOptions extends BaseHttpRequestOptions { - - public static final AddHostOptions NONE = new AddHostOptions(); - - /** - * @param allocationState Allocation state of this Host for allocation of new resources - */ - public AddHostOptions allocationState(AllocationState allocationState) { - this.queryParameters.replaceValues("allocationstate", ImmutableSet.of(allocationState.toString())); - return this; - } - - /** - * @param clusterId the cluster ID for the host - */ - public AddHostOptions clusterId(String clusterId) { - this.queryParameters.replaceValues("clusterid", ImmutableSet.of(clusterId + "")); - return this; - } - - /** - * @param clusterName the cluster name for the host - */ - public AddHostOptions clusterName(String clusterName) { - this.queryParameters.replaceValues("clustername", ImmutableSet.of(clusterName)); - return this; - } - - /** - * @param hostTags list of tags to be added to the host - */ - public AddHostOptions hostTags(Set<String> hostTags) { - this.queryParameters.replaceValues("hosttags", ImmutableSet.of(Joiner.on(',').join(hostTags))); - return this; - } - - /** - * @param podId the Pod ID for the host - */ - public AddHostOptions podId(String podId) { - this.queryParameters.replaceValues("podid", ImmutableSet.of(podId + "")); - return this; - } - - public static class Builder { - - /** - * @param allocationState Allocation state of this Host for allocation of new resources - */ - public static AddHostOptions allocationState(AllocationState allocationState) { - return new AddHostOptions().allocationState(allocationState); - } - - /** - * @param clusterId the cluster ID for the host - */ - public static AddHostOptions clusterId(String clusterId) { - return new AddHostOptions().clusterId(clusterId); - } - - /** - * @param clusterName the cluster name for the host - */ - public static AddHostOptions clusterName(String clusterName) { - return new AddHostOptions().clusterName(clusterName); - } - - /** - * @param hostTags list of tags to be added to the host - */ - public static AddHostOptions hostTags(Set<String> hostTags) { - return new AddHostOptions().hostTags(hostTags); - } - - /** - * @param podId the Pod ID for the host - */ - public static AddHostOptions podId(String podId) { - return new AddHostOptions().podId(podId); - } - - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/AddSecondaryStorageOptions.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/AddSecondaryStorageOptions.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/AddSecondaryStorageOptions.java deleted file mode 100644 index 4e5b718..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/AddSecondaryStorageOptions.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * 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 org.jclouds.cloudstack.options; - -import org.jclouds.http.options.BaseHttpRequestOptions; - -import com.google.common.collect.ImmutableSet; - -/** - * Options for the GlobalHostApi.addSecondaryStorage() API call - */ -public class AddSecondaryStorageOptions extends BaseHttpRequestOptions { - - public static final AddSecondaryStorageOptions NONE = new AddSecondaryStorageOptions(); - - /** - * @param zoneId - * the ID of the zone - */ - public AddSecondaryStorageOptions zoneId(String zoneId) { - this.queryParameters.replaceValues("zoneid", ImmutableSet.of(zoneId + "")); - return this; - } - - public static class Builder { - - /** - * @param zoneId - * the ID of the zone - */ - public static AddSecondaryStorageOptions zoneId(String zoneId) { - return new AddSecondaryStorageOptions().zoneId(zoneId); - } - - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/AssignVirtualMachineOptions.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/AssignVirtualMachineOptions.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/AssignVirtualMachineOptions.java deleted file mode 100644 index 26c5e64..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/AssignVirtualMachineOptions.java +++ /dev/null @@ -1,156 +0,0 @@ -/* - * 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 org.jclouds.cloudstack.options; - -import com.google.common.base.Function; -import com.google.common.base.Joiner; -import com.google.common.base.Splitter; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Iterables; - -/** - * Options used to control what disk offerings are returned - * - * @see <a href= - * "http://download.cloud.com/releases/3.0.3/api_3.0.3/root_admin/assignVirtualMachine.html" - * /> - */ -public class AssignVirtualMachineOptions extends AccountInDomainOptions { - - public static final AssignVirtualMachineOptions NONE = new AssignVirtualMachineOptions(); - - /** - * @param networkId - * network id used by virtual machine - */ - public AssignVirtualMachineOptions networkId(String networkId) { - this.queryParameters.replaceValues("networkids", ImmutableSet.of(networkId + "")); - return this; - } - - /** - * @param networkIds - * network ids used by virtual machine - */ - public AssignVirtualMachineOptions networkIds(Iterable<String> networkIds) { - this.queryParameters.replaceValues("networkids", ImmutableSet.of(Joiner.on(',').join(networkIds))); - return this; - } - - public Iterable<String> getNetworkIds() { - if (queryParameters.get("networkids").size() == 1) { - return Iterables.transform( - Splitter.on(",").split(Iterables.getOnlyElement(queryParameters.get("networkids"))), - new Function<String, String>() { - - @Override - public String apply(String arg0) { - return arg0; - } - - }); - } else { - return ImmutableSet.<String> of(); - } - } - - /** - * @param securityGroupId - * security group applied to the virtual machine. Should be passed - * only when vm is created from a zone with Basic Network support - */ - public AssignVirtualMachineOptions securityGroupId(String securityGroupId) { - this.queryParameters.replaceValues("securitygroupids", ImmutableSet.of(securityGroupId + "")); - return this; - } - - /** - * @param securityGroupIds - * security groups applied to the virtual machine. Should be passed - * only when vm is created from a zone with Basic Network support - */ - public AssignVirtualMachineOptions securityGroupIds(Iterable<String> securityGroupIds) { - this.queryParameters.replaceValues("securitygroupids", ImmutableSet.of(Joiner.on(',').join(securityGroupIds))); - return this; - } - - public static class Builder { - /** - * @see AssignVirtualMachineOptions#networkId - */ - public static AssignVirtualMachineOptions networkId(String id) { - AssignVirtualMachineOptions options = new AssignVirtualMachineOptions(); - return options.networkId(id); - } - - /** - * @see AssignVirtualMachineOptions#networkIds - */ - public static AssignVirtualMachineOptions networkIds(Iterable<String> networkIds) { - AssignVirtualMachineOptions options = new AssignVirtualMachineOptions(); - return options.networkIds(networkIds); - } - - /** - * @see AssignVirtualMachineOptions#securityGroupId - */ - public static AssignVirtualMachineOptions securityGroupId(String id) { - AssignVirtualMachineOptions options = new AssignVirtualMachineOptions(); - return options.securityGroupId(id); - } - - /** - * @see AssignVirtualMachineOptions#securityGroupIds - */ - public static AssignVirtualMachineOptions securityGroupIds(Iterable<String> securityGroupIds) { - AssignVirtualMachineOptions options = new AssignVirtualMachineOptions(); - return options.securityGroupIds(securityGroupIds); - } - - /** - * @see AssignVirtualMachineOptions#accountInDomain - */ - public static AssignVirtualMachineOptions accountInDomain(String account, String domain) { - AssignVirtualMachineOptions options = new AssignVirtualMachineOptions(); - return options.accountInDomain(account, domain); - } - - /** - * @see AssignVirtualMachineOptions#domainId - */ - public static AssignVirtualMachineOptions domainId(String domainId) { - AssignVirtualMachineOptions options = new AssignVirtualMachineOptions(); - return options.domainId(domainId); - } - } - - /** - * {@inheritDoc} - */ - @Override - public AssignVirtualMachineOptions accountInDomain(String account, String domain) { - return AssignVirtualMachineOptions.class.cast(super.accountInDomain(account, domain)); - } - - /** - * {@inheritDoc} - */ - @Override - public AssignVirtualMachineOptions domainId(String domainId) { - return AssignVirtualMachineOptions.class.cast(super.domainId(domainId)); - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/AssociateIPAddressOptions.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/AssociateIPAddressOptions.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/AssociateIPAddressOptions.java deleted file mode 100644 index a4d507c..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/AssociateIPAddressOptions.java +++ /dev/null @@ -1,101 +0,0 @@ -/* - * 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 org.jclouds.cloudstack.options; - -import com.google.common.collect.ImmutableSet; - -/** - * Options used to acquire and associate a public IP to an account. - * - * @see <a href= - * "http://download.cloud.com/releases/2.2.0/api/user/associateIpAddress.html" - * /> - */ -public class AssociateIPAddressOptions extends AccountInDomainOptions { - - public static final AssociateIPAddressOptions NONE = new AssociateIPAddressOptions(); - - /** - * @param networkId - * The network this ip address should be associated to. - */ - public AssociateIPAddressOptions networkId(String networkId) { - this.queryParameters.replaceValues("networkid", ImmutableSet.of(networkId + "")); - return this; - - } - - /** - * @param projectId - * Project for the IP - */ - public AssociateIPAddressOptions projectId(String projectId) { - this.queryParameters.replaceValues("projectid", ImmutableSet.of(projectId + "")); - return this; - } - - public static class Builder { - - /** - * @see AssociateIPAddressOptions#networkId - */ - public static AssociateIPAddressOptions networkId(String networkId) { - AssociateIPAddressOptions options = new AssociateIPAddressOptions(); - return options.networkId(networkId); - } - - /** - * @see AssociateIPAddressOptions#accountInDomain - */ - public static AssociateIPAddressOptions accountInDomain(String account, String domain) { - AssociateIPAddressOptions options = new AssociateIPAddressOptions(); - return options.accountInDomain(account, domain); - } - - /** - * @see AssociateIPAddressOptions#domainId - */ - public static AssociateIPAddressOptions domainId(String domainId) { - AssociateIPAddressOptions options = new AssociateIPAddressOptions(); - return options.domainId(domainId); - } - - /** - * @see AssociateIPAddressOptions#projectId(String) - */ - public static AssociateIPAddressOptions projectId(String projectId) { - AssociateIPAddressOptions options = new AssociateIPAddressOptions(); - return options.projectId(projectId); - } - } - - /** - * {@inheritDoc} - */ - @Override - public AssociateIPAddressOptions accountInDomain(String account, String domain) { - return AssociateIPAddressOptions.class.cast(super.accountInDomain(account, domain)); - } - - /** - * {@inheritDoc} - */ - @Override - public AssociateIPAddressOptions domainId(String domainId) { - return AssociateIPAddressOptions.class.cast(super.domainId(domainId)); - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreateAccountOptions.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreateAccountOptions.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreateAccountOptions.java deleted file mode 100644 index b82e9ff..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreateAccountOptions.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * 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 org.jclouds.cloudstack.options; - -import org.jclouds.http.options.BaseHttpRequestOptions; - -import com.google.common.collect.ImmutableSet; - -/** - * Optional fields for account creation - * - * @see <a - * href="http://download.cloud.com/releases/2.2.0/api_2.2.12/global_admin/createAccount.html" - * /> - */ -public class CreateAccountOptions extends BaseHttpRequestOptions { - - public static final CreateAccountOptions NONE = new CreateAccountOptions(); - - /** - * @param networkDomain network domain - */ - public CreateAccountOptions networkDomain(String networkDomain) { - this.queryParameters.replaceValues("networkdomain", ImmutableSet.of(networkDomain)); - return this; - } - - /** - * @param account an optional account for the resource - */ - public CreateAccountOptions account(String account) { - this.queryParameters.replaceValues("account", ImmutableSet.of(account)); - return this; - } - - /** - * @param domainId The domain for the resource - */ - public CreateAccountOptions domainId(String domainId) { - this.queryParameters.replaceValues("domainid", ImmutableSet.of(domainId + "")); - return this; - - } - - public static class Builder { - - /** - * @see CreateAccountOptions#networkDomain - */ - public static CreateAccountOptions networkDomain(String networkDomain) { - CreateAccountOptions options = new CreateAccountOptions(); - return options.networkDomain(networkDomain); - } - - /** - * @see CreateAccountOptions#account - */ - public static CreateAccountOptions account(String account) { - CreateAccountOptions options = new CreateAccountOptions(); - return options.account(account); - } - - /** - * @see CreateAccountOptions#domainId - */ - public static CreateAccountOptions domainId(String domainId) { - CreateAccountOptions options = new CreateAccountOptions(); - return options.domainId(domainId); - } - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreateDiskOfferingOptions.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreateDiskOfferingOptions.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreateDiskOfferingOptions.java deleted file mode 100644 index 18c17c9..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreateDiskOfferingOptions.java +++ /dev/null @@ -1,119 +0,0 @@ -/* - * 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 org.jclouds.cloudstack.options; - -import java.util.Set; - -import com.google.common.collect.ImmutableSet; - -/** - * Options to control how disk offerings are created - * - * @see <a - * href="http://download.cloud.com/releases/2.2.0/api_2.2.12/global_admin/createDiskOffering.html" - * /> - */ -public class CreateDiskOfferingOptions extends AccountInDomainOptions { - - public static final CreateDiskOfferingOptions NONE = new CreateDiskOfferingOptions(); - - /** - * @param customized - * whether disk offering is custom or not - */ - public CreateDiskOfferingOptions customized(boolean customized) { - this.queryParameters.replaceValues("customized", ImmutableSet.<String>of(customized + "")); - return this; - } - - /** - * @param diskSizeInGB - * size of the disk offering in GB - */ - public CreateDiskOfferingOptions diskSizeInGB(int diskSizeInGB) { - this.queryParameters.replaceValues("disksize", ImmutableSet.<String>of(diskSizeInGB + "")); - return this; - } - - /** - * @param tags - * the tags for this service offering - */ - public CreateDiskOfferingOptions tags(Set<String> tags) { - this.queryParameters.replaceValues("tags", ImmutableSet.copyOf(tags)); - return this; - } - - public static class Builder { - - /** - * @see CreateDiskOfferingOptions#customized - */ - public static CreateDiskOfferingOptions customized(boolean customized) { - CreateDiskOfferingOptions options = new CreateDiskOfferingOptions(); - return options.customized(customized); - } - - /** - * @see CreateDiskOfferingOptions#diskSizeInGB - */ - public static CreateDiskOfferingOptions diskSizeInGB(int diskSizeInGB) { - CreateDiskOfferingOptions options = new CreateDiskOfferingOptions(); - return options.diskSizeInGB(diskSizeInGB); - } - - /** - * @see CreateDiskOfferingOptions#tags - */ - public static CreateDiskOfferingOptions tags(Set<String> tags) { - CreateDiskOfferingOptions options = new CreateDiskOfferingOptions(); - return options.tags(tags); - } - - /** - * @see CreateDiskOfferingOptions#accountInDomain - */ - public static CreateDiskOfferingOptions accountInDomain(String account, String domain) { - CreateDiskOfferingOptions options = new CreateDiskOfferingOptions(); - return options.accountInDomain(account, domain); - } - - /** - * @see CreateDiskOfferingOptions#domainId - */ - public static CreateDiskOfferingOptions domainId(String domainId) { - CreateDiskOfferingOptions options = new CreateDiskOfferingOptions(); - return options.domainId(domainId); - } - } - - /** - * {@inheritDoc} - */ - @Override - public CreateDiskOfferingOptions accountInDomain(String account, String domain) { - return CreateDiskOfferingOptions.class.cast(super.accountInDomain(account, domain)); - } - - /** - * {@inheritDoc} - */ - @Override - public CreateDiskOfferingOptions domainId(String domainId) { - return CreateDiskOfferingOptions.class.cast(super.domainId(domainId)); - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreateDomainOptions.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreateDomainOptions.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreateDomainOptions.java deleted file mode 100644 index 17c65bb..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreateDomainOptions.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * 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 org.jclouds.cloudstack.options; - -import org.jclouds.http.options.BaseHttpRequestOptions; - -import com.google.common.collect.ImmutableSet; - -/** - * Options used to control how a domain is created - * - * @see <a href= - * "http://download.cloud.com/releases/2.2.0/api_2.2.12/global_admin/createDomain.html" - * /> - */ -public class CreateDomainOptions extends BaseHttpRequestOptions { - - public static final CreateDomainOptions NONE = new CreateDomainOptions(); - - /** - * @param networkDomain - * network domain for networks in the domain - */ - public CreateDomainOptions networkDomain(String networkDomain) { - this.queryParameters.replaceValues("networkdomain", ImmutableSet.of(networkDomain)); - return this; - } - - /** - * @param parentDomainId - * the ID of the parent domain - */ - public CreateDomainOptions parentDomainId(String parentDomainId) { - this.queryParameters.replaceValues("parentdomainid", ImmutableSet.of(parentDomainId + "")); - return this; - } - - public static class Builder { - - /** - * @see CreateDomainOptions#networkDomain - */ - public static CreateDomainOptions networkDomain(String networkDomain) { - CreateDomainOptions options = new CreateDomainOptions(); - return options.networkDomain(networkDomain); - } - - /** - * @see CreateDomainOptions#parentDomainId - */ - public static CreateDomainOptions parentDomainId(String parentDomainId) { - CreateDomainOptions options = new CreateDomainOptions(); - return options.parentDomainId(parentDomainId); - } - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreateFirewallRuleOptions.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreateFirewallRuleOptions.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreateFirewallRuleOptions.java deleted file mode 100644 index 5804be6..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreateFirewallRuleOptions.java +++ /dev/null @@ -1,124 +0,0 @@ -/* - * 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 org.jclouds.cloudstack.options; - -import java.util.Set; - -import org.jclouds.http.options.BaseHttpRequestOptions; - -import com.google.common.base.Joiner; -import com.google.common.collect.ImmutableSet; - -/** - * Options used to control how a firewall rule is created - * - * @see <a href= - * "http://download.cloud.com/releases/2.2.0/api_2.2.12/global_admin/createFirewallRule.html" - * /> - */ -public class CreateFirewallRuleOptions extends BaseHttpRequestOptions { - - public static final CreateFirewallRuleOptions NONE = new CreateFirewallRuleOptions(); - - /** - * @param CIDRs - * the list of CIDRs to forward traffic from - */ - public CreateFirewallRuleOptions CIDRs(Set<String> CIDRs) { - this.queryParameters.replaceValues("cidrlist", ImmutableSet.of(Joiner.on(",").join(CIDRs))); - return this; - } - - /** - * @param startPort - * the starting port of firewall rule - */ - public CreateFirewallRuleOptions startPort(int startPort) { - this.queryParameters.replaceValues("startport", ImmutableSet.of(startPort + "")); - return this; - } - - /** - * @param endPort - * the ending port of firewall rule - */ - public CreateFirewallRuleOptions endPort(int endPort) { - this.queryParameters.replaceValues("endport", ImmutableSet.of(endPort + "")); - return this; - } - - /** - * @param icmpCode - * error code for this icmp message - */ - public CreateFirewallRuleOptions icmpCode(String icmpCode) { - this.queryParameters.replaceValues("icmpcode", ImmutableSet.of(icmpCode)); - return this; - } - - /** - * @param icmpType - * type of the icmp message being sent - */ - public CreateFirewallRuleOptions icmpType(String icmpType) { - this.queryParameters.replaceValues("icmptype", ImmutableSet.of(icmpType)); - return this; - } - - public static class Builder { - - /** - * @see CreateFirewallRuleOptions#CIDRs - */ - public static CreateFirewallRuleOptions CIDRs(Set<String> CIDRs) { - CreateFirewallRuleOptions options = new CreateFirewallRuleOptions(); - return options.CIDRs(CIDRs); - } - - /** - * @see CreateFirewallRuleOptions#startPort - */ - public static CreateFirewallRuleOptions startPort(int startPort) { - CreateFirewallRuleOptions options = new CreateFirewallRuleOptions(); - return options.startPort(startPort); - } - - /** - * @see CreateFirewallRuleOptions#endPort - */ - public static CreateFirewallRuleOptions endPort(int endPort) { - CreateFirewallRuleOptions options = new CreateFirewallRuleOptions(); - return options.endPort(endPort); - } - - /** - * @see CreateFirewallRuleOptions#icmpCode - */ - public static CreateFirewallRuleOptions icmpCode(String icmpCode) { - CreateFirewallRuleOptions options = new CreateFirewallRuleOptions(); - return options.icmpCode(icmpCode); - } - - /** - * @see CreateFirewallRuleOptions#icmpType - */ - public static CreateFirewallRuleOptions icmpType(String icmpType) { - CreateFirewallRuleOptions options = new CreateFirewallRuleOptions(); - return options.icmpType(icmpType); - } - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreateIPForwardingRuleOptions.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreateIPForwardingRuleOptions.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreateIPForwardingRuleOptions.java deleted file mode 100644 index 4229efa..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreateIPForwardingRuleOptions.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * 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 org.jclouds.cloudstack.options; - -import org.jclouds.http.options.BaseHttpRequestOptions; - -import com.google.common.collect.ImmutableSet; - -/** - * Options used to create an ip forwarding rule - * - * @see <a href= - * "http://download.cloud.com/releases/2.2.0/api/user/createIpForwardingRule.html" - * /> - */ -public class CreateIPForwardingRuleOptions extends BaseHttpRequestOptions { - - public static final CreateIPForwardingRuleOptions NONE = new CreateIPForwardingRuleOptions(); - - /** - * @param endPort - * the end port for the rule - */ - public CreateIPForwardingRuleOptions endPort(int endPort) { - this.queryParameters.replaceValues("endport", ImmutableSet.of(endPort + "")); - return this; - - } - - public static class Builder { - - /** - * @see CreatePortForwardingRuleOptions#endPort - */ - public static CreateIPForwardingRuleOptions endPort(int endPort) { - CreateIPForwardingRuleOptions options = new CreateIPForwardingRuleOptions(); - return options.endPort(endPort); - } - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreateLoadBalancerRuleOptions.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreateLoadBalancerRuleOptions.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreateLoadBalancerRuleOptions.java deleted file mode 100644 index 1f826a0..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreateLoadBalancerRuleOptions.java +++ /dev/null @@ -1,135 +0,0 @@ -/* - * 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 org.jclouds.cloudstack.options; - -import java.util.Set; - -import com.google.common.base.Joiner; -import com.google.common.collect.ImmutableSet; - -/** - * Options used to control what load balancer rules are returned - * - * @see <a href= - * "http://download.cloud.com/releases/2.2.0/api_2.2.12/user/createLoadBalancerRule.html" - * /> - */ -public class CreateLoadBalancerRuleOptions extends AccountInDomainOptions { - - public static final CreateLoadBalancerRuleOptions NONE = new CreateLoadBalancerRuleOptions(); - - /** - * @param allowedSourceCIRDs the cidr list to forward traffic from - */ - public CreateLoadBalancerRuleOptions allowedSourceCIDRs(Set<String> allowedSourceCIRDs) { - this.queryParameters.replaceValues("cidrlist", - ImmutableSet.of(Joiner.on(",").join(allowedSourceCIRDs))); - return this; - } - - /** - * @param description the description of the load balancer rule - */ - public CreateLoadBalancerRuleOptions description(String description) { - this.queryParameters.replaceValues("description", ImmutableSet.of(description)); - return this; - } - - /** - * @param openFirewall if true, firewall rule for source/end pubic port is automatically - * created; if false - firewall rule has to be created explicitly. Has value true by default - */ - public CreateLoadBalancerRuleOptions openFirewall(boolean openFirewall) { - this.queryParameters.replaceValues("openfirewall", ImmutableSet.of(openFirewall + "")); - return this; - } - - /** - * @param zoneId the availability zone ID - */ - public CreateLoadBalancerRuleOptions zoneId(String zoneId) { - this.queryParameters.replaceValues("zoneid", ImmutableSet.of(zoneId + "")); - return this; - } - - public static class Builder { - - /** - * @see CreateLoadBalancerRuleOptions#allowedSourceCIDRs - */ - public static CreateLoadBalancerRuleOptions allowedSourceCIDRs(Set<String> allowedSourceCIDRs) { - CreateLoadBalancerRuleOptions options = new CreateLoadBalancerRuleOptions(); - return options.allowedSourceCIDRs(allowedSourceCIDRs); - } - - /** - * @see CreateLoadBalancerRuleOptions#description - */ - public static CreateLoadBalancerRuleOptions description(String description) { - CreateLoadBalancerRuleOptions options = new CreateLoadBalancerRuleOptions(); - return options.description(description); - } - - /** - * @see CreateLoadBalancerRuleOptions#openFirewall - */ - public static CreateLoadBalancerRuleOptions openFirewall(boolean openFirewall) { - CreateLoadBalancerRuleOptions options = new CreateLoadBalancerRuleOptions(); - return options.openFirewall(openFirewall); - } - - /** - * @see CreateLoadBalancerRuleOptions#zoneId - */ - public static CreateLoadBalancerRuleOptions zoneId(String zoneId) { - CreateLoadBalancerRuleOptions options = new CreateLoadBalancerRuleOptions(); - return options.zoneId(zoneId); - } - - /** - * @see CreateLoadBalancerRuleOptions#accountInDomain - */ - public static CreateLoadBalancerRuleOptions accountInDomain(String account, String domain) { - CreateLoadBalancerRuleOptions options = new CreateLoadBalancerRuleOptions(); - return options.accountInDomain(account, domain); - } - - /** - * @see CreateLoadBalancerRuleOptions#domainId - */ - public static CreateLoadBalancerRuleOptions domainId(String id) { - CreateLoadBalancerRuleOptions options = new CreateLoadBalancerRuleOptions(); - return options.domainId(id); - } - } - - /** - * {@inheritDoc} - */ - @Override - public CreateLoadBalancerRuleOptions accountInDomain(String account, String domain) { - return CreateLoadBalancerRuleOptions.class.cast(super.accountInDomain(account, domain)); - } - - /** - * {@inheritDoc} - */ - @Override - public CreateLoadBalancerRuleOptions domainId(String domainId) { - return CreateLoadBalancerRuleOptions.class.cast(super.domainId(domainId)); - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreateNetworkOptions.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreateNetworkOptions.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreateNetworkOptions.java deleted file mode 100644 index 2b75825..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreateNetworkOptions.java +++ /dev/null @@ -1,236 +0,0 @@ -/* - * 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 org.jclouds.cloudstack.options; - -import com.google.common.collect.ImmutableSet; - -/** - * Optional fields for network creation - * - * @see <a - * href="http://download.cloud.com/releases/2.2.0/api_2.2.12/user/createNetwork.html" - * /> - */ -public class CreateNetworkOptions extends AccountInDomainOptions { - - public static final CreateNetworkOptions NONE = new CreateNetworkOptions(); - - /** - * @param isDefault - * true if network is default, false otherwise - */ - public CreateNetworkOptions isDefault(boolean isDefault) { - this.queryParameters.replaceValues("isdefault", ImmutableSet.of(isDefault + "")); - return this; - } - - /** - * @param isShared - * true if network is shared across accounts in the Zone - */ - public CreateNetworkOptions isShared(boolean isShared) { - this.queryParameters.replaceValues("isshared", ImmutableSet.of(isShared + "")); - return this; - } - - /** - * @param startIP - * the beginning IP address in the VLAN IP range - */ - public CreateNetworkOptions startIP(String startIP) { - this.queryParameters.replaceValues("startip", ImmutableSet.of(startIP)); - return this; - } - - /** - * @param endIP - * the ending IP address in the network IP range. If not specified, will be defaulted to startIP - */ - public CreateNetworkOptions endIP(String endIP) { - this.queryParameters.replaceValues("endip", ImmutableSet.of(endIP)); - return this; - } - - /** - * @param gateway - * the gateway of the VLAN IP range - */ - public CreateNetworkOptions gateway(String gateway) { - this.queryParameters.replaceValues("gateway", ImmutableSet.of(gateway)); - return this; - } - - /** - * @param netmask - * the netmask of the VLAN IP range - */ - public CreateNetworkOptions netmask(String netmask) { - this.queryParameters.replaceValues("netmask", ImmutableSet.of(netmask)); - return this; - } - - /** - * @param networkDomain - * network domain - */ - public CreateNetworkOptions networkDomain(String networkDomain) { - this.queryParameters.replaceValues("networkdomain", ImmutableSet.of(networkDomain)); - return this; - } - - /** - * @param vlan - * the ID or VID of the VLAN. Default is an "untagged" VLAN. - */ - public CreateNetworkOptions vlan(String vlan) { - this.queryParameters.replaceValues("vlan", ImmutableSet.of(vlan)); - return this; - } - - /** - * @param projectId - * the project this network will be in. - */ - public CreateNetworkOptions projectId(String projectId) { - this.queryParameters.replaceValues("projectid", ImmutableSet.of(projectId + "")); - return this; - } - - public static class Builder { - /** - * @see CreateNetworkOptions#isDefault - */ - public static CreateNetworkOptions isDefault(boolean isDefault) { - CreateNetworkOptions options = new CreateNetworkOptions(); - return options.isDefault(isDefault); - } - - /** - * @see CreateNetworkOptions#isShared - */ - public static CreateNetworkOptions isShared(boolean isShared) { - CreateNetworkOptions options = new CreateNetworkOptions(); - return options.isShared(isShared); - } - - /** - * @see CreateNetworkOptions#startIP(String) - */ - public static CreateNetworkOptions startIP(String startIP) { - CreateNetworkOptions options = new CreateNetworkOptions(); - return options.startIP(startIP); - } - - /** - * @see CreateNetworkOptions#endIP(String) - */ - public static CreateNetworkOptions endIP(String endIP) { - CreateNetworkOptions options = new CreateNetworkOptions(); - return options.endIP(endIP); - } - - /** - * @see CreateNetworkOptions#gateway(String) - */ - public static CreateNetworkOptions gateway(String gateway) { - CreateNetworkOptions options = new CreateNetworkOptions(); - return options.gateway(gateway); - } - - /** - * @see CreateNetworkOptions#netmask(String) - */ - public static CreateNetworkOptions netmask(String netmask) { - CreateNetworkOptions options = new CreateNetworkOptions(); - return options.netmask(netmask); - } - - /** - * @see CreateNetworkOptions#networkDomain(String) - */ - public static CreateNetworkOptions networkDomain(String networkDomain) { - CreateNetworkOptions options = new CreateNetworkOptions(); - return options.networkDomain(networkDomain); - } - - /** - * @see CreateNetworkOptions#vlan(String) - */ - public static CreateNetworkOptions vlan(String vlan) { - CreateNetworkOptions options = new CreateNetworkOptions(); - return options.vlan(vlan); - } - - /** - * @see CreateNetworkOptions#accountInDomain - */ - public static CreateNetworkOptions accountInDomain(String account, String domain) { - CreateNetworkOptions options = new CreateNetworkOptions(); - return options.accountInDomain(account, domain); - } - - /** - * @see CreateNetworkOptions#domainId - */ - public static CreateNetworkOptions domainId(String domainId) { - CreateNetworkOptions options = new CreateNetworkOptions(); - return options.domainId(domainId); - } - - /** - * @see CreateNetworkOptions#projectId(String) - */ - public static CreateNetworkOptions projectId(String projectId) { - CreateNetworkOptions options = new CreateNetworkOptions(); - return options.projectId(projectId); - } - } - - /** - * Specify the account that will own the network. This can be run by a privileged user to be - * able to set advanced network properties, such as the VLAN tag, and then to immediately pass - * ownership of the network to an unprivileged user. - * - * Note that the unprivileged user will be able to delete the network later, since they are it's owner. - * - * @param account - * account name - * @param domain - * domain ID - */ - @Override - public CreateNetworkOptions accountInDomain(String account, String domain) { - return CreateNetworkOptions.class.cast(super.accountInDomain(account, domain)); - } - - /** - * Specify the domain that will own the network. Any user in the domain can then use this - * network. - * - * CloudStack requires that when using this option, you also specify isShared(true). - * - * Changes or deletions to this network must be done by a domain admin in the same domain, or a - * global admin. - * - * @param domainId - * domain ID - */ - @Override - public CreateNetworkOptions domainId(String domainId) { - return CreateNetworkOptions.class.cast(super.domainId(domainId)); - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/1d88fdf4/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreatePodOptions.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreatePodOptions.java b/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreatePodOptions.java deleted file mode 100644 index 712271d..0000000 --- a/dependencies/jclouds/apis/cloudstack/1.8.0-stratos/src/main/java/org/jclouds/cloudstack/options/CreatePodOptions.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * 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 org.jclouds.cloudstack.options; - -import org.jclouds.cloudstack.domain.AllocationState; -import org.jclouds.http.options.BaseHttpRequestOptions; - -import com.google.common.collect.ImmutableSet; - -/** - * Options to the GlobalPodApi.createPod API call. - */ -public class CreatePodOptions extends BaseHttpRequestOptions { - - public static final CreatePodOptions NONE = new CreatePodOptions(); - - public static class Builder { - - public static CreatePodOptions allocationState(AllocationState allocationState) { - return new CreatePodOptions().allocationState(allocationState); - } - - } - - public CreatePodOptions allocationState(AllocationState allocationState) { - this.queryParameters.replaceValues("allocationstate", ImmutableSet.of(allocationState.toString())); - return this; - } - -}
