mirror of https://github.com/apache/jclouds.git
cleaned up fgcp
This commit is contained in:
parent
49877c8f06
commit
3b3efef104
|
@ -30,48 +30,51 @@ import org.jclouds.providers.internal.BaseProviderMetadata;
|
|||
*/
|
||||
public class FGCPAUProviderMetadata extends FGCPProviderMetadata {
|
||||
|
||||
public static Builder builder() {
|
||||
return new Builder();
|
||||
}
|
||||
/** The serialVersionUID */
|
||||
private static final long serialVersionUID = 1735901960026547803L;
|
||||
|
||||
public FGCPAUProviderMetadata() {
|
||||
super(builder());
|
||||
}
|
||||
public static Builder builder() {
|
||||
return new Builder();
|
||||
}
|
||||
|
||||
public FGCPAUProviderMetadata(Builder builder) {
|
||||
super(builder);
|
||||
}
|
||||
public FGCPAUProviderMetadata() {
|
||||
super(builder());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder toBuilder() {
|
||||
return builder().fromProviderMetadata(this);
|
||||
}
|
||||
public FGCPAUProviderMetadata(Builder builder) {
|
||||
super(builder);
|
||||
}
|
||||
|
||||
public static class Builder extends BaseProviderMetadata.Builder {
|
||||
@Override
|
||||
public Builder toBuilder() {
|
||||
return builder().fromProviderMetadata(this);
|
||||
}
|
||||
|
||||
protected Builder() {
|
||||
id("fgcp-au")
|
||||
.name("Fujitsu Global Cloud Platform (FGCP) - AU")
|
||||
.apiMetadata(new FGCPApiMetadata())
|
||||
.homepage(
|
||||
URI.create("http://www.fujitsu.com/global/solutions/cloud/solutions/global-cloud-platform/index.html"))
|
||||
.console(URI.create("http://globalcloud.fujitsu.com.au"))
|
||||
.defaultProperties(FGCPApiMetadata.defaultProperties())
|
||||
.iso3166Codes("AU-NSW")
|
||||
.endpoint(
|
||||
"https://api.globalcloud.fujitsu.com.au/ovissapi/endpoint")
|
||||
.defaultProperties(FGCPProviderMetadata.defaultProperties());
|
||||
}
|
||||
public static class Builder extends BaseProviderMetadata.Builder {
|
||||
|
||||
@Override
|
||||
public FGCPAUProviderMetadata build() {
|
||||
return new FGCPAUProviderMetadata(this);
|
||||
}
|
||||
protected Builder() {
|
||||
id("fgcp-au")
|
||||
.name("Fujitsu Global Cloud Platform (FGCP) - AU")
|
||||
.apiMetadata(new FGCPApiMetadata())
|
||||
.homepage(
|
||||
URI.create("http://www.fujitsu.com/global/solutions/cloud/solutions/global-cloud-platform/index.html"))
|
||||
.console(URI.create("http://globalcloud.fujitsu.com.au"))
|
||||
.defaultProperties(FGCPApiMetadata.defaultProperties())
|
||||
.iso3166Codes("AU-NSW")
|
||||
.endpoint(
|
||||
"https://api.globalcloud.fujitsu.com.au/ovissapi/endpoint")
|
||||
.defaultProperties(FGCPProviderMetadata.defaultProperties());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder fromProviderMetadata(ProviderMetadata in) {
|
||||
super.fromProviderMetadata(in);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public FGCPAUProviderMetadata build() {
|
||||
return new FGCPAUProviderMetadata(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder fromProviderMetadata(ProviderMetadata in) {
|
||||
super.fromProviderMetadata(in);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -28,7 +28,7 @@ import org.testng.annotations.Test;
|
|||
public class FGCPAUProviderTest extends BaseProviderMetadataTest {
|
||||
|
||||
public FGCPAUProviderTest() {
|
||||
super(new FGCPAUProviderMetadata(), new FGCPApiMetadata());
|
||||
super(new FGCPAUProviderMetadata(), new FGCPApiMetadata());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -30,14 +30,14 @@ import com.google.common.collect.ImmutableSet;
|
|||
*/
|
||||
@Test(groups = "live", enabled = true, singleThreaded = true, testName = "FGCPAUTemplateBuilderLiveTest")
|
||||
public class FGCPAUTemplateBuilderLiveTest extends
|
||||
FGCPBaseTemplateBuilderLiveTest {
|
||||
FGCPBaseTemplateBuilderLiveTest {
|
||||
|
||||
public FGCPAUTemplateBuilderLiveTest() {
|
||||
provider = "fgcp-au";
|
||||
}
|
||||
public FGCPAUTemplateBuilderLiveTest() {
|
||||
provider = "fgcp-au";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Set<String> getIso3166Codes() {
|
||||
return ImmutableSet.<String> of("AU-NSW");
|
||||
}
|
||||
@Override
|
||||
protected Set<String> getIso3166Codes() {
|
||||
return ImmutableSet.<String> of("AU-NSW");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,9 +29,9 @@ import org.testng.annotations.Test;
|
|||
@Test(groups = "live", enabled = true, singleThreaded = true, testName = "FGCPAUComputeServiceLiveTest")
|
||||
public class FGCPAUComputeServiceLiveTest extends FGCPBaseComputeServiceLiveTest {
|
||||
|
||||
@Override
|
||||
public void setServiceDefaults() {
|
||||
provider = "fgcp-au";
|
||||
}
|
||||
@Override
|
||||
public void setServiceDefaults() {
|
||||
provider = "fgcp-au";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -30,50 +30,50 @@ import org.jclouds.providers.internal.BaseProviderMetadata;
|
|||
*/
|
||||
public class FGCPDEProviderMetadata extends FGCPProviderMetadata {
|
||||
|
||||
private static final long serialVersionUID = -8498457904032259345L;
|
||||
private static final long serialVersionUID = -8498457904032259345L;
|
||||
|
||||
public static Builder builder() {
|
||||
return new Builder();
|
||||
}
|
||||
public static Builder builder() {
|
||||
return new Builder();
|
||||
}
|
||||
|
||||
public FGCPDEProviderMetadata() {
|
||||
super(builder());
|
||||
}
|
||||
public FGCPDEProviderMetadata() {
|
||||
super(builder());
|
||||
}
|
||||
|
||||
public FGCPDEProviderMetadata(Builder builder) {
|
||||
super(builder);
|
||||
}
|
||||
public FGCPDEProviderMetadata(Builder builder) {
|
||||
super(builder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder toBuilder() {
|
||||
return builder().fromProviderMetadata(this);
|
||||
}
|
||||
@Override
|
||||
public Builder toBuilder() {
|
||||
return builder().fromProviderMetadata(this);
|
||||
}
|
||||
|
||||
public static class Builder extends BaseProviderMetadata.Builder {
|
||||
public static class Builder extends BaseProviderMetadata.Builder {
|
||||
|
||||
protected Builder() {
|
||||
id("fgcp-de")
|
||||
.name("Fujitsu Global Cloud Platform (FGCP) - DE")
|
||||
.apiMetadata(new FGCPApiMetadata())
|
||||
.homepage(
|
||||
URI.create("http://www.fujitsu.com/global/solutions/cloud/solutions/global-cloud-platform/index.html"))
|
||||
.console(URI.create("http://globalcloud.de.fujitsu.com"))
|
||||
.defaultProperties(FGCPApiMetadata.defaultProperties())
|
||||
.iso3166Codes("DE-BY")
|
||||
.endpoint(
|
||||
"https://api.globalcloud.de.fujitsu.com/ovissapi/endpoint")
|
||||
.defaultProperties(FGCPProviderMetadata.defaultProperties());
|
||||
}
|
||||
protected Builder() {
|
||||
id("fgcp-de")
|
||||
.name("Fujitsu Global Cloud Platform (FGCP) - DE")
|
||||
.apiMetadata(new FGCPApiMetadata())
|
||||
.homepage(
|
||||
URI.create("http://www.fujitsu.com/global/solutions/cloud/solutions/global-cloud-platform/index.html"))
|
||||
.console(URI.create("http://globalcloud.de.fujitsu.com"))
|
||||
.defaultProperties(FGCPApiMetadata.defaultProperties())
|
||||
.iso3166Codes("DE-BY")
|
||||
.endpoint(
|
||||
"https://api.globalcloud.de.fujitsu.com/ovissapi/endpoint")
|
||||
.defaultProperties(FGCPProviderMetadata.defaultProperties());
|
||||
}
|
||||
|
||||
@Override
|
||||
public FGCPDEProviderMetadata build() {
|
||||
return new FGCPDEProviderMetadata(this);
|
||||
}
|
||||
@Override
|
||||
public FGCPDEProviderMetadata build() {
|
||||
return new FGCPDEProviderMetadata(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder fromProviderMetadata(ProviderMetadata in) {
|
||||
super.fromProviderMetadata(in);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public Builder fromProviderMetadata(ProviderMetadata in) {
|
||||
super.fromProviderMetadata(in);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -28,7 +28,7 @@ import org.testng.annotations.Test;
|
|||
public class FGCPDEProviderTest extends BaseProviderMetadataTest {
|
||||
|
||||
public FGCPDEProviderTest() {
|
||||
super(new FGCPDEProviderMetadata(), new FGCPApiMetadata());
|
||||
super(new FGCPDEProviderMetadata(), new FGCPApiMetadata());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -30,14 +30,14 @@ import com.google.common.collect.ImmutableSet;
|
|||
*/
|
||||
@Test(groups = "live", enabled = true, singleThreaded = true, testName = "FGCPDETemplateBuilderLiveTest")
|
||||
public class FGCPDETemplateBuilderLiveTest extends
|
||||
FGCPBaseTemplateBuilderLiveTest {
|
||||
FGCPBaseTemplateBuilderLiveTest {
|
||||
|
||||
public FGCPDETemplateBuilderLiveTest() {
|
||||
provider = "fgcp-de";
|
||||
}
|
||||
public FGCPDETemplateBuilderLiveTest() {
|
||||
provider = "fgcp-de";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Set<String> getIso3166Codes() {
|
||||
return ImmutableSet.<String> of("DE-BY");
|
||||
}
|
||||
@Override
|
||||
protected Set<String> getIso3166Codes() {
|
||||
return ImmutableSet.<String> of("DE-BY");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,9 +29,9 @@ import org.testng.annotations.Test;
|
|||
@Test(groups = "live", enabled = true, singleThreaded = true, testName = "FGCPDEComputeServiceLiveTest")
|
||||
public class FGCPDEComputeServiceLiveTest extends FGCPBaseComputeServiceLiveTest {
|
||||
|
||||
@Override
|
||||
public void setServiceDefaults() {
|
||||
provider = "fgcp-de";
|
||||
}
|
||||
@Override
|
||||
public void setServiceDefaults() {
|
||||
provider = "fgcp-de";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -40,30 +40,30 @@ import org.jclouds.rest.annotations.Delegate;
|
|||
@Timeout(duration = 180, timeUnit = TimeUnit.SECONDS)
|
||||
public interface FGCPApi {
|
||||
|
||||
@Delegate
|
||||
VirtualDCApi getVirtualDCApi();
|
||||
@Delegate
|
||||
VirtualDCApi getVirtualDCApi();
|
||||
|
||||
@Delegate
|
||||
VirtualSystemApi getVirtualSystemApi();
|
||||
@Delegate
|
||||
VirtualSystemApi getVirtualSystemApi();
|
||||
|
||||
@Delegate
|
||||
VirtualServerApi getVirtualServerApi();
|
||||
@Delegate
|
||||
VirtualServerApi getVirtualServerApi();
|
||||
|
||||
@Delegate
|
||||
AdditionalDiskApi getAdditionalDiskApi();
|
||||
@Delegate
|
||||
AdditionalDiskApi getAdditionalDiskApi();
|
||||
|
||||
@Delegate
|
||||
SystemTemplateApi getSystemTemplateApi();
|
||||
@Delegate
|
||||
SystemTemplateApi getSystemTemplateApi();
|
||||
|
||||
@Delegate
|
||||
DiskImageApi getDiskImageApi();
|
||||
@Delegate
|
||||
DiskImageApi getDiskImageApi();
|
||||
|
||||
@Delegate
|
||||
FirewallApi getFirewallApi();
|
||||
@Delegate
|
||||
FirewallApi getFirewallApi();
|
||||
|
||||
@Delegate
|
||||
LoadBalancerApi getLoadBalancerApi();
|
||||
@Delegate
|
||||
LoadBalancerApi getLoadBalancerApi();
|
||||
|
||||
@Delegate
|
||||
PublicIPAddressApi getPublicIPAddressApi();
|
||||
@Delegate
|
||||
PublicIPAddressApi getPublicIPAddressApi();
|
||||
}
|
||||
|
|
|
@ -40,60 +40,63 @@ import com.google.inject.Module;
|
|||
*/
|
||||
public class FGCPApiMetadata extends BaseRestApiMetadata {
|
||||
|
||||
@Override
|
||||
public Builder toBuilder() {
|
||||
return new Builder().fromApiMetadata(this);
|
||||
}
|
||||
/** The serialVersionUID */
|
||||
private static final long serialVersionUID = -8430912756058292588L;
|
||||
|
||||
public FGCPApiMetadata() {
|
||||
this(new Builder());
|
||||
}
|
||||
@Override
|
||||
public Builder toBuilder() {
|
||||
return new Builder().fromApiMetadata(this);
|
||||
}
|
||||
|
||||
protected FGCPApiMetadata(Builder builder) {
|
||||
super(builder);
|
||||
}
|
||||
public FGCPApiMetadata() {
|
||||
this(new Builder());
|
||||
}
|
||||
|
||||
public static Properties defaultProperties() {
|
||||
Properties properties = BaseRestApiMetadata.defaultProperties();
|
||||
// enables peer verification using the CAs bundled with the JRE (or
|
||||
// value of javax.net.ssl.trustStore if set)
|
||||
properties.setProperty(Constants.PROPERTY_TRUST_ALL_CERTS, "false");
|
||||
// properties.setProperty("jclouds.ssh.max-retries", "5");
|
||||
// properties.setProperty("jclouds.ssh.retry-auth", "true");
|
||||
return properties;
|
||||
}
|
||||
protected FGCPApiMetadata(Builder builder) {
|
||||
super(builder);
|
||||
}
|
||||
|
||||
public static class Builder extends BaseRestApiMetadata.Builder {
|
||||
public static Properties defaultProperties() {
|
||||
Properties properties = BaseRestApiMetadata.defaultProperties();
|
||||
// enables peer verification using the CAs bundled with the JRE (or
|
||||
// value of javax.net.ssl.trustStore if set)
|
||||
properties.setProperty(Constants.PROPERTY_TRUST_ALL_CERTS, "false");
|
||||
// properties.setProperty("jclouds.ssh.max-retries", "5");
|
||||
// properties.setProperty("jclouds.ssh.retry-auth", "true");
|
||||
return properties;
|
||||
}
|
||||
|
||||
protected Builder() {
|
||||
super(FGCPApi.class, FGCPAsyncApi.class);
|
||||
id("fgcp")
|
||||
.name("Fujitsu Global Cloud Platform (FGCP)")
|
||||
.identityName("User certificate (PEM file)")
|
||||
.credentialName("User certificate password")
|
||||
.documentation(
|
||||
URI.create("https://globalcloud.fujitsu.com.au/portala/ctrl/aboutSopManual"))
|
||||
.version(FGCPAsyncApi.VERSION)
|
||||
.defaultEndpoint(
|
||||
"https://api.globalcloud.fujitsu.com.au/ovissapi/endpoint")
|
||||
.defaultProperties(FGCPApiMetadata.defaultProperties())
|
||||
.view(TypeToken.of(ComputeServiceContext.class))
|
||||
.defaultModules(
|
||||
ImmutableSet.<Class<? extends Module>> of(
|
||||
FGCPComputeServiceContextModule.class,
|
||||
FGCPRestClientModule.class));
|
||||
}
|
||||
public static class Builder extends BaseRestApiMetadata.Builder {
|
||||
|
||||
@Override
|
||||
public FGCPApiMetadata build() {
|
||||
return new FGCPApiMetadata(this);
|
||||
}
|
||||
protected Builder() {
|
||||
super(FGCPApi.class, FGCPAsyncApi.class);
|
||||
id("fgcp")
|
||||
.name("Fujitsu Global Cloud Platform (FGCP)")
|
||||
.identityName("User certificate (PEM file)")
|
||||
.credentialName("User certificate password")
|
||||
.documentation(
|
||||
URI.create("https://globalcloud.fujitsu.com.au/portala/ctrl/aboutSopManual"))
|
||||
.version(FGCPAsyncApi.VERSION)
|
||||
.defaultEndpoint(
|
||||
"https://api.globalcloud.fujitsu.com.au/ovissapi/endpoint")
|
||||
.defaultProperties(FGCPApiMetadata.defaultProperties())
|
||||
.view(TypeToken.of(ComputeServiceContext.class))
|
||||
.defaultModules(
|
||||
ImmutableSet.<Class<? extends Module>> of(
|
||||
FGCPComputeServiceContextModule.class,
|
||||
FGCPRestClientModule.class));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder fromApiMetadata(ApiMetadata in) {
|
||||
super.fromApiMetadata(in);
|
||||
return this;
|
||||
}
|
||||
@Override
|
||||
public FGCPApiMetadata build() {
|
||||
return new FGCPApiMetadata(this);
|
||||
}
|
||||
|
||||
}
|
||||
@Override
|
||||
public Builder fromApiMetadata(ApiMetadata in) {
|
||||
super.fromApiMetadata(in);
|
||||
return this;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,32 +35,32 @@ import org.jclouds.rest.annotations.Delegate;
|
|||
* @author Dies Koper
|
||||
*/
|
||||
public interface FGCPAsyncApi {
|
||||
public final static String VERSION = "2012-02-18";
|
||||
public final static String VERSION = "2012-02-18";
|
||||
|
||||
@Delegate
|
||||
VirtualDCAsyncApi getVirtualDCApi();
|
||||
@Delegate
|
||||
VirtualDCAsyncApi getVirtualDCApi();
|
||||
|
||||
@Delegate
|
||||
VirtualSystemAsyncApi getVirtualSystemApi();
|
||||
@Delegate
|
||||
VirtualSystemAsyncApi getVirtualSystemApi();
|
||||
|
||||
@Delegate
|
||||
VirtualServerAsyncApi getVirtualServerApi();
|
||||
@Delegate
|
||||
VirtualServerAsyncApi getVirtualServerApi();
|
||||
|
||||
@Delegate
|
||||
AdditionalDiskAsyncApi getAdditionalDiskApi();
|
||||
@Delegate
|
||||
AdditionalDiskAsyncApi getAdditionalDiskApi();
|
||||
|
||||
@Delegate
|
||||
SystemTemplateAsyncApi getSystemTemplateApi();
|
||||
@Delegate
|
||||
SystemTemplateAsyncApi getSystemTemplateApi();
|
||||
|
||||
@Delegate
|
||||
DiskImageAsyncApi getDiskImageApi();
|
||||
@Delegate
|
||||
DiskImageAsyncApi getDiskImageApi();
|
||||
|
||||
@Delegate
|
||||
FirewallAsyncApi getFirewallApi();
|
||||
@Delegate
|
||||
FirewallAsyncApi getFirewallApi();
|
||||
|
||||
@Delegate
|
||||
LoadBalancerAsyncApi getLoadBalancerApi();
|
||||
@Delegate
|
||||
LoadBalancerAsyncApi getLoadBalancerApi();
|
||||
|
||||
@Delegate
|
||||
PublicIPAddressAsyncApi getPublicIPAddressApi();
|
||||
@Delegate
|
||||
PublicIPAddressAsyncApi getPublicIPAddressApi();
|
||||
}
|
||||
|
|
|
@ -32,26 +32,26 @@ import org.jclouds.providers.internal.BaseProviderMetadata;
|
|||
*/
|
||||
public class FGCPProviderMetadata extends BaseProviderMetadata {
|
||||
|
||||
private static final long serialVersionUID = 7527265705102650456L;
|
||||
private static final long serialVersionUID = 7527265705102650456L;
|
||||
|
||||
public static Builder builder() {
|
||||
return new Builder();
|
||||
}
|
||||
public static Builder builder() {
|
||||
return new Builder();
|
||||
}
|
||||
|
||||
public FGCPProviderMetadata() {
|
||||
super(builder());
|
||||
}
|
||||
public FGCPProviderMetadata() {
|
||||
super(builder());
|
||||
}
|
||||
|
||||
public FGCPProviderMetadata(Builder builder) {
|
||||
super(builder);
|
||||
}
|
||||
public FGCPProviderMetadata(Builder builder) {
|
||||
super(builder);
|
||||
}
|
||||
|
||||
public static Properties defaultProperties() {
|
||||
Properties properties = new Properties();
|
||||
public static Properties defaultProperties() {
|
||||
Properties properties = new Properties();
|
||||
|
||||
properties.setProperty(TEMPLATE,
|
||||
"osFamily=CENTOS,osVersionMatches=6.2,os64Bit=true");
|
||||
properties.setProperty(TEMPLATE,
|
||||
"osFamily=CENTOS,osVersionMatches=6.2,os64Bit=true");
|
||||
|
||||
return properties;
|
||||
}
|
||||
return properties;
|
||||
}
|
||||
}
|
|
@ -38,33 +38,33 @@ import org.jclouds.rest.Binder;
|
|||
@Singleton
|
||||
public class BindAlsoToSystemId implements Binder {
|
||||
|
||||
/**
|
||||
*
|
||||
* @param request
|
||||
* request where the query params will be set
|
||||
* @param input
|
||||
* array of String params
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public <R extends HttpRequest> R bindToRequest(R request, Object input) {
|
||||
/**
|
||||
*
|
||||
* @param request
|
||||
* request where the query params will be set
|
||||
* @param input
|
||||
* array of String params
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public <R extends HttpRequest> R bindToRequest(R request, Object input) {
|
||||
|
||||
checkNotNull(input);
|
||||
checkArgument(
|
||||
input instanceof String,
|
||||
"this binder only applies to String arguments: "
|
||||
+ input.getClass());
|
||||
checkNotNull(input);
|
||||
checkArgument(
|
||||
input instanceof String,
|
||||
"this binder only applies to String arguments: "
|
||||
+ input.getClass());
|
||||
|
||||
Pattern pattern = Pattern.compile("^(\\w+-\\w+)\\b.*");
|
||||
Matcher matcher = pattern.matcher((String) input);
|
||||
Pattern pattern = Pattern.compile("^(\\w+-\\w+)\\b.*");
|
||||
Matcher matcher = pattern.matcher((String) input);
|
||||
|
||||
checkArgument(matcher.find(),
|
||||
"no valid resource id found to construct vsys id from: "
|
||||
+ input.toString());
|
||||
checkArgument(matcher.find(),
|
||||
"no valid resource id found to construct vsys id from: "
|
||||
+ input.toString());
|
||||
|
||||
Builder<?> builder = request.toBuilder();
|
||||
builder.replaceQueryParam("vsysId", matcher.group(1));
|
||||
Builder<?> builder = request.toBuilder();
|
||||
builder.replaceQueryParam("vsysId", matcher.group(1));
|
||||
|
||||
return (R) builder.build();
|
||||
}
|
||||
return (R) builder.build();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -92,284 +92,284 @@ import com.google.inject.TypeLiteral;
|
|||
*/
|
||||
@ConfiguresRestClient
|
||||
public class FGCPRestClientModule extends
|
||||
RestClientModule<FGCPApi, FGCPAsyncApi> {
|
||||
RestClientModule<FGCPApi, FGCPAsyncApi> {
|
||||
|
||||
@Resource
|
||||
Logger logger = Logger.NULL;
|
||||
@Resource
|
||||
Logger logger = Logger.NULL;
|
||||
|
||||
public static final Map<Class<?>, Class<?>> DELEGATE_MAP = ImmutableMap
|
||||
.<Class<?>, Class<?>> builder()
|
||||
//
|
||||
.put(VirtualDCApi.class, VirtualDCAsyncApi.class)
|
||||
.put(VirtualSystemApi.class, VirtualSystemAsyncApi.class)
|
||||
.put(VirtualServerApi.class, VirtualServerAsyncApi.class)
|
||||
.put(AdditionalDiskApi.class, AdditionalDiskAsyncApi.class)
|
||||
.put(SystemTemplateApi.class, SystemTemplateAsyncApi.class)
|
||||
.put(DiskImageApi.class, DiskImageAsyncApi.class)
|
||||
.put(BuiltinServerApi.class, BuiltinServerAsyncApi.class)
|
||||
.put(FirewallApi.class, FirewallAsyncApi.class)
|
||||
.put(LoadBalancerApi.class, LoadBalancerAsyncApi.class)
|
||||
.put(PublicIPAddressApi.class, PublicIPAddressAsyncApi.class)
|
||||
.build();
|
||||
public static final Map<Class<?>, Class<?>> DELEGATE_MAP = ImmutableMap
|
||||
.<Class<?>, Class<?>> builder()
|
||||
//
|
||||
.put(VirtualDCApi.class, VirtualDCAsyncApi.class)
|
||||
.put(VirtualSystemApi.class, VirtualSystemAsyncApi.class)
|
||||
.put(VirtualServerApi.class, VirtualServerAsyncApi.class)
|
||||
.put(AdditionalDiskApi.class, AdditionalDiskAsyncApi.class)
|
||||
.put(SystemTemplateApi.class, SystemTemplateAsyncApi.class)
|
||||
.put(DiskImageApi.class, DiskImageAsyncApi.class)
|
||||
.put(BuiltinServerApi.class, BuiltinServerAsyncApi.class)
|
||||
.put(FirewallApi.class, FirewallAsyncApi.class)
|
||||
.put(LoadBalancerApi.class, LoadBalancerAsyncApi.class)
|
||||
.put(PublicIPAddressApi.class, PublicIPAddressAsyncApi.class)
|
||||
.build();
|
||||
|
||||
public FGCPRestClientModule() {
|
||||
super(DELEGATE_MAP);
|
||||
}
|
||||
public FGCPRestClientModule() {
|
||||
super(DELEGATE_MAP);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void bindErrorHandlers() {
|
||||
// bind(HttpErrorHandler.class).annotatedWith(Redirection.class).to(ParseAWSErrorFromXmlContent.class);
|
||||
// bind(HttpErrorHandler.class).annotatedWith(ClientError.class).to(ParseAWSErrorFromXmlContent.class);
|
||||
// bind(HttpErrorHandler.class).annotatedWith(ServerError.class).to(ParseAWSErrorFromXmlContent.class);
|
||||
}
|
||||
@Override
|
||||
protected void bindErrorHandlers() {
|
||||
// bind(HttpErrorHandler.class).annotatedWith(Redirection.class).to(ParseAWSErrorFromXmlContent.class);
|
||||
// bind(HttpErrorHandler.class).annotatedWith(ClientError.class).to(ParseAWSErrorFromXmlContent.class);
|
||||
// bind(HttpErrorHandler.class).annotatedWith(ServerError.class).to(ParseAWSErrorFromXmlContent.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void installLocations() {
|
||||
super.installLocations();
|
||||
bind(ImplicitLocationSupplier.class).to(FirstNetwork.class).in(
|
||||
Scopes.SINGLETON);
|
||||
bind(LocationsSupplier.class).to(
|
||||
SystemAndNetworkSegmentToLocationSupplier.class).in(
|
||||
Scopes.SINGLETON);
|
||||
}
|
||||
@Override
|
||||
protected void installLocations() {
|
||||
super.installLocations();
|
||||
bind(ImplicitLocationSupplier.class).to(FirstNetwork.class).in(
|
||||
Scopes.SINGLETON);
|
||||
bind(LocationsSupplier.class).to(
|
||||
SystemAndNetworkSegmentToLocationSupplier.class).in(
|
||||
Scopes.SINGLETON);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void bindRetryHandlers() {
|
||||
bind(HttpRetryHandler.class).annotatedWith(ClientError.class).to(
|
||||
FGCPRetryIfNotProxyAuthenticationFailureHandler.class);
|
||||
}
|
||||
@Override
|
||||
protected void bindRetryHandlers() {
|
||||
bind(HttpRetryHandler.class).annotatedWith(ClientError.class).to(
|
||||
FGCPRetryIfNotProxyAuthenticationFailureHandler.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void configure() {
|
||||
super.configure();
|
||||
bind(XMLParser.class).to(FGCPJAXBParser.class);
|
||||
bind(new TypeLiteral<Supplier<SSLContext>>() {
|
||||
}).to(new TypeLiteral<SSLContextWithKeysSupplier>() {
|
||||
});
|
||||
}
|
||||
@Override
|
||||
protected void configure() {
|
||||
super.configure();
|
||||
bind(XMLParser.class).to(FGCPJAXBParser.class);
|
||||
bind(new TypeLiteral<Supplier<SSLContext>>() {
|
||||
}).to(new TypeLiteral<SSLContextWithKeysSupplier>() {
|
||||
});
|
||||
}
|
||||
|
||||
@Provides
|
||||
@TimeStamp
|
||||
protected Calendar provideCalendar() {
|
||||
return Calendar.getInstance();
|
||||
}
|
||||
@Provides
|
||||
@TimeStamp
|
||||
protected Calendar provideCalendar() {
|
||||
return Calendar.getInstance();
|
||||
}
|
||||
|
||||
/*
|
||||
*
|
||||
* @Provides
|
||||
*
|
||||
* @Singleton protected KeyStore
|
||||
* provideKeyStore(@Named(Constants.PROPERTY_IDENTITY) String
|
||||
* keyStoreFilename, @Named(Constants.PROPERTY_CREDENTIAL) String
|
||||
* keyStorePassword) throws KeyStoreException { KeyStore keyStore =
|
||||
* KeyStore.getInstance("pkcs12");
|
||||
*
|
||||
* try { FileInputStream is = new
|
||||
* FileInputStream(checkNotNull(keyStoreFilename,
|
||||
* Constants.PROPERTY_IDENTITY)); keyStore.load(is,
|
||||
* checkNotNull(keyStorePassword,
|
||||
* Constants.PROPERTY_CREDENTIAL).toCharArray()); } catch (Exception e) { //
|
||||
* expecting IOException, NoSuchAlgorithmException, CertificateException
|
||||
* logger.error(e, "Keystore could not be opened: %s", keyStoreFilename); }
|
||||
* return keyStore; }
|
||||
*
|
||||
* @Provides
|
||||
*
|
||||
* @Singleton protected PrivateKey provideKey(Provider<KeyStore>
|
||||
* keyStoreProvider, @Named(Constants.PROPERTY_CREDENTIAL) String
|
||||
* keyPassword) throws KeyStoreException, NoSuchAlgorithmException,
|
||||
* UnrecoverableKeyException { KeyStore keyStore = keyStoreProvider.get();
|
||||
* if (keyStore == null) return null;
|
||||
*
|
||||
* // retrieving 1st alias in keystore as expecting only one String alias =
|
||||
* checkNotNull(keyStore.aliases().nextElement(),
|
||||
* "first alias in keystore"); return (PrivateKey) keyStore.getKey(alias,
|
||||
* checkNotNull(keyPassword, Constants.PROPERTY_CREDENTIAL).toCharArray());
|
||||
* }
|
||||
*/
|
||||
/*
|
||||
* maybe we can provide two authentication methods:
|
||||
*
|
||||
* 1. same as DeltaCloud: User passes a folder name as identity and cert
|
||||
* password as credential Note: pass relative path (e.g. cert's path:
|
||||
* c:\jclouds\certs\dkoper\UserCert.p12: user passes 'dkoper': provider
|
||||
* impl. finds it under e.g. $USER_DIR or $CURRENT_DIR or pass absolute path
|
||||
* 2. no file access for GAE: User passes cert in PEM format (converted from
|
||||
* UserCert.p12 using openssl?) as identity and cert password as credential
|
||||
*/
|
||||
@Provides
|
||||
@Singleton
|
||||
protected KeyStore provideKeyStore(Crypto crypto, @Identity String cert,
|
||||
@Credential String keyStorePassword) {
|
||||
KeyStore keyStore = null;
|
||||
try {
|
||||
keyStore = KeyStore.getInstance("PKCS12");
|
||||
/*
|
||||
*
|
||||
* @Provides
|
||||
*
|
||||
* @Singleton protected KeyStore
|
||||
* provideKeyStore(@Named(Constants.PROPERTY_IDENTITY) String
|
||||
* keyStoreFilename, @Named(Constants.PROPERTY_CREDENTIAL) String
|
||||
* keyStorePassword) throws KeyStoreException { KeyStore keyStore =
|
||||
* KeyStore.getInstance("pkcs12");
|
||||
*
|
||||
* try { FileInputStream is = new
|
||||
* FileInputStream(checkNotNull(keyStoreFilename,
|
||||
* Constants.PROPERTY_IDENTITY)); keyStore.load(is,
|
||||
* checkNotNull(keyStorePassword,
|
||||
* Constants.PROPERTY_CREDENTIAL).toCharArray()); } catch (Exception e) { //
|
||||
* expecting IOException, NoSuchAlgorithmException, CertificateException
|
||||
* logger.error(e, "Keystore could not be opened: %s", keyStoreFilename); }
|
||||
* return keyStore; }
|
||||
*
|
||||
* @Provides
|
||||
*
|
||||
* @Singleton protected PrivateKey provideKey(Provider<KeyStore>
|
||||
* keyStoreProvider, @Named(Constants.PROPERTY_CREDENTIAL) String
|
||||
* keyPassword) throws KeyStoreException, NoSuchAlgorithmException,
|
||||
* UnrecoverableKeyException { KeyStore keyStore = keyStoreProvider.get();
|
||||
* if (keyStore == null) return null;
|
||||
*
|
||||
* // retrieving 1st alias in keystore as expecting only one String alias =
|
||||
* checkNotNull(keyStore.aliases().nextElement(),
|
||||
* "first alias in keystore"); return (PrivateKey) keyStore.getKey(alias,
|
||||
* checkNotNull(keyPassword, Constants.PROPERTY_CREDENTIAL).toCharArray());
|
||||
* }
|
||||
*/
|
||||
/*
|
||||
* maybe we can provide two authentication methods:
|
||||
*
|
||||
* 1. same as DeltaCloud: User passes a folder name as identity and cert
|
||||
* password as credential Note: pass relative path (e.g. cert's path:
|
||||
* c:\jclouds\certs\dkoper\UserCert.p12: user passes 'dkoper': provider
|
||||
* impl. finds it under e.g. $USER_DIR or $CURRENT_DIR or pass absolute path
|
||||
* 2. no file access for GAE: User passes cert in PEM format (converted from
|
||||
* UserCert.p12 using openssl?) as identity and cert password as credential
|
||||
*/
|
||||
@Provides
|
||||
@Singleton
|
||||
protected KeyStore provideKeyStore(Crypto crypto, @Identity String cert,
|
||||
@Credential String keyStorePassword) {
|
||||
KeyStore keyStore = null;
|
||||
try {
|
||||
keyStore = KeyStore.getInstance("PKCS12");
|
||||
|
||||
// System.out.println("cert: " + cert);
|
||||
// System.out.println("pwd : " + keyStorePassword);
|
||||
File certFile = new File(checkNotNull(cert));
|
||||
if (certFile.isFile()) { // cert is path to pkcs12 file
|
||||
// System.out.println("cert: " + cert);
|
||||
// System.out.println("pwd : " + keyStorePassword);
|
||||
File certFile = new File(checkNotNull(cert));
|
||||
if (certFile.isFile()) { // cert is path to pkcs12 file
|
||||
|
||||
keyStore.load(new FileInputStream(certFile),
|
||||
keyStorePassword.toCharArray());
|
||||
} else { // cert is PEM encoded, containing private key and certs
|
||||
keyStore.load(new FileInputStream(certFile),
|
||||
keyStorePassword.toCharArray());
|
||||
} else { // cert is PEM encoded, containing private key and certs
|
||||
|
||||
// System.out.println("cert:\n" + cert);
|
||||
// split in private key and certs
|
||||
int privateKeyBeginIdx = cert.indexOf("-----BEGIN PRIVATE KEY");
|
||||
int privateKeyEndIdx = cert.indexOf("-----END PRIVATE KEY");
|
||||
String pemPrivateKey = cert.substring(privateKeyBeginIdx,
|
||||
privateKeyEndIdx + 26);
|
||||
// System.out.println("***************");
|
||||
// System.out.println("pemPrivateKey:\n" + pemPrivateKey);
|
||||
// System.out.println("***************");
|
||||
// System.out.println("cert:\n" + cert);
|
||||
// split in private key and certs
|
||||
int privateKeyBeginIdx = cert.indexOf("-----BEGIN PRIVATE KEY");
|
||||
int privateKeyEndIdx = cert.indexOf("-----END PRIVATE KEY");
|
||||
String pemPrivateKey = cert.substring(privateKeyBeginIdx,
|
||||
privateKeyEndIdx + 26);
|
||||
// System.out.println("***************");
|
||||
// System.out.println("pemPrivateKey:\n" + pemPrivateKey);
|
||||
// System.out.println("***************");
|
||||
|
||||
String pemCerts = "";
|
||||
int certsBeginIdx = 0;
|
||||
String pemCerts = "";
|
||||
int certsBeginIdx = 0;
|
||||
|
||||
do {
|
||||
certsBeginIdx = cert.indexOf("-----BEGIN CERTIFICATE",
|
||||
certsBeginIdx);
|
||||
// System.out.println("begin:" + certsBeginIdx);
|
||||
do {
|
||||
certsBeginIdx = cert.indexOf("-----BEGIN CERTIFICATE",
|
||||
certsBeginIdx);
|
||||
// System.out.println("begin:" + certsBeginIdx);
|
||||
|
||||
if (certsBeginIdx >= 0) {
|
||||
int certsEndIdx = cert.indexOf("-----END CERTIFICATE",
|
||||
certsBeginIdx) + 26;
|
||||
// System.out.println("end :" + certsEndIdx);
|
||||
pemCerts += cert.substring(certsBeginIdx, certsEndIdx);
|
||||
certsBeginIdx = certsEndIdx;
|
||||
}
|
||||
} while (certsBeginIdx != -1);
|
||||
// System.out.println("***************");
|
||||
// System.out.println("pemCerts:\n" + pemCerts);
|
||||
// System.out.println("***************");
|
||||
if (certsBeginIdx >= 0) {
|
||||
int certsEndIdx = cert.indexOf("-----END CERTIFICATE",
|
||||
certsBeginIdx) + 26;
|
||||
// System.out.println("end :" + certsEndIdx);
|
||||
pemCerts += cert.substring(certsBeginIdx, certsEndIdx);
|
||||
certsBeginIdx = certsEndIdx;
|
||||
}
|
||||
} while (certsBeginIdx != -1);
|
||||
// System.out.println("***************");
|
||||
// System.out.println("pemCerts:\n" + pemCerts);
|
||||
// System.out.println("***************");
|
||||
|
||||
/*
|
||||
* String pemCerts = "-----BEGIN "; Splitter pemSplitter =
|
||||
* Splitter.on("-----BEGIN ");
|
||||
*
|
||||
* for (String part : pemSplitter.split(cert)) {
|
||||
* System.out.println("***************");
|
||||
* System.out.println("Part:\n" + part);
|
||||
* System.out.println("***************");
|
||||
*
|
||||
* if (part.startsWith("PRIVATE KEY")
|
||||
*/
|
||||
/* || part.startsWith("RSA PRIVATE KEY)" *//*
|
||||
* ) {
|
||||
*
|
||||
* int certEndIdx =
|
||||
* part.lastIndexOf
|
||||
* ("-----END");
|
||||
* pemPrivateKey +=
|
||||
* part.substring(0,
|
||||
* certEndIdx + 26);
|
||||
* // take up to next
|
||||
* "-----" (i.e.
|
||||
* "-----END") //
|
||||
* Splitter
|
||||
* keySplitter =
|
||||
* Splitter
|
||||
* .on("-----").
|
||||
* omitEmptyStrings
|
||||
* ().trimResults();
|
||||
* //
|
||||
* Iterator<String>
|
||||
* iter =
|
||||
* keySplitter.
|
||||
* split(part
|
||||
* ).iterator(); //
|
||||
* String keyName =
|
||||
* iter.next() +
|
||||
* "-----\n"; //
|
||||
* pemPrivateKey +=
|
||||
* keyName; ////
|
||||
* System.out
|
||||
* .println
|
||||
* ("Skipping: '" +
|
||||
* iter.next() +
|
||||
* "'"); //
|
||||
* pemPrivateKey +=
|
||||
* iter.next(); //
|
||||
* pemPrivateKey +=
|
||||
* "\n-----END " +
|
||||
* keyName;
|
||||
* System.out.println
|
||||
* (
|
||||
* "/////////////////"
|
||||
* );
|
||||
* System.out.println
|
||||
* (
|
||||
* "pemPrivateKey:\n"
|
||||
* + pemPrivateKey);
|
||||
* System
|
||||
* .out.println(
|
||||
* "/////////////////"
|
||||
* ); } else if
|
||||
* (part.startsWith
|
||||
* ("CERTIFICATE")) {
|
||||
*
|
||||
* // take up to next
|
||||
* "-----" (i.e.
|
||||
* "-----END") // or
|
||||
* take up to last
|
||||
* END CERTIFICATE?
|
||||
* int certEndIdx =
|
||||
* part.lastIndexOf (
|
||||
* "----- END CERTIFICATE"
|
||||
* ); // pemCerts +=
|
||||
* part. // Splitter
|
||||
* keySplitter =
|
||||
* Splitter
|
||||
* .on("-----").
|
||||
* omitEmptyStrings
|
||||
* (); // pemCerts +=
|
||||
* keySplitter
|
||||
* .split(part)
|
||||
* .iterator
|
||||
* ().next(); //
|
||||
* pemCerts +=
|
||||
* "-----BEGIN "; }
|
||||
* else { // ignore
|
||||
* the fluff in
|
||||
* between (Bag
|
||||
* Attributes, etc.)
|
||||
* } }
|
||||
*/
|
||||
|
||||
// parse private key
|
||||
KeySpec keySpec = Pems.privateKeySpec(InputSuppliers
|
||||
.of(pemPrivateKey));
|
||||
PrivateKey privateKey = crypto.rsaKeyFactory().generatePrivate(
|
||||
keySpec);
|
||||
|
||||
// populate keystore with private key and certs
|
||||
CertificateFactory cf = CertificateFactory.getInstance("X.509");
|
||||
@SuppressWarnings("unchecked")
|
||||
Collection<Certificate> certs = (Collection<Certificate>) cf
|
||||
.generateCertificates(new ByteArrayInputStream(pemCerts
|
||||
.getBytes("UTF-8")));
|
||||
keyStore.load(null);
|
||||
keyStore.setKeyEntry("dummy", privateKey,
|
||||
keyStorePassword.toCharArray(),
|
||||
certs.toArray(new java.security.cert.Certificate[0]));
|
||||
|
||||
// System.out.println("private key: " + privateKey.getFormat() +
|
||||
// "; "
|
||||
// + privateKey.getAlgorithm() + "; class: " +
|
||||
// privateKey.getClass().getName());// + "; " + new
|
||||
// String(privateKey.getEncoded()));
|
||||
|
||||
}
|
||||
} catch (Exception e) {
|
||||
/*
|
||||
* KeyStoreException, IOException, NoSuchAlgorithmException,
|
||||
* CertificateException, InvalidKeySpecException
|
||||
* String pemCerts = "-----BEGIN "; Splitter pemSplitter =
|
||||
* Splitter.on("-----BEGIN ");
|
||||
*
|
||||
* for (String part : pemSplitter.split(cert)) {
|
||||
* System.out.println("***************");
|
||||
* System.out.println("Part:\n" + part);
|
||||
* System.out.println("***************");
|
||||
*
|
||||
* if (part.startsWith("PRIVATE KEY")
|
||||
*/
|
||||
throw new AuthorizationException("Error loading certificate", e);
|
||||
}
|
||||
/* || part.startsWith("RSA PRIVATE KEY)" *//*
|
||||
* ) {
|
||||
*
|
||||
* int certEndIdx =
|
||||
* part.lastIndexOf
|
||||
* ("-----END");
|
||||
* pemPrivateKey +=
|
||||
* part.substring(0,
|
||||
* certEndIdx + 26);
|
||||
* // take up to next
|
||||
* "-----" (i.e.
|
||||
* "-----END") //
|
||||
* Splitter
|
||||
* keySplitter =
|
||||
* Splitter
|
||||
* .on("-----").
|
||||
* omitEmptyStrings
|
||||
* ().trimResults();
|
||||
* //
|
||||
* Iterator<String>
|
||||
* iter =
|
||||
* keySplitter.
|
||||
* split(part
|
||||
* ).iterator(); //
|
||||
* String keyName =
|
||||
* iter.next() +
|
||||
* "-----\n"; //
|
||||
* pemPrivateKey +=
|
||||
* keyName; ////
|
||||
* System.out
|
||||
* .println
|
||||
* ("Skipping: '" +
|
||||
* iter.next() +
|
||||
* "'"); //
|
||||
* pemPrivateKey +=
|
||||
* iter.next(); //
|
||||
* pemPrivateKey +=
|
||||
* "\n-----END " +
|
||||
* keyName;
|
||||
* System.out.println
|
||||
* (
|
||||
* "/////////////////"
|
||||
* );
|
||||
* System.out.println
|
||||
* (
|
||||
* "pemPrivateKey:\n"
|
||||
* + pemPrivateKey);
|
||||
* System
|
||||
* .out.println(
|
||||
* "/////////////////"
|
||||
* ); } else if
|
||||
* (part.startsWith
|
||||
* ("CERTIFICATE")) {
|
||||
*
|
||||
* // take up to next
|
||||
* "-----" (i.e.
|
||||
* "-----END") // or
|
||||
* take up to last
|
||||
* END CERTIFICATE?
|
||||
* int certEndIdx =
|
||||
* part.lastIndexOf (
|
||||
* "----- END CERTIFICATE"
|
||||
* ); // pemCerts +=
|
||||
* part. // Splitter
|
||||
* keySplitter =
|
||||
* Splitter
|
||||
* .on("-----").
|
||||
* omitEmptyStrings
|
||||
* (); // pemCerts +=
|
||||
* keySplitter
|
||||
* .split(part)
|
||||
* .iterator
|
||||
* ().next(); //
|
||||
* pemCerts +=
|
||||
* "-----BEGIN "; }
|
||||
* else { // ignore
|
||||
* the fluff in
|
||||
* between (Bag
|
||||
* Attributes, etc.)
|
||||
* } }
|
||||
*/
|
||||
|
||||
return keyStore;
|
||||
}
|
||||
// parse private key
|
||||
KeySpec keySpec = Pems.privateKeySpec(InputSuppliers
|
||||
.of(pemPrivateKey));
|
||||
PrivateKey privateKey = crypto.rsaKeyFactory().generatePrivate(
|
||||
keySpec);
|
||||
|
||||
// populate keystore with private key and certs
|
||||
CertificateFactory cf = CertificateFactory.getInstance("X.509");
|
||||
@SuppressWarnings("unchecked")
|
||||
Collection<Certificate> certs = (Collection<Certificate>) cf
|
||||
.generateCertificates(new ByteArrayInputStream(pemCerts
|
||||
.getBytes("UTF-8")));
|
||||
keyStore.load(null);
|
||||
keyStore.setKeyEntry("dummy", privateKey,
|
||||
keyStorePassword.toCharArray(),
|
||||
certs.toArray(new java.security.cert.Certificate[0]));
|
||||
|
||||
// System.out.println("private key: " + privateKey.getFormat() +
|
||||
// "; "
|
||||
// + privateKey.getAlgorithm() + "; class: " +
|
||||
// privateKey.getClass().getName());// + "; " + new
|
||||
// String(privateKey.getEncoded()));
|
||||
|
||||
}
|
||||
} catch (Exception e) {
|
||||
/*
|
||||
* KeyStoreException, IOException, NoSuchAlgorithmException,
|
||||
* CertificateException, InvalidKeySpecException
|
||||
*/
|
||||
throw new AuthorizationException("Error loading certificate", e);
|
||||
}
|
||||
|
||||
return keyStore;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -53,88 +53,88 @@ import com.google.inject.TypeLiteral;
|
|||
* @author Dies Koper
|
||||
*/
|
||||
public class FGCPComputeServiceContextModule
|
||||
extends
|
||||
ComputeServiceAdapterContextModule<VServerMetadata, ServerType, DiskImage, Location> {
|
||||
extends
|
||||
ComputeServiceAdapterContextModule<VServerMetadata, ServerType, DiskImage, Location> {
|
||||
|
||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||
@Override
|
||||
protected void configure() {
|
||||
super.configure();
|
||||
// installDependencies();
|
||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||
@Override
|
||||
protected void configure() {
|
||||
super.configure();
|
||||
// installDependencies();
|
||||
|
||||
bind(
|
||||
new TypeLiteral<ComputeServiceAdapter<VServerMetadata, ServerType, DiskImage, Location>>() {
|
||||
}).to(FGCPComputeServiceAdapter.class);
|
||||
bind(
|
||||
new TypeLiteral<ComputeServiceAdapter<VServerMetadata, ServerType, DiskImage, Location>>() {
|
||||
}).to(FGCPComputeServiceAdapter.class);
|
||||
|
||||
// the following bind functions that map FGCP domain specific resources
|
||||
// to jclouds'
|
||||
bind(new TypeLiteral<Function<VServerMetadata, NodeMetadata>>() {
|
||||
}).to(VServerMetadataToNodeMetadata.class);
|
||||
bind(new TypeLiteral<Function<DiskImage, Image>>() {
|
||||
}).to(DiskImageToImage.class);
|
||||
bind(new TypeLiteral<Function<DiskImage, OperatingSystem>>() {
|
||||
}).to(DiskImageToOperatingSystem.class);
|
||||
bind(new TypeLiteral<Function<ServerType, Hardware>>() {
|
||||
}).to(ServerTypeToHardware.class);
|
||||
bind(new TypeLiteral<Function<Disk, Volume>>() {
|
||||
}).to(DiskToVolume.class);
|
||||
bind(new TypeLiteral<Function<CPU, Processor>>() {
|
||||
}).to(CPUToProcessor.class);
|
||||
// the following bind functions that map FGCP domain specific resources
|
||||
// to jclouds'
|
||||
bind(new TypeLiteral<Function<VServerMetadata, NodeMetadata>>() {
|
||||
}).to(VServerMetadataToNodeMetadata.class);
|
||||
bind(new TypeLiteral<Function<DiskImage, Image>>() {
|
||||
}).to(DiskImageToImage.class);
|
||||
bind(new TypeLiteral<Function<DiskImage, OperatingSystem>>() {
|
||||
}).to(DiskImageToOperatingSystem.class);
|
||||
bind(new TypeLiteral<Function<ServerType, Hardware>>() {
|
||||
}).to(ServerTypeToHardware.class);
|
||||
bind(new TypeLiteral<Function<Disk, Volume>>() {
|
||||
}).to(DiskToVolume.class);
|
||||
bind(new TypeLiteral<Function<CPU, Processor>>() {
|
||||
}).to(CPUToProcessor.class);
|
||||
|
||||
// we aren't converting hardware from a provider-specific type
|
||||
bind(new TypeLiteral<Function<Location, Location>>() {
|
||||
}).to((Class) IdentityFunction.class);
|
||||
bind(new TypeLiteral<Function<Hardware, Hardware>>() {
|
||||
}).to((Class) IdentityFunction.class);
|
||||
// we aren't converting hardware from a provider-specific type
|
||||
bind(new TypeLiteral<Function<Location, Location>>() {
|
||||
}).to((Class) IdentityFunction.class);
|
||||
bind(new TypeLiteral<Function<Hardware, Hardware>>() {
|
||||
}).to((Class) IdentityFunction.class);
|
||||
|
||||
bind(TemplateOptions.class).to(FGCPTemplateOptions.class);
|
||||
bind(TemplateOptions.class).to(FGCPTemplateOptions.class);
|
||||
|
||||
|
||||
// bind(new TypeLiteral<Predicate<String>>() {
|
||||
// }).to((Class) ServerStopped.class);
|
||||
// bind(new TypeLiteral<Predicate<String>>() {
|
||||
// }).to((Class) ServerStopped.class);
|
||||
|
||||
// need to look into the following later for to map (create) jclouds'
|
||||
// location to FGCP.
|
||||
// see LocationScope:
|
||||
// PROVIDER: FGCP
|
||||
// REGION: country?/country+state?
|
||||
// ZONE: virtual DC: contractId
|
||||
// NETWORK: VSYS? DMZ/SECURE1/SECURE2?
|
||||
// RACK: N/A?
|
||||
// HOST: N/A?
|
||||
// there are no locations except the provider
|
||||
// bind(new TypeLiteral<Supplier<Location>>() {
|
||||
// }).to(OnlyLocationOrFirstZone.class);
|
||||
// need to look into the following later for to map (create) jclouds'
|
||||
// location to FGCP.
|
||||
// see LocationScope:
|
||||
// PROVIDER: FGCP
|
||||
// REGION: country?/country+state?
|
||||
// ZONE: virtual DC: contractId
|
||||
// NETWORK: VSYS? DMZ/SECURE1/SECURE2?
|
||||
// RACK: N/A?
|
||||
// HOST: N/A?
|
||||
// there are no locations except the provider
|
||||
// bind(new TypeLiteral<Supplier<Location>>() {
|
||||
// }).to(OnlyLocationOrFirstZone.class);
|
||||
|
||||
// install(new FGCPBindComputeStrategiesByClass());
|
||||
// install(new FGCPBindComputeSuppliersByClass());
|
||||
// bind(ReviseParsedImage.class).to(AWSEC2ReviseParsedImage.class);
|
||||
// bind(CreateKeyPairAndSecurityGroupsAsNeededAndReturnRunOptions.class).to(
|
||||
// CreateKeyPairPlacementAndSecurityGroupsAsNeededAndReturnRunOptions.class);
|
||||
// bind(EC2HardwareSupplier.class).to(AWSEC2HardwareSupplier.class);
|
||||
// bind(EC2TemplateBuilderImpl.class).to(AWSEC2TemplateBuilderImpl.class);
|
||||
// bind(EC2GetNodeMetadataStrategy.class).to(AWSEC2GetNodeMetadataStrategy.class);
|
||||
// bind(InstancePresent.class).to(AWSEC2InstancePresent.class);
|
||||
// bind(EC2CreateNodesInGroupThenAddToSet.class).to(AWSEC2CreateNodesInGroupThenAddToSet.class);
|
||||
// bind(RunningInstanceToNodeMetadata.class).to(AWSRunningInstanceToNodeMetadata.class);
|
||||
}
|
||||
// install(new FGCPBindComputeStrategiesByClass());
|
||||
// install(new FGCPBindComputeSuppliersByClass());
|
||||
// bind(ReviseParsedImage.class).to(AWSEC2ReviseParsedImage.class);
|
||||
// bind(CreateKeyPairAndSecurityGroupsAsNeededAndReturnRunOptions.class).to(
|
||||
// CreateKeyPairPlacementAndSecurityGroupsAsNeededAndReturnRunOptions.class);
|
||||
// bind(EC2HardwareSupplier.class).to(AWSEC2HardwareSupplier.class);
|
||||
// bind(EC2TemplateBuilderImpl.class).to(AWSEC2TemplateBuilderImpl.class);
|
||||
// bind(EC2GetNodeMetadataStrategy.class).to(AWSEC2GetNodeMetadataStrategy.class);
|
||||
// bind(InstancePresent.class).to(AWSEC2InstancePresent.class);
|
||||
// bind(EC2CreateNodesInGroupThenAddToSet.class).to(AWSEC2CreateNodesInGroupThenAddToSet.class);
|
||||
// bind(RunningInstanceToNodeMetadata.class).to(AWSRunningInstanceToNodeMetadata.class);
|
||||
}
|
||||
|
||||
// @Provides
|
||||
// @Singleton
|
||||
// @Named("SECURITY")
|
||||
// protected Predicate<String> provideServerStopped(ServerStopped
|
||||
// serverStopped, Timeouts timeouts) {
|
||||
// return new RetryablePredicate<String>(serverStopped,
|
||||
// timeouts.nodeSuspended);
|
||||
// }
|
||||
// @Provides
|
||||
// @Singleton
|
||||
// @Named("SECURITY")
|
||||
// protected Predicate<String> provideServerStopped(ServerStopped
|
||||
// serverStopped, Timeouts timeouts) {
|
||||
// return new RetryablePredicate<String>(serverStopped,
|
||||
// timeouts.nodeSuspended);
|
||||
// }
|
||||
|
||||
protected void installDependencies() {
|
||||
// install(new FGCPComputeServiceDependenciesModule());
|
||||
}
|
||||
protected void installDependencies() {
|
||||
// install(new FGCPComputeServiceDependenciesModule());
|
||||
}
|
||||
|
||||
/*
|
||||
* @Override protected TemplateBuilder provideTemplate(Injector injector,
|
||||
* TemplateBuilder template) { return
|
||||
* template.osFamily(CENTOS).os64Bit(true); }
|
||||
*/
|
||||
/*
|
||||
* @Override protected TemplateBuilder provideTemplate(Injector injector,
|
||||
* TemplateBuilder template) { return
|
||||
* template.osFamily(CENTOS).os64Bit(true); }
|
||||
*/
|
||||
}
|
||||
|
|
|
@ -20,11 +20,12 @@ package org.jclouds.fujitsu.fgcp.compute.functions;
|
|||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
import com.google.common.base.Function;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import org.jclouds.compute.domain.Processor;
|
||||
import org.jclouds.fujitsu.fgcp.domain.CPU;
|
||||
|
||||
import javax.inject.Singleton;
|
||||
import com.google.common.base.Function;
|
||||
|
||||
/**
|
||||
* Created by IntelliJ IDEA.
|
||||
|
@ -34,11 +35,11 @@ import javax.inject.Singleton;
|
|||
@Singleton
|
||||
public class CPUToProcessor implements Function<CPU, Processor> {
|
||||
|
||||
@Override
|
||||
public Processor apply(CPU cpu) {
|
||||
checkNotNull(cpu, "cpu");
|
||||
@Override
|
||||
public Processor apply(CPU cpu) {
|
||||
checkNotNull(cpu, "cpu");
|
||||
|
||||
return new Processor(Double.valueOf(cpu.getCores()), Double.valueOf(cpu
|
||||
.getSpeedPerCore()));
|
||||
}
|
||||
return new Processor(Double.valueOf(cpu.getCores()), Double.valueOf(cpu
|
||||
.getSpeedPerCore()));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -43,38 +43,38 @@ import com.google.common.collect.Iterables;
|
|||
@Singleton
|
||||
public class DiskImageToImage implements Function<DiskImage, Image> {
|
||||
|
||||
private final DiskImageToOperatingSystem diskImageToOperatingSystem;
|
||||
private final RegionToProviderOrJustProvider regionSupplier;
|
||||
private final DiskImageToOperatingSystem diskImageToOperatingSystem;
|
||||
private final RegionToProviderOrJustProvider regionSupplier;
|
||||
|
||||
@Inject
|
||||
public DiskImageToImage(
|
||||
DiskImageToOperatingSystem diskImageToOperatingSystem,
|
||||
RegionToProviderOrJustProvider locationSupplier) {
|
||||
this.diskImageToOperatingSystem = checkNotNull(
|
||||
diskImageToOperatingSystem, "diskImageToOperatingSystem");
|
||||
this.regionSupplier = checkNotNull(locationSupplier, "locationProvider");
|
||||
}
|
||||
@Inject
|
||||
public DiskImageToImage(
|
||||
DiskImageToOperatingSystem diskImageToOperatingSystem,
|
||||
RegionToProviderOrJustProvider locationSupplier) {
|
||||
this.diskImageToOperatingSystem = checkNotNull(
|
||||
diskImageToOperatingSystem, "diskImageToOperatingSystem");
|
||||
this.regionSupplier = checkNotNull(locationSupplier, "locationProvider");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Image apply(DiskImage from) {
|
||||
checkNotNull(from, "disk image");
|
||||
@Override
|
||||
public Image apply(DiskImage from) {
|
||||
checkNotNull(from, "disk image");
|
||||
|
||||
ImageBuilder builder = new ImageBuilder();
|
||||
ImageBuilder builder = new ImageBuilder();
|
||||
|
||||
builder.ids(from.getId());
|
||||
builder.name(from.getName());
|
||||
builder.description(from.getDescription());
|
||||
builder.location(Iterables.getOnlyElement(regionSupplier.get()));
|
||||
// in fgcp, if the image is listed it is available
|
||||
builder.status(Status.AVAILABLE);
|
||||
builder.ids(from.getId());
|
||||
builder.name(from.getName());
|
||||
builder.description(from.getDescription());
|
||||
builder.location(Iterables.getOnlyElement(regionSupplier.get()));
|
||||
// in fgcp, if the image is listed it is available
|
||||
builder.status(Status.AVAILABLE);
|
||||
|
||||
OperatingSystem os = diskImageToOperatingSystem.apply(from);
|
||||
builder.operatingSystem(os);
|
||||
String user = os.getFamily() == OsFamily.WINDOWS ? "Administrator"
|
||||
: "root";
|
||||
builder.defaultCredentials(LoginCredentials.builder().identity(user)
|
||||
.noPassword().build());
|
||||
OperatingSystem os = diskImageToOperatingSystem.apply(from);
|
||||
builder.operatingSystem(os);
|
||||
String user = os.getFamily() == OsFamily.WINDOWS ? "Administrator"
|
||||
: "root";
|
||||
builder.defaultCredentials(LoginCredentials.builder().identity(user)
|
||||
.noPassword().build());
|
||||
|
||||
return builder.build();
|
||||
}
|
||||
return builder.build();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,36 +38,36 @@ import com.google.common.base.Function;
|
|||
*/
|
||||
@Singleton
|
||||
public class DiskImageToOperatingSystem implements
|
||||
Function<DiskImage, OperatingSystem> {
|
||||
Function<DiskImage, OperatingSystem> {
|
||||
|
||||
private static final Pattern OS_VERSION_PATTERN = Pattern
|
||||
.compile("^.*?(\\d.*)\\s(32|64).*$");
|
||||
private static final Pattern OS_VERSION_PATTERN = Pattern
|
||||
.compile("^.*?(\\d.*)\\s(32|64).*$");
|
||||
|
||||
@Override
|
||||
public OperatingSystem apply(DiskImage image) {
|
||||
checkNotNull(image, "disk image");
|
||||
@Override
|
||||
public OperatingSystem apply(DiskImage image) {
|
||||
checkNotNull(image, "disk image");
|
||||
|
||||
// convert to short name rhel to accommodate ComputeServiceUtils
|
||||
// conventions
|
||||
String shortOsName = image.getOsName().replace(
|
||||
"Red Hat Enterprise Linux", "rhel");
|
||||
OsFamily osFamily = ComputeServiceUtils
|
||||
.parseOsFamilyOrUnrecognized(shortOsName);
|
||||
OperatingSystem.Builder builder = OperatingSystem.builder();
|
||||
// convert to short name rhel to accommodate ComputeServiceUtils
|
||||
// conventions
|
||||
String shortOsName = image.getOsName().replace(
|
||||
"Red Hat Enterprise Linux", "rhel");
|
||||
OsFamily osFamily = ComputeServiceUtils
|
||||
.parseOsFamilyOrUnrecognized(shortOsName);
|
||||
OperatingSystem.Builder builder = OperatingSystem.builder();
|
||||
|
||||
builder.name(image.getOsName());
|
||||
builder.family(osFamily);
|
||||
builder.is64Bit(image.getOsName().contains("64bit")
|
||||
|| image.getOsName().contains("64 bit")
|
||||
|| image.getOsName().contains("x64"));
|
||||
// OsType returns guest type (hvm, pv), which aws-ec2 is mapping to arch
|
||||
builder.arch(image.getOsType());
|
||||
Matcher m = OS_VERSION_PATTERN.matcher(image.getOsName());
|
||||
if (m.matches()) {
|
||||
builder.version(m.group(1));
|
||||
}
|
||||
builder.description(image.getOsName());
|
||||
builder.name(image.getOsName());
|
||||
builder.family(osFamily);
|
||||
builder.is64Bit(image.getOsName().contains("64bit")
|
||||
|| image.getOsName().contains("64 bit")
|
||||
|| image.getOsName().contains("x64"));
|
||||
// OsType returns guest type (hvm, pv), which aws-ec2 is mapping to arch
|
||||
builder.arch(image.getOsType());
|
||||
Matcher m = OS_VERSION_PATTERN.matcher(image.getOsName());
|
||||
if (m.matches()) {
|
||||
builder.version(m.group(1));
|
||||
}
|
||||
builder.description(image.getOsName());
|
||||
|
||||
return builder.build();
|
||||
}
|
||||
return builder.build();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,12 +20,13 @@ package org.jclouds.fujitsu.fgcp.compute.functions;
|
|||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
import com.google.common.base.Function;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import org.jclouds.compute.domain.Volume;
|
||||
import org.jclouds.compute.domain.VolumeBuilder;
|
||||
import org.jclouds.fujitsu.fgcp.domain.Disk;
|
||||
|
||||
import javax.inject.Singleton;
|
||||
import com.google.common.base.Function;
|
||||
|
||||
/**
|
||||
* Created by IntelliJ IDEA.
|
||||
|
@ -35,19 +36,19 @@ import javax.inject.Singleton;
|
|||
@Singleton
|
||||
public class DiskToVolume implements Function<Disk, Volume> {
|
||||
|
||||
@Override
|
||||
public Volume apply(Disk disk) {
|
||||
checkNotNull(disk, "disk");
|
||||
@Override
|
||||
public Volume apply(Disk disk) {
|
||||
checkNotNull(disk, "disk");
|
||||
|
||||
VolumeBuilder builder = new VolumeBuilder();
|
||||
VolumeBuilder builder = new VolumeBuilder();
|
||||
|
||||
builder.size(1000f * Float.valueOf(disk.getSize()));
|
||||
// "Disk"'s are additional disks; they can't be booted disk(?)
|
||||
builder.bootDevice(false);
|
||||
builder.durable(true);
|
||||
builder.type(Volume.Type.SAN);
|
||||
builder.id("type: " + disk.getType() + " usage: " + disk.getUsage());
|
||||
builder.size(1000f * Float.valueOf(disk.getSize()));
|
||||
// "Disk"'s are additional disks; they can't be booted disk(?)
|
||||
builder.bootDevice(false);
|
||||
builder.durable(true);
|
||||
builder.type(Volume.Type.SAN);
|
||||
builder.id("type: " + disk.getType() + " usage: " + disk.getUsage());
|
||||
|
||||
return builder.build();
|
||||
}
|
||||
return builder.build();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -34,18 +34,18 @@ import com.google.common.base.Function;
|
|||
@Singleton
|
||||
public class ResourceIdToFirewallId implements Function<String, String> {
|
||||
|
||||
private ResourceIdToSystemId toSystemId;
|
||||
private ResourceIdToSystemId toSystemId;
|
||||
|
||||
@Inject
|
||||
private ResourceIdToFirewallId(ResourceIdToSystemId resourceIdToSystemId) {
|
||||
this.toSystemId = checkNotNull(resourceIdToSystemId,
|
||||
"resourceIdToSystemId");
|
||||
}
|
||||
@Inject
|
||||
private ResourceIdToFirewallId(ResourceIdToSystemId resourceIdToSystemId) {
|
||||
this.toSystemId = checkNotNull(resourceIdToSystemId,
|
||||
"resourceIdToSystemId");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String apply(String id) {
|
||||
checkNotNull(id, "resource id");
|
||||
@Override
|
||||
public String apply(String id) {
|
||||
checkNotNull(id, "resource id");
|
||||
|
||||
return toSystemId.apply(id) + "-S-0001";
|
||||
}
|
||||
return toSystemId.apply(id) + "-S-0001";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -37,16 +37,16 @@ import com.google.common.base.Function;
|
|||
@Singleton
|
||||
public class ResourceIdToSystemId implements Function<String, String> {
|
||||
|
||||
@Override
|
||||
public String apply(String id) {
|
||||
checkNotNull(id, "resource id");
|
||||
@Override
|
||||
public String apply(String id) {
|
||||
checkNotNull(id, "resource id");
|
||||
|
||||
Pattern pattern = Pattern.compile("^(\\w+-\\w+)\\b.*");
|
||||
Matcher matcher = pattern.matcher((String) id);
|
||||
Pattern pattern = Pattern.compile("^(\\w+-\\w+)\\b.*");
|
||||
Matcher matcher = pattern.matcher((String) id);
|
||||
|
||||
checkArgument(matcher.find(),
|
||||
"no valid resource id found: " + id.toString());
|
||||
checkArgument(matcher.find(),
|
||||
"no valid resource id found: " + id.toString());
|
||||
|
||||
return matcher.group(1);
|
||||
}
|
||||
return matcher.group(1);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,30 +39,30 @@ import com.google.common.collect.Iterables;
|
|||
*/
|
||||
@Singleton
|
||||
public class ServerTypeToHardware implements Function<ServerType, Hardware> {
|
||||
private final CPUToProcessor cpuToProcessor;
|
||||
private final DiskToVolume diskToVolume;
|
||||
private final CPUToProcessor cpuToProcessor;
|
||||
private final DiskToVolume diskToVolume;
|
||||
|
||||
@Inject
|
||||
public ServerTypeToHardware(CPUToProcessor cpuToProcessor,
|
||||
DiskToVolume diskToVolume) {
|
||||
this.cpuToProcessor = checkNotNull(cpuToProcessor);
|
||||
this.diskToVolume = checkNotNull(diskToVolume);
|
||||
}
|
||||
@Inject
|
||||
public ServerTypeToHardware(CPUToProcessor cpuToProcessor,
|
||||
DiskToVolume diskToVolume) {
|
||||
this.cpuToProcessor = checkNotNull(cpuToProcessor);
|
||||
this.diskToVolume = checkNotNull(diskToVolume);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Hardware apply(ServerType from) {
|
||||
checkNotNull(from, "ServerType");
|
||||
HardwareBuilder builder = new HardwareBuilder();
|
||||
@Override
|
||||
public Hardware apply(ServerType from) {
|
||||
checkNotNull(from, "ServerType");
|
||||
HardwareBuilder builder = new HardwareBuilder();
|
||||
|
||||
builder.ids(from.getId());
|
||||
builder.name(from.getName());
|
||||
builder.ram((int) (1000d * Double.valueOf(from.getMemory().getSize())));
|
||||
builder.processor(cpuToProcessor.apply(from.getCpu()));
|
||||
builder.supportsImage(Predicates.<Image> alwaysTrue());
|
||||
// all servers are 64bit. The OS however may be 32 bit.
|
||||
builder.is64Bit(true);
|
||||
builder.volumes(Iterables.transform(from.getDisks(), diskToVolume));
|
||||
builder.ids(from.getId());
|
||||
builder.name(from.getName());
|
||||
builder.ram((int) (1000d * Double.valueOf(from.getMemory().getSize())));
|
||||
builder.processor(cpuToProcessor.apply(from.getCpu()));
|
||||
builder.supportsImage(Predicates.<Image> alwaysTrue());
|
||||
// all servers are 64bit. The OS however may be 32 bit.
|
||||
builder.is64Bit(true);
|
||||
builder.volumes(Iterables.transform(from.getDisks(), diskToVolume));
|
||||
|
||||
return builder.build();
|
||||
}
|
||||
return builder.build();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,10 +25,10 @@ import org.jclouds.fujitsu.fgcp.xml.internal.SingleElementResponse;
|
|||
import com.google.common.base.Function;
|
||||
|
||||
public class SingleElementResponseToElement implements
|
||||
Function<SingleElementResponse, Object> {
|
||||
Function<SingleElementResponse, Object> {
|
||||
|
||||
@Override
|
||||
public Object apply(SingleElementResponse r) {
|
||||
return checkNotNull(r, "response").getElement();
|
||||
}
|
||||
@Override
|
||||
public Object apply(SingleElementResponse r) {
|
||||
return checkNotNull(r, "response").getElement();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -59,187 +59,187 @@ import com.google.common.collect.Iterables;
|
|||
*/
|
||||
@Singleton
|
||||
public class VServerMetadataToNodeMetadata implements
|
||||
Function<VServerMetadata, NodeMetadata> {
|
||||
Function<VServerMetadata, NodeMetadata> {
|
||||
|
||||
public static final Map<VServerStatus, Status> vServerToStatus = ImmutableMap
|
||||
.<VServerStatus, Status> builder()
|
||||
.put(VServerStatus.DEPLOYING, Status.PENDING)
|
||||
.put(VServerStatus.RUNNING, Status.RUNNING)
|
||||
.put(VServerStatus.STOPPING, Status.PENDING)
|
||||
.put(VServerStatus.STOPPED, Status.SUSPENDED)
|
||||
.put(VServerStatus.STARTING, Status.PENDING)
|
||||
.put(VServerStatus.FAILOVER, Status.RUNNING)
|
||||
.put(VServerStatus.UNEXPECTED_STOP, Status.SUSPENDED)
|
||||
.put(VServerStatus.RESTORING, Status.PENDING)
|
||||
.put(VServerStatus.BACKUP_ING, Status.PENDING)
|
||||
.put(VServerStatus.ERROR, Status.ERROR)
|
||||
.put(VServerStatus.START_ERROR, Status.ERROR)
|
||||
.put(VServerStatus.STOP_ERROR, Status.ERROR)
|
||||
.put(VServerStatus.CHANGE_TYPE, Status.PENDING)
|
||||
.put(VServerStatus.REGISTERING, Status.PENDING)
|
||||
.put(VServerStatus.UNRECOGNIZED, Status.UNRECOGNIZED).build();
|
||||
public static final Map<VServerStatus, Status> vServerToStatus = ImmutableMap
|
||||
.<VServerStatus, Status> builder()
|
||||
.put(VServerStatus.DEPLOYING, Status.PENDING)
|
||||
.put(VServerStatus.RUNNING, Status.RUNNING)
|
||||
.put(VServerStatus.STOPPING, Status.PENDING)
|
||||
.put(VServerStatus.STOPPED, Status.SUSPENDED)
|
||||
.put(VServerStatus.STARTING, Status.PENDING)
|
||||
.put(VServerStatus.FAILOVER, Status.RUNNING)
|
||||
.put(VServerStatus.UNEXPECTED_STOP, Status.SUSPENDED)
|
||||
.put(VServerStatus.RESTORING, Status.PENDING)
|
||||
.put(VServerStatus.BACKUP_ING, Status.PENDING)
|
||||
.put(VServerStatus.ERROR, Status.ERROR)
|
||||
.put(VServerStatus.START_ERROR, Status.ERROR)
|
||||
.put(VServerStatus.STOP_ERROR, Status.ERROR)
|
||||
.put(VServerStatus.CHANGE_TYPE, Status.PENDING)
|
||||
.put(VServerStatus.REGISTERING, Status.PENDING)
|
||||
.put(VServerStatus.UNRECOGNIZED, Status.UNRECOGNIZED).build();
|
||||
|
||||
@Resource
|
||||
@Named(ComputeServiceConstants.COMPUTE_LOGGER)
|
||||
protected Logger logger = Logger.NULL;
|
||||
@Resource
|
||||
@Named(ComputeServiceConstants.COMPUTE_LOGGER)
|
||||
protected Logger logger = Logger.NULL;
|
||||
|
||||
protected final Supplier<Set<? extends Location>> locations;
|
||||
protected final Supplier<Set<? extends Image>> images;
|
||||
protected final Supplier<Set<? extends Hardware>> hardwares;
|
||||
protected final GroupNamingConvention nodeNamingConvention;
|
||||
protected final Supplier<Set<? extends Location>> locations;
|
||||
protected final Supplier<Set<? extends Image>> images;
|
||||
protected final Supplier<Set<? extends Hardware>> hardwares;
|
||||
protected final GroupNamingConvention nodeNamingConvention;
|
||||
|
||||
private static class FindImageForVServer implements Predicate<Image> {
|
||||
private final VServer server;
|
||||
private static class FindImageForVServer implements Predicate<Image> {
|
||||
private final VServer server;
|
||||
|
||||
private FindImageForVServer(VServer server) {
|
||||
this.server = server;
|
||||
}
|
||||
private FindImageForVServer(VServer server) {
|
||||
this.server = server;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Image input) {
|
||||
return input.getId().equals(server.getDiskimageId());
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public boolean apply(Image input) {
|
||||
return input.getId().equals(server.getDiskimageId());
|
||||
}
|
||||
}
|
||||
|
||||
protected Image parseImage(VServer from) {
|
||||
try {
|
||||
return Iterables.find(images.get(), new FindImageForVServer(from));
|
||||
} catch (NoSuchElementException e) {
|
||||
logger.warn("could not find a matching image for server %s", from);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
protected Image parseImage(VServer from) {
|
||||
try {
|
||||
return Iterables.find(images.get(), new FindImageForVServer(from));
|
||||
} catch (NoSuchElementException e) {
|
||||
logger.warn("could not find a matching image for server %s", from);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private static class FindHardwareForServerType implements
|
||||
Predicate<Hardware> {
|
||||
private final String type;
|
||||
private static class FindHardwareForServerType implements
|
||||
Predicate<Hardware> {
|
||||
private final String type;
|
||||
|
||||
private FindHardwareForServerType(String type) {
|
||||
this.type = type;
|
||||
}
|
||||
private FindHardwareForServerType(String type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Hardware input) {
|
||||
return input.getName().equals(type);
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public boolean apply(Hardware input) {
|
||||
return input.getName().equals(type);
|
||||
}
|
||||
}
|
||||
|
||||
protected Hardware parseHardware(String from) {
|
||||
try {
|
||||
return Iterables.find(hardwares.get(),
|
||||
new FindHardwareForServerType(from));
|
||||
} catch (NoSuchElementException e) {
|
||||
logger.warn(
|
||||
"could not find a matching hardware for server type %s",
|
||||
from);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
protected Hardware parseHardware(String from) {
|
||||
try {
|
||||
return Iterables.find(hardwares.get(),
|
||||
new FindHardwareForServerType(from));
|
||||
} catch (NoSuchElementException e) {
|
||||
logger.warn(
|
||||
"could not find a matching hardware for server type %s",
|
||||
from);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private static class FindLocationForVServer implements Predicate<Location> {
|
||||
private final VServerWithVNICs server;
|
||||
private static class FindLocationForVServer implements Predicate<Location> {
|
||||
private final VServerWithVNICs server;
|
||||
|
||||
private FindLocationForVServer(VServerWithVNICs server) {
|
||||
this.server = server;
|
||||
}
|
||||
private FindLocationForVServer(VServerWithVNICs server) {
|
||||
this.server = server;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean apply(Location input) {
|
||||
return input.getId().equals(
|
||||
Iterables.getLast(server.getVnics()).getNetworkId());
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public boolean apply(Location input) {
|
||||
return input.getId().equals(
|
||||
Iterables.getLast(server.getVnics()).getNetworkId());
|
||||
}
|
||||
}
|
||||
|
||||
protected Location parseLocation(VServerWithVNICs from) {
|
||||
try {
|
||||
return Iterables.find(locations.get(), new FindLocationForVServer(
|
||||
from));
|
||||
} catch (NoSuchElementException e) {
|
||||
logger.warn("could not find a matching realm for server %s", from);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
protected Location parseLocation(VServerWithVNICs from) {
|
||||
try {
|
||||
return Iterables.find(locations.get(), new FindLocationForVServer(
|
||||
from));
|
||||
} catch (NoSuchElementException e) {
|
||||
logger.warn("could not find a matching realm for server %s", from);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Inject
|
||||
VServerMetadataToNodeMetadata(
|
||||
@Memoized Supplier<Set<? extends Location>> locations,
|
||||
@Memoized Supplier<Set<? extends Image>> images,
|
||||
@Memoized Supplier<Set<? extends Hardware>> hardwares,
|
||||
GroupNamingConvention.Factory namingConvention) {
|
||||
this.images = checkNotNull(images, "images");
|
||||
this.locations = checkNotNull(locations, "locations");
|
||||
this.hardwares = checkNotNull(hardwares, "hardwares");
|
||||
this.nodeNamingConvention = checkNotNull(namingConvention,
|
||||
"namingConvention").createWithoutPrefix();
|
||||
}
|
||||
@Inject
|
||||
VServerMetadataToNodeMetadata(
|
||||
@Memoized Supplier<Set<? extends Location>> locations,
|
||||
@Memoized Supplier<Set<? extends Image>> images,
|
||||
@Memoized Supplier<Set<? extends Hardware>> hardwares,
|
||||
GroupNamingConvention.Factory namingConvention) {
|
||||
this.images = checkNotNull(images, "images");
|
||||
this.locations = checkNotNull(locations, "locations");
|
||||
this.hardwares = checkNotNull(hardwares, "hardwares");
|
||||
this.nodeNamingConvention = checkNotNull(namingConvention,
|
||||
"namingConvention").createWithoutPrefix();
|
||||
}
|
||||
|
||||
@Override
|
||||
public NodeMetadata apply(VServerMetadata from) {
|
||||
NodeMetadataBuilder builder = new NodeMetadataBuilder();
|
||||
@Override
|
||||
public NodeMetadata apply(VServerMetadata from) {
|
||||
NodeMetadataBuilder builder = new NodeMetadataBuilder();
|
||||
|
||||
builder.ids(from.getId());
|
||||
builder.name(from.getName());
|
||||
builder.group(nodeNamingConvention.groupInUniqueNameOrNull(from
|
||||
.getName()));
|
||||
if (from.getStatus() == null)
|
||||
System.out.println("status null for: " + from.getId() + ": "
|
||||
+ from.getName());
|
||||
builder.ids(from.getId());
|
||||
builder.name(from.getName());
|
||||
builder.group(nodeNamingConvention.groupInUniqueNameOrNull(from
|
||||
.getName()));
|
||||
if (from.getStatus() == null)
|
||||
System.out.println("status null for: " + from.getId() + ": "
|
||||
+ from.getName());
|
||||
|
||||
builder.status(vServerToStatus.get(from.getStatus()));
|
||||
builder.privateAddresses(ImmutableSet.<String> of());
|
||||
builder.publicAddresses(ImmutableSet.<String> of());
|
||||
builder.status(vServerToStatus.get(from.getStatus()));
|
||||
builder.privateAddresses(ImmutableSet.<String> of());
|
||||
builder.publicAddresses(ImmutableSet.<String> of());
|
||||
|
||||
//
|
||||
// if (from.getIps() != null) {
|
||||
//
|
||||
// builder.publicAddresses(Collections2.transform(from.getIps(),
|
||||
// new Function<PublicIP, String>() {
|
||||
//
|
||||
// @Override
|
||||
// public String apply(PublicIP input) {
|
||||
// return input.getAddress();
|
||||
// }
|
||||
//
|
||||
// }));
|
||||
// }
|
||||
//
|
||||
// if (from.getIps() != null) {
|
||||
//
|
||||
// builder.publicAddresses(Collections2.transform(from.getIps(),
|
||||
// new Function<PublicIP, String>() {
|
||||
//
|
||||
// @Override
|
||||
// public String apply(PublicIP input) {
|
||||
// return input.getAddress();
|
||||
// }
|
||||
//
|
||||
// }));
|
||||
// }
|
||||
|
||||
if (from.getServer() != null) {
|
||||
if (from.getServer() != null) {
|
||||
|
||||
builder.imageId(from.getServer().getDiskimageId());
|
||||
builder.hardware(parseHardware(from.getServer().getType()));
|
||||
builder.imageId(from.getServer().getDiskimageId());
|
||||
builder.hardware(parseHardware(from.getServer().getType()));
|
||||
|
||||
LoginCredentials.Builder credentialsBuilder = LoginCredentials
|
||||
.builder().password(from.getInitialPassword());
|
||||
LoginCredentials.Builder credentialsBuilder = LoginCredentials
|
||||
.builder().password(from.getInitialPassword());
|
||||
|
||||
Image image = parseImage(from.getServer());
|
||||
// image will not be found if server was created a while back and
|
||||
// the image has since been destroyed or discontinued (like an old
|
||||
// CentOS version)
|
||||
if (image != null) {
|
||||
Image image = parseImage(from.getServer());
|
||||
// image will not be found if server was created a while back and
|
||||
// the image has since been destroyed or discontinued (like an old
|
||||
// CentOS version)
|
||||
if (image != null) {
|
||||
|
||||
builder.operatingSystem(image.getOperatingSystem());
|
||||
String user = image.getDefaultCredentials().getUser();
|
||||
credentialsBuilder.identity(user);
|
||||
builder.operatingSystem(image.getOperatingSystem());
|
||||
String user = image.getDefaultCredentials().getUser();
|
||||
credentialsBuilder.identity(user);
|
||||
}
|
||||
|
||||
builder.credentials(credentialsBuilder.build());
|
||||
|
||||
if (from.getServer() instanceof VServerWithVNICs) {
|
||||
|
||||
VServerWithVNICs server = (VServerWithVNICs) from.getServer();
|
||||
builder.location(parseLocation(server));
|
||||
List<String> ips = new ArrayList<String>();
|
||||
if (server.getVnics() != null && server.getVnics().iterator().next().getPrivateIp() != null) {
|
||||
ips.add(server.getVnics().iterator().next().getPrivateIp());
|
||||
}
|
||||
builder.privateAddresses(ips);
|
||||
}
|
||||
}
|
||||
if (from.getTemplate() != null) {
|
||||
// when creating a new node
|
||||
builder.location(from.getTemplate().getLocation());
|
||||
}
|
||||
|
||||
builder.credentials(credentialsBuilder.build());
|
||||
|
||||
if (from.getServer() instanceof VServerWithVNICs) {
|
||||
|
||||
VServerWithVNICs server = (VServerWithVNICs) from.getServer();
|
||||
builder.location(parseLocation(server));
|
||||
List<String> ips = new ArrayList<String>();
|
||||
if (server.getVnics() != null && server.getVnics().iterator().next().getPrivateIp() != null) {
|
||||
ips.add(server.getVnics().iterator().next().getPrivateIp());
|
||||
}
|
||||
builder.privateAddresses(ips);
|
||||
}
|
||||
}
|
||||
if (from.getTemplate() != null) {
|
||||
// when creating a new node
|
||||
builder.location(from.getTemplate().getLocation());
|
||||
}
|
||||
|
||||
return builder.build();
|
||||
}
|
||||
return builder.build();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -37,27 +37,27 @@ import com.google.common.base.Predicate;
|
|||
@Singleton
|
||||
public class ServerStopped implements Predicate<String> {
|
||||
|
||||
private final FGCPApi api;
|
||||
private final FGCPApi api;
|
||||
|
||||
@Resource
|
||||
protected Logger logger = Logger.NULL;
|
||||
@Resource
|
||||
protected Logger logger = Logger.NULL;
|
||||
|
||||
@Inject
|
||||
public ServerStopped(FGCPApi api) {
|
||||
this.api = api;
|
||||
}
|
||||
@Inject
|
||||
public ServerStopped(FGCPApi api) {
|
||||
this.api = api;
|
||||
}
|
||||
|
||||
public boolean apply(String serverId) {
|
||||
logger.trace("looking for status on server %s", serverId);
|
||||
public boolean apply(String serverId) {
|
||||
logger.trace("looking for status on server %s", serverId);
|
||||
|
||||
VServerStatus status = api.getVirtualServerApi().getStatus(serverId);
|
||||
logger.trace("looking for status on server %s: currently: %s",
|
||||
serverId, status);
|
||||
VServerStatus status = api.getVirtualServerApi().getStatus(serverId);
|
||||
logger.trace("looking for status on server %s: currently: %s",
|
||||
serverId, status);
|
||||
|
||||
if (status == VServerStatus.ERROR || status == VServerStatus.STOP_ERROR)
|
||||
throw new IllegalStateException("server not around or in error: "
|
||||
+ status);
|
||||
return status == VServerStatus.STOPPED;
|
||||
}
|
||||
if (status == VServerStatus.ERROR || status == VServerStatus.STOP_ERROR)
|
||||
throw new IllegalStateException("server not around or in error: "
|
||||
+ status);
|
||||
return status == VServerStatus.STOPPED;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -23,7 +23,6 @@ import javax.inject.Inject;
|
|||
import javax.inject.Singleton;
|
||||
|
||||
import org.jclouds.fujitsu.fgcp.FGCPApi;
|
||||
import org.jclouds.fujitsu.fgcp.domain.VServerStatus;
|
||||
import org.jclouds.fujitsu.fgcp.domain.VSystemStatus;
|
||||
import org.jclouds.logging.Logger;
|
||||
|
||||
|
@ -37,26 +36,26 @@ import com.google.common.base.Predicate;
|
|||
@Singleton
|
||||
public class SystemStatusNormal implements Predicate<String> {
|
||||
|
||||
private final FGCPApi api;
|
||||
private final FGCPApi api;
|
||||
|
||||
@Resource
|
||||
protected Logger logger = Logger.NULL;
|
||||
@Resource
|
||||
protected Logger logger = Logger.NULL;
|
||||
|
||||
@Inject
|
||||
public SystemStatusNormal(FGCPApi api) {
|
||||
this.api = api;
|
||||
}
|
||||
@Inject
|
||||
public SystemStatusNormal(FGCPApi api) {
|
||||
this.api = api;
|
||||
}
|
||||
|
||||
public boolean apply(String systemId) {
|
||||
logger.trace("looking for status on system %s", systemId);
|
||||
public boolean apply(String systemId) {
|
||||
logger.trace("looking for status on system %s", systemId);
|
||||
|
||||
VSystemStatus status = api.getVirtualSystemApi().getStatus(systemId);
|
||||
logger.trace("looking for status on system %s: currently: %s",
|
||||
systemId, status);
|
||||
VSystemStatus status = api.getVirtualSystemApi().getStatus(systemId);
|
||||
logger.trace("looking for status on system %s: currently: %s",
|
||||
systemId, status);
|
||||
|
||||
if (status == VSystemStatus.ERROR)
|
||||
throw new IllegalStateException("system in error: " + status);
|
||||
return status == VSystemStatus.NORMAL;
|
||||
}
|
||||
if (status == VSystemStatus.ERROR)
|
||||
throw new IllegalStateException("system in error: " + status);
|
||||
return status == VSystemStatus.NORMAL;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -44,10 +44,8 @@ import org.jclouds.fujitsu.fgcp.compute.functions.ResourceIdToSystemId;
|
|||
import org.jclouds.fujitsu.fgcp.compute.predicates.ServerStopped;
|
||||
import org.jclouds.fujitsu.fgcp.compute.predicates.SystemStatusNormal;
|
||||
import org.jclouds.fujitsu.fgcp.compute.strategy.VServerMetadata.Builder;
|
||||
import org.jclouds.fujitsu.fgcp.domain.BuiltinServerConfiguration;
|
||||
import org.jclouds.fujitsu.fgcp.domain.DiskImage;
|
||||
import org.jclouds.fujitsu.fgcp.domain.ServerType;
|
||||
import org.jclouds.fujitsu.fgcp.domain.VServer;
|
||||
import org.jclouds.fujitsu.fgcp.domain.VServerStatus;
|
||||
import org.jclouds.fujitsu.fgcp.domain.VServerWithDetails;
|
||||
import org.jclouds.fujitsu.fgcp.domain.VServerWithVNICs;
|
||||
|
@ -59,7 +57,6 @@ import org.jclouds.predicates.RetryablePredicate;
|
|||
import com.google.common.base.Predicate;
|
||||
import com.google.common.base.Throwables;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Iterables;
|
||||
import com.google.common.util.concurrent.Futures;
|
||||
import com.google.common.util.concurrent.ListenableFuture;
|
||||
|
||||
|
@ -72,223 +69,223 @@ import com.google.common.util.concurrent.ListenableFuture;
|
|||
*/
|
||||
@Singleton
|
||||
public class FGCPComputeServiceAdapter implements
|
||||
ComputeServiceAdapter<VServerMetadata, ServerType, DiskImage, Location> {
|
||||
ComputeServiceAdapter<VServerMetadata, ServerType, DiskImage, Location> {
|
||||
|
||||
@Resource
|
||||
@Named(ComputeServiceConstants.COMPUTE_LOGGER)
|
||||
protected Logger logger = Logger.NULL;
|
||||
@Resource
|
||||
@Named(ComputeServiceConstants.COMPUTE_LOGGER)
|
||||
protected Logger logger = Logger.NULL;
|
||||
|
||||
private final FGCPApi api;
|
||||
private final FGCPAsyncApi asyncApi;
|
||||
protected Predicate<String> serverStopped = null;
|
||||
protected Predicate<String> serverCreated = null;
|
||||
protected Predicate<String> systemNormal = null;
|
||||
protected ResourceIdToFirewallId toFirewallId = null;
|
||||
protected ResourceIdToSystemId toSystemId = null;
|
||||
private final FGCPApi api;
|
||||
private final FGCPAsyncApi asyncApi;
|
||||
protected Predicate<String> serverStopped = null;
|
||||
protected Predicate<String> serverCreated = null;
|
||||
protected Predicate<String> systemNormal = null;
|
||||
protected ResourceIdToFirewallId toFirewallId = null;
|
||||
protected ResourceIdToSystemId toSystemId = null;
|
||||
|
||||
@Inject
|
||||
public FGCPComputeServiceAdapter(FGCPApi api, FGCPAsyncApi asyncApi,
|
||||
ServerStopped serverStopped, SystemStatusNormal systemNormal,
|
||||
Timeouts timeouts, ResourceIdToFirewallId toFirewallId,
|
||||
ResourceIdToSystemId toSystemId) {
|
||||
this.api = checkNotNull(api, "api");
|
||||
this.asyncApi = checkNotNull(asyncApi, "asyncApi");
|
||||
this.serverStopped = new RetryablePredicate<String>(
|
||||
checkNotNull(serverStopped), timeouts.nodeSuspended);
|
||||
this.serverCreated = new RetryablePredicate<String>(
|
||||
checkNotNull(serverStopped), timeouts.nodeRunning);
|
||||
this.systemNormal = new RetryablePredicate<String>(
|
||||
checkNotNull(systemNormal), timeouts.nodeTerminated);
|
||||
this.toFirewallId = checkNotNull(toFirewallId, "ResourceIdToFirewallId");
|
||||
this.toSystemId = checkNotNull(toSystemId, "ResourceIdToSystemId");
|
||||
}
|
||||
@Inject
|
||||
public FGCPComputeServiceAdapter(FGCPApi api, FGCPAsyncApi asyncApi,
|
||||
ServerStopped serverStopped, SystemStatusNormal systemNormal,
|
||||
Timeouts timeouts, ResourceIdToFirewallId toFirewallId,
|
||||
ResourceIdToSystemId toSystemId) {
|
||||
this.api = checkNotNull(api, "api");
|
||||
this.asyncApi = checkNotNull(asyncApi, "asyncApi");
|
||||
this.serverStopped = new RetryablePredicate<String>(
|
||||
checkNotNull(serverStopped), timeouts.nodeSuspended);
|
||||
this.serverCreated = new RetryablePredicate<String>(
|
||||
checkNotNull(serverStopped), timeouts.nodeRunning);
|
||||
this.systemNormal = new RetryablePredicate<String>(
|
||||
checkNotNull(systemNormal), timeouts.nodeTerminated);
|
||||
this.toFirewallId = checkNotNull(toFirewallId, "ResourceIdToFirewallId");
|
||||
this.toSystemId = checkNotNull(toSystemId, "ResourceIdToSystemId");
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public NodeAndInitialCredentials<VServerMetadata> createNodeWithGroupEncodedIntoName(
|
||||
String group, String name, Template template) {
|
||||
// Find vsys (how? create new? default to first found?)
|
||||
// Target network DMZ/SECURE1/SECURE2 (how? default to DMZ?)
|
||||
// Determine remaining params: [vserverType,diskImageId,networkId]
|
||||
// what if no vsys exists yet? Location.AU(.contractId) creates 3? tier
|
||||
// skeleton vsys and DMZ is picked?
|
||||
String id = api.getVirtualSystemApi().createServer(name,
|
||||
template.getHardware().getName(), template.getImage().getId(),
|
||||
template.getLocation().getId());
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public NodeAndInitialCredentials<VServerMetadata> createNodeWithGroupEncodedIntoName(
|
||||
String group, String name, Template template) {
|
||||
// Find vsys (how? create new? default to first found?)
|
||||
// Target network DMZ/SECURE1/SECURE2 (how? default to DMZ?)
|
||||
// Determine remaining params: [vserverType,diskImageId,networkId]
|
||||
// what if no vsys exists yet? Location.AU(.contractId) creates 3? tier
|
||||
// skeleton vsys and DMZ is picked?
|
||||
String id = api.getVirtualSystemApi().createServer(name,
|
||||
template.getHardware().getName(), template.getImage().getId(),
|
||||
template.getLocation().getId());
|
||||
|
||||
// wait until fully created (i.e. transitions to stopped status)
|
||||
serverCreated.apply(id);
|
||||
resumeNode(id);
|
||||
VServerMetadata server = getNode(id);
|
||||
// wait until fully created (i.e. transitions to stopped status)
|
||||
serverCreated.apply(id);
|
||||
resumeNode(id);
|
||||
VServerMetadata server = getNode(id);
|
||||
|
||||
//do we need this?
|
||||
server.setTemplate(template);
|
||||
String user = template.getImage().getOperatingSystem().getFamily() == OsFamily.WINDOWS ? "Administrator"
|
||||
: "root";
|
||||
//do we need this?
|
||||
server.setTemplate(template);
|
||||
String user = template.getImage().getOperatingSystem().getFamily() == OsFamily.WINDOWS ? "Administrator"
|
||||
: "root";
|
||||
|
||||
return new NodeAndInitialCredentials<VServerMetadata>(server,
|
||||
id, LoginCredentials.builder().identity(user)
|
||||
.password(server.getInitialPassword()).build());
|
||||
}
|
||||
return new NodeAndInitialCredentials<VServerMetadata>(server,
|
||||
id, LoginCredentials.builder().identity(user)
|
||||
.password(server.getInitialPassword()).build());
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public Iterable<ServerType> listHardwareProfiles() {
|
||||
return api.getVirtualDCApi().listServerTypes();
|
||||
}
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public Iterable<ServerType> listHardwareProfiles() {
|
||||
return api.getVirtualDCApi().listServerTypes();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public Iterable<DiskImage> listImages() {
|
||||
return api.getVirtualDCApi().listDiskImages();
|
||||
}
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public Iterable<DiskImage> listImages() {
|
||||
return api.getVirtualDCApi().listDiskImages();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public DiskImage getImage(String id) {
|
||||
return api.getDiskImageApi().get(id);
|
||||
}
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public DiskImage getImage(String id) {
|
||||
return api.getDiskImageApi().get(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public Iterable<Location> listLocations() {
|
||||
// Not using the adapter to determine locations
|
||||
// see SystemAndNetworkSegmentToLocationSupplier
|
||||
return ImmutableSet.<Location> of();
|
||||
}
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public Iterable<Location> listLocations() {
|
||||
// Not using the adapter to determine locations
|
||||
// see SystemAndNetworkSegmentToLocationSupplier
|
||||
return ImmutableSet.<Location> of();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public VServerMetadata getNode(String id) {
|
||||
Builder builder = VServerMetadata.builder();
|
||||
builder.id(id);
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public VServerMetadata getNode(String id) {
|
||||
Builder builder = VServerMetadata.builder();
|
||||
builder.id(id);
|
||||
|
||||
List<ListenableFuture<?>> futures = new ArrayList<ListenableFuture<?>>();
|
||||
List<ListenableFuture<?>> futures = new ArrayList<ListenableFuture<?>>();
|
||||
|
||||
futures.add(asyncApi.getVirtualServerApi().getDetails(id));
|
||||
futures.add(asyncApi.getVirtualServerApi().getStatus(id));
|
||||
futures.add(asyncApi.getVirtualServerApi().getInitialPassword(id));
|
||||
// mapped public ips?
|
||||
String fwId = toFirewallId.apply(id);
|
||||
// futures.add(asyncApi.getBuiltinServerApi().getConfiguration(fwId,
|
||||
// BuiltinServerConfiguration.SLB_RULE));
|
||||
try {
|
||||
List<Object> results = Futures.successfulAsList(futures).get();
|
||||
VServerWithDetails server = (VServerWithDetails) results.get(0);
|
||||
VServerStatus status = (VServerStatus) results.get(1);
|
||||
System.out.println("getNode(" + id + ")'s getDetails: " + status +" - " + server);
|
||||
if (server == null) {
|
||||
server = api.getVirtualServerApi().getDetails(id);
|
||||
System.out.println("getNode(" + id + ")'s getDetails(2) returns: " + server);
|
||||
futures.add(asyncApi.getVirtualServerApi().getDetails(id));
|
||||
futures.add(asyncApi.getVirtualServerApi().getStatus(id));
|
||||
futures.add(asyncApi.getVirtualServerApi().getInitialPassword(id));
|
||||
// mapped public ips?
|
||||
String fwId = toFirewallId.apply(id);
|
||||
// futures.add(asyncApi.getBuiltinServerApi().getConfiguration(fwId,
|
||||
// BuiltinServerConfiguration.SLB_RULE));
|
||||
try {
|
||||
List<Object> results = Futures.successfulAsList(futures).get();
|
||||
VServerWithDetails server = (VServerWithDetails) results.get(0);
|
||||
VServerStatus status = (VServerStatus) results.get(1);
|
||||
System.out.println("getNode(" + id + ")'s getDetails: " + status +" - " + server);
|
||||
if (server == null) {
|
||||
server = api.getVirtualServerApi().getDetails(id);
|
||||
System.out.println("getNode(" + id + ")'s getDetails(2) returns: " + server);
|
||||
}
|
||||
builder.serverWithDetails(server);
|
||||
builder.status(status == null ? VServerStatus.UNRECOGNIZED : status);
|
||||
// System.out.println("status in adapter#getNode: "
|
||||
// + (VServerStatus) results.get(1)
|
||||
// +" for "
|
||||
// + server.getId());
|
||||
builder.initialPassword((String) results.get(2));
|
||||
// SLB slb = ((BuiltinServer) results.get(4)).;
|
||||
// slb.
|
||||
} catch (InterruptedException e) {
|
||||
throw Throwables.propagate(e);
|
||||
} catch (ExecutionException e) {
|
||||
throw Throwables.propagate(e);
|
||||
}
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public Iterable<VServerMetadata> listNodes() {
|
||||
ImmutableSet.Builder<VServerMetadata> servers = ImmutableSet
|
||||
.<VServerMetadata> builder();
|
||||
|
||||
Set<VSystem> systems = api.getVirtualDCApi().listVirtualSystems();
|
||||
List<ListenableFuture<VSystemWithDetails>> futures = new ArrayList<ListenableFuture<VSystemWithDetails>>();
|
||||
for (VSystem system : systems) {
|
||||
|
||||
futures.add(asyncApi.getVirtualSystemApi().getDetails(
|
||||
system.getId()));
|
||||
}
|
||||
try {
|
||||
for (VSystemWithDetails system : Futures.successfulAsList(futures)
|
||||
.get()) {
|
||||
|
||||
if (system != null) {
|
||||
|
||||
for (VServerWithVNICs server : system.getServers()) {
|
||||
|
||||
// skip FW (S-0001) and SLBs (>0 for SLB)
|
||||
if (!server.getId().endsWith("-S-0001") && server.getVnics().iterator().next().getNicNo() == 0) {
|
||||
|
||||
servers.add(getNode(server.getId()));
|
||||
// Builder builder = VServerMetadata.builder();
|
||||
// builder.server(server);
|
||||
// builder.status(VServerStatus.UNRECOGNIZED);
|
||||
// servers.add(builder.build());
|
||||
}
|
||||
}
|
||||
}
|
||||
builder.serverWithDetails(server);
|
||||
builder.status(status == null ? VServerStatus.UNRECOGNIZED : status);
|
||||
// System.out.println("status in adapter#getNode: "
|
||||
// + (VServerStatus) results.get(1)
|
||||
// +" for "
|
||||
// + server.getId());
|
||||
builder.initialPassword((String) results.get(2));
|
||||
// SLB slb = ((BuiltinServer) results.get(4)).;
|
||||
// slb.
|
||||
} catch (InterruptedException e) {
|
||||
throw Throwables.propagate(e);
|
||||
} catch (ExecutionException e) {
|
||||
throw Throwables.propagate(e);
|
||||
}
|
||||
return builder.build();
|
||||
}
|
||||
}
|
||||
} catch (InterruptedException e) {
|
||||
throw Throwables.propagate(e);
|
||||
} catch (ExecutionException e) {
|
||||
throw Throwables.propagate(e);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public Iterable<VServerMetadata> listNodes() {
|
||||
ImmutableSet.Builder<VServerMetadata> servers = ImmutableSet
|
||||
.<VServerMetadata> builder();
|
||||
return servers.build();
|
||||
}
|
||||
|
||||
Set<VSystem> systems = api.getVirtualDCApi().listVirtualSystems();
|
||||
List<ListenableFuture<VSystemWithDetails>> futures = new ArrayList<ListenableFuture<VSystemWithDetails>>();
|
||||
for (VSystem system : systems) {
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public void destroyNode(String id) {
|
||||
api.getVirtualServerApi().destroy(id);
|
||||
// wait until fully destroyed
|
||||
String systemId = toSystemId.apply(id);
|
||||
systemNormal.apply(systemId);
|
||||
}
|
||||
|
||||
futures.add(asyncApi.getVirtualSystemApi().getDetails(
|
||||
system.getId()));
|
||||
}
|
||||
try {
|
||||
for (VSystemWithDetails system : Futures.successfulAsList(futures)
|
||||
.get()) {
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public void rebootNode(String id) {
|
||||
suspendNode(id);
|
||||
// wait until fully stopped
|
||||
serverStopped.apply(id);
|
||||
resumeNode(id);
|
||||
}
|
||||
|
||||
if (system != null) {
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public void resumeNode(String id) {
|
||||
api.getVirtualServerApi().start(id);
|
||||
}
|
||||
|
||||
for (VServerWithVNICs server : system.getServers()) {
|
||||
|
||||
// skip FW (S-0001) and SLBs (>0 for SLB)
|
||||
if (!server.getId().endsWith("-S-0001") && server.getVnics().iterator().next().getNicNo() == 0) {
|
||||
|
||||
servers.add(getNode(server.getId()));
|
||||
// Builder builder = VServerMetadata.builder();
|
||||
// builder.server(server);
|
||||
// builder.status(VServerStatus.UNRECOGNIZED);
|
||||
// servers.add(builder.build());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (InterruptedException e) {
|
||||
throw Throwables.propagate(e);
|
||||
} catch (ExecutionException e) {
|
||||
throw Throwables.propagate(e);
|
||||
}
|
||||
|
||||
return servers.build();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public void destroyNode(String id) {
|
||||
api.getVirtualServerApi().destroy(id);
|
||||
// wait until fully destroyed
|
||||
String systemId = toSystemId.apply(id);
|
||||
systemNormal.apply(systemId);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public void rebootNode(String id) {
|
||||
suspendNode(id);
|
||||
// wait until fully stopped
|
||||
serverStopped.apply(id);
|
||||
resumeNode(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public void resumeNode(String id) {
|
||||
api.getVirtualServerApi().start(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public void suspendNode(String id) {
|
||||
api.getVirtualServerApi().stop(id);
|
||||
}
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public void suspendNode(String id) {
|
||||
api.getVirtualServerApi().stop(id);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,140 +39,140 @@ import com.google.common.collect.ImmutableSet;
|
|||
*/
|
||||
public class VServerMetadata {
|
||||
|
||||
protected VServer server;
|
||||
protected String id;
|
||||
protected String name;
|
||||
protected Template template;
|
||||
protected String initialPassword;
|
||||
protected VServerStatus status = VServerStatus.UNRECOGNIZED;
|
||||
protected Set<PublicIP> ips;
|
||||
protected DiskImage image;
|
||||
protected VServer server;
|
||||
protected String id;
|
||||
protected String name;
|
||||
protected Template template;
|
||||
protected String initialPassword;
|
||||
protected VServerStatus status = VServerStatus.UNRECOGNIZED;
|
||||
protected Set<PublicIP> ips;
|
||||
protected DiskImage image;
|
||||
|
||||
public VServerMetadata(VServer server, String initialPassword,
|
||||
VServerStatus status, DiskImage image, Set<PublicIP> publicIps) {
|
||||
this.server = checkNotNull(server, "server");
|
||||
this.initialPassword = initialPassword;
|
||||
this.status = status;
|
||||
this.image = image;
|
||||
this.ips = publicIps;
|
||||
id = server.getId();
|
||||
name = server.getName();
|
||||
}
|
||||
public VServerMetadata(VServer server, String initialPassword,
|
||||
VServerStatus status, DiskImage image, Set<PublicIP> publicIps) {
|
||||
this.server = checkNotNull(server, "server");
|
||||
this.initialPassword = initialPassword;
|
||||
this.status = status;
|
||||
this.image = image;
|
||||
this.ips = publicIps;
|
||||
id = server.getId();
|
||||
name = server.getName();
|
||||
}
|
||||
|
||||
public VServerMetadata(String id, String name, Template template,
|
||||
VServerStatus status) {
|
||||
this.id = checkNotNull(id, "id");
|
||||
this.name = checkNotNull(name, "name");
|
||||
this.template = checkNotNull(template, "template");
|
||||
this.status = checkNotNull(status, "status");
|
||||
}
|
||||
public VServerMetadata(String id, String name, Template template,
|
||||
VServerStatus status) {
|
||||
this.id = checkNotNull(id, "id");
|
||||
this.name = checkNotNull(name, "name");
|
||||
this.template = checkNotNull(template, "template");
|
||||
this.status = checkNotNull(status, "status");
|
||||
}
|
||||
|
||||
public VServer getServer() {
|
||||
return server;
|
||||
}
|
||||
public VServer getServer() {
|
||||
return server;
|
||||
}
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public Template getTemplate() {
|
||||
return template;
|
||||
}
|
||||
public Template getTemplate() {
|
||||
return template;
|
||||
}
|
||||
|
||||
public void setTemplate(Template template) {
|
||||
this.template = template;
|
||||
}
|
||||
public void setTemplate(Template template) {
|
||||
this.template = template;
|
||||
}
|
||||
|
||||
public String getInitialPassword() {
|
||||
return initialPassword;
|
||||
}
|
||||
public String getInitialPassword() {
|
||||
return initialPassword;
|
||||
}
|
||||
|
||||
public VServerStatus getStatus() {
|
||||
return status;
|
||||
}
|
||||
public VServerStatus getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public Set<PublicIP> getIps() {
|
||||
return ips;
|
||||
}
|
||||
public Set<PublicIP> getIps() {
|
||||
return ips;
|
||||
}
|
||||
|
||||
public static Builder builder() {
|
||||
return new Builder();
|
||||
}
|
||||
public static Builder builder() {
|
||||
return new Builder();
|
||||
}
|
||||
|
||||
public static class Builder {
|
||||
private VServer server;
|
||||
private VServerWithVNICs serverWithDetails;
|
||||
private String id;
|
||||
private String name;
|
||||
private Template template;
|
||||
private String initialPassword;
|
||||
private VServerStatus status = VServerStatus.UNRECOGNIZED;
|
||||
private Set<PublicIP> publicIps = ImmutableSet.of();
|
||||
private DiskImage image;
|
||||
public static class Builder {
|
||||
private VServer server;
|
||||
private VServerWithVNICs serverWithDetails;
|
||||
private String id;
|
||||
private String name;
|
||||
private Template template;
|
||||
private String initialPassword;
|
||||
private VServerStatus status = VServerStatus.UNRECOGNIZED;
|
||||
private Set<PublicIP> publicIps = ImmutableSet.of();
|
||||
private DiskImage image;
|
||||
|
||||
public Builder id(String id) {
|
||||
this.id = id;
|
||||
return this;
|
||||
}
|
||||
public Builder id(String id) {
|
||||
this.id = id;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder name(String name) {
|
||||
this.name = name;
|
||||
return this;
|
||||
}
|
||||
public Builder name(String name) {
|
||||
this.name = name;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder template(Template template) {
|
||||
this.template = template;
|
||||
return this;
|
||||
}
|
||||
public Builder template(Template template) {
|
||||
this.template = template;
|
||||
return this;
|
||||
}
|
||||
|
||||
// public Builder server(VServer server) {
|
||||
// this.server = server;
|
||||
// return this;
|
||||
// }
|
||||
// public Builder server(VServer server) {
|
||||
// this.server = server;
|
||||
// return this;
|
||||
// }
|
||||
|
||||
public Builder serverWithDetails(VServerWithVNICs serverWithDetails) {
|
||||
this.serverWithDetails = serverWithDetails;
|
||||
return this;
|
||||
}
|
||||
public Builder serverWithDetails(VServerWithVNICs serverWithDetails) {
|
||||
this.serverWithDetails = serverWithDetails;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder initialPassword(String password) {
|
||||
this.initialPassword = password;
|
||||
return this;
|
||||
}
|
||||
public Builder initialPassword(String password) {
|
||||
this.initialPassword = password;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder status(VServerStatus status) {
|
||||
this.status = status;
|
||||
return this;
|
||||
}
|
||||
public Builder status(VServerStatus status) {
|
||||
this.status = status;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder image(DiskImage image) {
|
||||
this.image = image;
|
||||
return this;
|
||||
}
|
||||
public Builder image(DiskImage image) {
|
||||
this.image = image;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder publicIps(Set<PublicIP> publicIps) {
|
||||
this.publicIps = publicIps;
|
||||
return this;
|
||||
}
|
||||
public Builder publicIps(Set<PublicIP> publicIps) {
|
||||
this.publicIps = publicIps;
|
||||
return this;
|
||||
}
|
||||
|
||||
public VServerMetadata build() {
|
||||
if (initialPassword == null) initialPassword = "";
|
||||
if (server != null) {
|
||||
return new VServerMetadata(server, initialPassword, status,
|
||||
image, publicIps);
|
||||
} else if (serverWithDetails != null) {
|
||||
return new VServerMetadata(serverWithDetails, initialPassword,
|
||||
status, image, publicIps);
|
||||
} else {
|
||||
// sometimes these fields are null because the server is returning a verify error
|
||||
if (id == null) id = "dummy-id";
|
||||
if (name == null) name = "dummy-name";
|
||||
return new VServerMetadata(id, name, template, status);
|
||||
}
|
||||
}
|
||||
}
|
||||
public VServerMetadata build() {
|
||||
if (initialPassword == null) initialPassword = "";
|
||||
if (server != null) {
|
||||
return new VServerMetadata(server, initialPassword, status,
|
||||
image, publicIps);
|
||||
} else if (serverWithDetails != null) {
|
||||
return new VServerMetadata(serverWithDetails, initialPassword,
|
||||
status, image, publicIps);
|
||||
} else {
|
||||
// sometimes these fields are null because the server is returning a verify error
|
||||
if (id == null) id = "dummy-id";
|
||||
if (name == null) name = "dummy-name";
|
||||
return new VServerMetadata(id, name, template, status);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,30 +28,30 @@ import javax.xml.bind.annotation.XmlRootElement;
|
|||
*/
|
||||
@XmlRootElement(name = "addressrange")
|
||||
public class AddressRange {
|
||||
private String range;
|
||||
private String range;
|
||||
|
||||
private String from;
|
||||
private String from;
|
||||
|
||||
private String to;
|
||||
private String to;
|
||||
|
||||
/**
|
||||
* @return the range
|
||||
*/
|
||||
public String getRange() {
|
||||
return range;
|
||||
}
|
||||
/**
|
||||
* @return the range
|
||||
*/
|
||||
public String getRange() {
|
||||
return range;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the from
|
||||
*/
|
||||
public String getFrom() {
|
||||
return from;
|
||||
}
|
||||
/**
|
||||
* @return the from
|
||||
*/
|
||||
public String getFrom() {
|
||||
return from;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the to
|
||||
*/
|
||||
public String getTo() {
|
||||
return to;
|
||||
}
|
||||
/**
|
||||
* @return the to
|
||||
*/
|
||||
public String getTo() {
|
||||
return to;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,45 +29,45 @@ import javax.xml.bind.annotation.XmlRootElement;
|
|||
*/
|
||||
@XmlRootElement(name = "efm")
|
||||
public class BuiltinServer {
|
||||
@XmlElement(name = "efmId")
|
||||
private String id;
|
||||
@XmlElement(name = "efmType")
|
||||
private BuiltinServerType builtinServerType;
|
||||
@XmlElement(name = "efmName")
|
||||
private String name;
|
||||
private String creator;
|
||||
private String slbVip;
|
||||
private Firewall firewall;
|
||||
private SLB loadbalancer;
|
||||
@XmlElement(name = "efmId")
|
||||
private String id;
|
||||
@XmlElement(name = "efmType")
|
||||
private BuiltinServerType builtinServerType;
|
||||
@XmlElement(name = "efmName")
|
||||
private String name;
|
||||
private String creator;
|
||||
private String slbVip;
|
||||
private Firewall firewall;
|
||||
private SLB loadbalancer;
|
||||
|
||||
public enum BuiltinServerType {FW, SLB}
|
||||
public enum BuiltinServerType {FW, SLB}
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public BuiltinServerType getType() {
|
||||
return builtinServerType;
|
||||
}
|
||||
public BuiltinServerType getType() {
|
||||
return builtinServerType;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public String getCreator() {
|
||||
return creator;
|
||||
}
|
||||
public String getCreator() {
|
||||
return creator;
|
||||
}
|
||||
|
||||
public String getSlbVip() {
|
||||
return slbVip;
|
||||
}
|
||||
public String getSlbVip() {
|
||||
return slbVip;
|
||||
}
|
||||
|
||||
public Firewall getFirewall() {
|
||||
return firewall;
|
||||
}
|
||||
public Firewall getFirewall() {
|
||||
return firewall;
|
||||
}
|
||||
|
||||
public SLB getLoadbalancer() {
|
||||
return loadbalancer;
|
||||
}
|
||||
public SLB getLoadbalancer() {
|
||||
return loadbalancer;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -31,45 +31,45 @@ import com.google.common.base.Objects;
|
|||
*/
|
||||
@XmlRootElement(name = "backup")
|
||||
public class BuiltinServerBackup {
|
||||
@XmlElement(name = "backupId")
|
||||
private String id;
|
||||
@XmlElement(name = "backupTime")
|
||||
private String time;
|
||||
@XmlElement(name = "backupId")
|
||||
private String id;
|
||||
@XmlElement(name = "backupTime")
|
||||
private String time;
|
||||
|
||||
/**
|
||||
* @return the id
|
||||
*/
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
/**
|
||||
* @return the id
|
||||
*/
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the time
|
||||
*/
|
||||
public String getTime() {
|
||||
return time;
|
||||
}
|
||||
/**
|
||||
* @return the time
|
||||
*/
|
||||
public String getTime() {
|
||||
return time;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(id);
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
BuiltinServerBackup that = BuiltinServerBackup.class.cast(obj);
|
||||
return Objects.equal(this.id, that.id);
|
||||
}
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
BuiltinServerBackup that = BuiltinServerBackup.class.cast(obj);
|
||||
return Objects.equal(this.id, that.id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues().add("id", id)
|
||||
.add("time", time).toString();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues().add("id", id)
|
||||
.add("time", time).toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,36 +33,36 @@ import com.google.common.base.CaseFormat;
|
|||
* @author Dies Koper
|
||||
*/
|
||||
public enum BuiltinServerConfiguration {
|
||||
FW_NAT_RULE,
|
||||
FW_DNS,
|
||||
FW_POLICY,
|
||||
FW_LOG,
|
||||
FW_LIMIT_POLICY,
|
||||
SLB_RULE,
|
||||
SLB_LOAD_STATISTICS,
|
||||
SLB_ERROR_STATISTICS,
|
||||
SLB_CERTIFICATE_LIST,
|
||||
EFM_UPDATE,
|
||||
SLB_CONNECTION,
|
||||
UNRECOGNIZED;
|
||||
FW_NAT_RULE,
|
||||
FW_DNS,
|
||||
FW_POLICY,
|
||||
FW_LOG,
|
||||
FW_LIMIT_POLICY,
|
||||
SLB_RULE,
|
||||
SLB_LOAD_STATISTICS,
|
||||
SLB_ERROR_STATISTICS,
|
||||
SLB_CERTIFICATE_LIST,
|
||||
EFM_UPDATE,
|
||||
SLB_CONNECTION,
|
||||
UNRECOGNIZED;
|
||||
|
||||
public String value() {
|
||||
return (CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, name()));
|
||||
}
|
||||
public String value() {
|
||||
return (CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, name()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return value();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return value();
|
||||
}
|
||||
|
||||
public static BuiltinServerConfiguration fromValue(String configuration) {
|
||||
try {
|
||||
return valueOf(CaseFormat.UPPER_CAMEL
|
||||
.to(CaseFormat.UPPER_UNDERSCORE,
|
||||
checkNotNull(configuration, "configuration")));
|
||||
} catch (IllegalArgumentException e) {
|
||||
return UNRECOGNIZED;
|
||||
}
|
||||
}
|
||||
public static BuiltinServerConfiguration fromValue(String configuration) {
|
||||
try {
|
||||
return valueOf(CaseFormat.UPPER_CAMEL
|
||||
.to(CaseFormat.UPPER_UNDERSCORE,
|
||||
checkNotNull(configuration, "configuration")));
|
||||
} catch (IllegalArgumentException e) {
|
||||
return UNRECOGNIZED;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -18,12 +18,12 @@
|
|||
*/
|
||||
package org.jclouds.fujitsu.fgcp.domain;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
|
||||
import com.google.common.base.CaseFormat;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
/**
|
||||
* Possible statuses of a built-in server, also called extended function module
|
||||
* (EFM), such as a firewall or load balancer (SLB).
|
||||
|
@ -36,25 +36,25 @@ import static com.google.common.base.Preconditions.checkNotNull;
|
|||
*/
|
||||
@XmlRootElement(name = "efmStatus")
|
||||
public enum BuiltinServerStatus {
|
||||
DEPLOYING, RUNNING, STOPPING, STOPPED, STARTING, FAILOVER, UNEXPECTED_STOP, RESTORING, BACKUP_ING, ERROR, EXECUTE_NETWORK_SERVER, START_ERROR, STOP_ERROR, UPDATE, BACKOUT, UNRECOGNIZED;
|
||||
DEPLOYING, RUNNING, STOPPING, STOPPED, STARTING, FAILOVER, UNEXPECTED_STOP, RESTORING, BACKUP_ING, ERROR, EXECUTE_NETWORK_SERVER, START_ERROR, STOP_ERROR, UPDATE, BACKOUT, UNRECOGNIZED;
|
||||
|
||||
public String value() {
|
||||
return (CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, name()));
|
||||
}
|
||||
public String value() {
|
||||
return (CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, name()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return value();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return value();
|
||||
}
|
||||
|
||||
public static BuiltinServerStatus fromValue(String status) {
|
||||
try {
|
||||
return valueOf(CaseFormat.UPPER_CAMEL
|
||||
.to(CaseFormat.UPPER_UNDERSCORE,
|
||||
checkNotNull(status, "status")));
|
||||
} catch (IllegalArgumentException e) {
|
||||
return UNRECOGNIZED;
|
||||
}
|
||||
}
|
||||
public static BuiltinServerStatus fromValue(String status) {
|
||||
try {
|
||||
return valueOf(CaseFormat.UPPER_CAMEL
|
||||
.to(CaseFormat.UPPER_UNDERSCORE,
|
||||
checkNotNull(status, "status")));
|
||||
} catch (IllegalArgumentException e) {
|
||||
return UNRECOGNIZED;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -30,48 +30,48 @@ import com.google.common.base.Objects;
|
|||
*/
|
||||
@XmlRootElement(name = "cpu")
|
||||
public class CPU {
|
||||
@XmlElement(name = "cpuArch")
|
||||
private String arch;
|
||||
@XmlElement(name = "cpuPerf")
|
||||
private double speedPerCore;
|
||||
@XmlElement(name = "numOfCpu")
|
||||
private double cores;
|
||||
@XmlElement(name = "cpuArch")
|
||||
private String arch;
|
||||
@XmlElement(name = "cpuPerf")
|
||||
private double speedPerCore;
|
||||
@XmlElement(name = "numOfCpu")
|
||||
private double cores;
|
||||
|
||||
public String getArch() {
|
||||
return arch;
|
||||
}
|
||||
public String getArch() {
|
||||
return arch;
|
||||
}
|
||||
|
||||
public double getSpeedPerCore() {
|
||||
return speedPerCore;
|
||||
}
|
||||
public double getSpeedPerCore() {
|
||||
return speedPerCore;
|
||||
}
|
||||
|
||||
public double getCores() {
|
||||
return cores;
|
||||
}
|
||||
public double getCores() {
|
||||
return cores;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(cores, speedPerCore, arch);
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(cores, speedPerCore, arch);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
CPU that = CPU.class.cast(obj);
|
||||
return Objects.equal(this.cores, that.cores)
|
||||
&& Objects.equal(this.speedPerCore, that.speedPerCore)
|
||||
&& Objects.equal(this.arch, that.arch);
|
||||
}
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
CPU that = CPU.class.cast(obj);
|
||||
return Objects.equal(this.cores, that.cores)
|
||||
&& Objects.equal(this.speedPerCore, that.speedPerCore)
|
||||
&& Objects.equal(this.arch, that.arch);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues()
|
||||
.add("cores", cores).add("speedPerCore", speedPerCore)
|
||||
.add("arch", arch).toString();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues()
|
||||
.add("cores", cores).add("speedPerCore", speedPerCore)
|
||||
.add("arch", arch).toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,76 +25,76 @@ package org.jclouds.fujitsu.fgcp.domain;
|
|||
* @author Dies Koper
|
||||
*/
|
||||
public class Cause {
|
||||
private String cat;
|
||||
private String cat;
|
||||
|
||||
private String status;
|
||||
private String status;
|
||||
|
||||
private String filePath;
|
||||
private String filePath;
|
||||
|
||||
private String current;
|
||||
private String current;
|
||||
|
||||
private String before;
|
||||
private String before;
|
||||
|
||||
private String today;
|
||||
private String today;
|
||||
|
||||
private String yesterday;
|
||||
private String yesterday;
|
||||
|
||||
private String total;
|
||||
private String total;
|
||||
|
||||
/**
|
||||
* @return category
|
||||
*/
|
||||
public String getCat() {
|
||||
return cat;
|
||||
}
|
||||
/**
|
||||
* @return category
|
||||
*/
|
||||
public String getCat() {
|
||||
return cat;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the status
|
||||
*/
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
/**
|
||||
* @return the status
|
||||
*/
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the filePath
|
||||
*/
|
||||
public String getFilePath() {
|
||||
return filePath;
|
||||
}
|
||||
/**
|
||||
* @return the filePath
|
||||
*/
|
||||
public String getFilePath() {
|
||||
return filePath;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the current
|
||||
*/
|
||||
public String getCurrent() {
|
||||
return current;
|
||||
}
|
||||
/**
|
||||
* @return the current
|
||||
*/
|
||||
public String getCurrent() {
|
||||
return current;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the before
|
||||
*/
|
||||
public String getBefore() {
|
||||
return before;
|
||||
}
|
||||
/**
|
||||
* @return the before
|
||||
*/
|
||||
public String getBefore() {
|
||||
return before;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the today
|
||||
*/
|
||||
public String getToday() {
|
||||
return today;
|
||||
}
|
||||
/**
|
||||
* @return the today
|
||||
*/
|
||||
public String getToday() {
|
||||
return today;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the yesterday
|
||||
*/
|
||||
public String getYesterday() {
|
||||
return yesterday;
|
||||
}
|
||||
/**
|
||||
* @return the yesterday
|
||||
*/
|
||||
public String getYesterday() {
|
||||
return yesterday;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the total
|
||||
*/
|
||||
public String getTotal() {
|
||||
return total;
|
||||
}
|
||||
/**
|
||||
* @return the total
|
||||
*/
|
||||
public String getTotal() {
|
||||
return total;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -32,82 +32,82 @@ import com.google.common.collect.ImmutableSet;
|
|||
* @author Dies Koper
|
||||
*/
|
||||
public class Direction {
|
||||
private String from;
|
||||
private String to;
|
||||
private Set<Policy> policies = new LinkedHashSet<Policy>();
|
||||
private Acceptable acceptable;
|
||||
private Prefix prefix;
|
||||
private int maxPolicyNum;
|
||||
private String from;
|
||||
private String to;
|
||||
private Set<Policy> policies = new LinkedHashSet<Policy>();
|
||||
private Acceptable acceptable;
|
||||
private Prefix prefix;
|
||||
private int maxPolicyNum;
|
||||
|
||||
enum Acceptable {OK, NG}
|
||||
enum Prefix {free, src, dst, proto, srcport, dstport, action, rule, tab}
|
||||
enum Acceptable {OK, NG}
|
||||
enum Prefix {free, src, dst, proto, srcport, dstport, action, rule, tab}
|
||||
|
||||
/**
|
||||
* @return the from
|
||||
*/
|
||||
public String getFrom() {
|
||||
return from;
|
||||
}
|
||||
/**
|
||||
* @return the from
|
||||
*/
|
||||
public String getFrom() {
|
||||
return from;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the to
|
||||
*/
|
||||
public String getTo() {
|
||||
return to;
|
||||
}
|
||||
/**
|
||||
* @return the to
|
||||
*/
|
||||
public String getTo() {
|
||||
return to;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the policies
|
||||
*/
|
||||
public Set<Policy> getPolicies() {
|
||||
return policies == null ? ImmutableSet.<Policy> of() : ImmutableSet
|
||||
.copyOf(policies);
|
||||
}
|
||||
/**
|
||||
* @return the policies
|
||||
*/
|
||||
public Set<Policy> getPolicies() {
|
||||
return policies == null ? ImmutableSet.<Policy> of() : ImmutableSet
|
||||
.copyOf(policies);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the acceptable
|
||||
*/
|
||||
public Acceptable getAcceptable() {
|
||||
return acceptable;
|
||||
}
|
||||
/**
|
||||
* @return the acceptable
|
||||
*/
|
||||
public Acceptable getAcceptable() {
|
||||
return acceptable;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the prefix
|
||||
*/
|
||||
public Prefix getPrefix() {
|
||||
return prefix;
|
||||
}
|
||||
/**
|
||||
* @return the prefix
|
||||
*/
|
||||
public Prefix getPrefix() {
|
||||
return prefix;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the maxPolicyNum
|
||||
*/
|
||||
public int getMaxPolicyNum() {
|
||||
return maxPolicyNum;
|
||||
}
|
||||
/**
|
||||
* @return the maxPolicyNum
|
||||
*/
|
||||
public int getMaxPolicyNum() {
|
||||
return maxPolicyNum;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(from, to);
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(from, to);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
Direction that = Direction.class.cast(obj);
|
||||
return Objects.equal(this.from, that.from)
|
||||
&& Objects.equal(this.to, that.to);
|
||||
}
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
Direction that = Direction.class.cast(obj);
|
||||
return Objects.equal(this.from, that.from)
|
||||
&& Objects.equal(this.to, that.to);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues().add("from", from)
|
||||
.add("to", to).add("prefix", prefix).add("policies", policies)
|
||||
.add("maxPolicyNum", maxPolicyNum)
|
||||
.add("acceptable", acceptable).toString();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues().add("from", from)
|
||||
.add("to", to).add("prefix", prefix).add("policies", policies)
|
||||
.add("maxPolicyNum", maxPolicyNum)
|
||||
.add("acceptable", acceptable).toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,57 +29,57 @@ import javax.xml.bind.annotation.XmlRootElement;
|
|||
*/
|
||||
@XmlRootElement
|
||||
public class Disk {
|
||||
@XmlElement(name = "diskSize")
|
||||
private String size;
|
||||
@XmlElement(name = "diskSize")
|
||||
private String size;
|
||||
|
||||
@XmlElement(name = "diskUsage")
|
||||
private String usage;
|
||||
@XmlElement(name = "diskUsage")
|
||||
private String usage;
|
||||
|
||||
@XmlElement(name = "diskType")
|
||||
private String type;
|
||||
@XmlElement(name = "diskType")
|
||||
private String type;
|
||||
|
||||
public String getSize() {
|
||||
return size;
|
||||
}
|
||||
public String getSize() {
|
||||
return size;
|
||||
}
|
||||
|
||||
public String getUsage() {
|
||||
return usage;
|
||||
}
|
||||
public String getUsage() {
|
||||
return usage;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o)
|
||||
return true;
|
||||
if (!(o instanceof Disk))
|
||||
return false;
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o)
|
||||
return true;
|
||||
if (!(o instanceof Disk))
|
||||
return false;
|
||||
|
||||
Disk disk = (Disk) o;
|
||||
Disk disk = (Disk) o;
|
||||
|
||||
if (size != null ? !size.equals(disk.size) : disk.size != null)
|
||||
return false;
|
||||
if (type != null ? !type.equals(disk.type) : disk.type != null)
|
||||
return false;
|
||||
if (usage != null ? !usage.equals(disk.usage) : disk.usage != null)
|
||||
return false;
|
||||
if (size != null ? !size.equals(disk.size) : disk.size != null)
|
||||
return false;
|
||||
if (type != null ? !type.equals(disk.type) : disk.type != null)
|
||||
return false;
|
||||
if (usage != null ? !usage.equals(disk.usage) : disk.usage != null)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = size != null ? size.hashCode() : 0;
|
||||
result = 31 * result + (usage != null ? usage.hashCode() : 0);
|
||||
result = 31 * result + (type != null ? type.hashCode() : 0);
|
||||
return result;
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = size != null ? size.hashCode() : 0;
|
||||
result = 31 * result + (usage != null ? usage.hashCode() : 0);
|
||||
result = 31 * result + (type != null ? type.hashCode() : 0);
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Disk{" + "size='" + size + '\'' + ", usage='" + usage + '\''
|
||||
+ ", type='" + type + '\'' + '}';
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Disk{" + "size='" + size + '\'' + ", usage='" + usage + '\''
|
||||
+ ", type='" + type + '\'' + '}';
|
||||
}
|
||||
}
|
||||
|
|
|
@ -37,164 +37,164 @@ import com.google.common.collect.ImmutableSet;
|
|||
*/
|
||||
@XmlRootElement(name = "diskimage")
|
||||
public class DiskImage {
|
||||
@XmlElement(name = "diskimageId")
|
||||
private String id;
|
||||
@XmlElement(name = "diskimageId")
|
||||
private String id;
|
||||
|
||||
@XmlElement(name = "diskimageName")
|
||||
private String name;
|
||||
@XmlElement(name = "diskimageName")
|
||||
private String name;
|
||||
|
||||
private int size;
|
||||
private int size;
|
||||
|
||||
private String osName;
|
||||
private String osName;
|
||||
|
||||
private String osType;
|
||||
private String osType;
|
||||
|
||||
private String creatorName;
|
||||
private String creatorName;
|
||||
|
||||
private String registrant;
|
||||
private String registrant;
|
||||
|
||||
private String licenseInfo;
|
||||
private String licenseInfo;
|
||||
|
||||
private String description;
|
||||
private String description;
|
||||
|
||||
@XmlElementWrapper(name = "softwares")
|
||||
@XmlElement(name = "software")
|
||||
private Set<Software> software = new LinkedHashSet<Software>();
|
||||
@XmlElementWrapper(name = "softwares")
|
||||
@XmlElement(name = "software")
|
||||
private Set<Software> software = new LinkedHashSet<Software>();
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public int getSize() {
|
||||
return size;
|
||||
}
|
||||
public int getSize() {
|
||||
return size;
|
||||
}
|
||||
|
||||
public String getOsName() {
|
||||
return osName;
|
||||
}
|
||||
public String getOsName() {
|
||||
return osName;
|
||||
}
|
||||
|
||||
public String getOsType() {
|
||||
return osType;
|
||||
}
|
||||
public String getOsType() {
|
||||
return osType;
|
||||
}
|
||||
|
||||
public String getCreatorName() {
|
||||
return creatorName;
|
||||
}
|
||||
public String getCreatorName() {
|
||||
return creatorName;
|
||||
}
|
||||
|
||||
public String getRegistrant() {
|
||||
return registrant;
|
||||
}
|
||||
public String getRegistrant() {
|
||||
return registrant;
|
||||
}
|
||||
|
||||
public String getLicenseInfo() {
|
||||
return licenseInfo;
|
||||
}
|
||||
public String getLicenseInfo() {
|
||||
return licenseInfo;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public Set<Software> getSoftware() {
|
||||
return software == null ? ImmutableSet.<Software> of() : ImmutableSet
|
||||
.copyOf(software);
|
||||
}
|
||||
public Set<Software> getSoftware() {
|
||||
return software == null ? ImmutableSet.<Software> of() : ImmutableSet
|
||||
.copyOf(software);
|
||||
}
|
||||
|
||||
public static Builder builder() {
|
||||
return new Builder();
|
||||
}
|
||||
public static Builder builder() {
|
||||
return new Builder();
|
||||
}
|
||||
|
||||
public static class Builder {
|
||||
private String id;
|
||||
private String name;
|
||||
private int size;
|
||||
private String osName;
|
||||
private String osType;
|
||||
private String creatorName;
|
||||
private String registrant;
|
||||
private String licenseInfo;
|
||||
private String description;
|
||||
private Set<Software> software;
|
||||
public static class Builder {
|
||||
private String id;
|
||||
private String name;
|
||||
private int size;
|
||||
private String osName;
|
||||
private String osType;
|
||||
private String creatorName;
|
||||
private String registrant;
|
||||
private String licenseInfo;
|
||||
private String description;
|
||||
private Set<Software> software;
|
||||
|
||||
public Builder id(String id) {
|
||||
this.id = id;
|
||||
return this;
|
||||
}
|
||||
public Builder id(String id) {
|
||||
this.id = id;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder name(String name) {
|
||||
this.name = name;
|
||||
return this;
|
||||
}
|
||||
public Builder name(String name) {
|
||||
this.name = name;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder osName(String osName) {
|
||||
this.osName = osName;
|
||||
return this;
|
||||
}
|
||||
public Builder osName(String osName) {
|
||||
this.osName = osName;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder osType(String osType) {
|
||||
this.osType = osType;
|
||||
return this;
|
||||
}
|
||||
public Builder osType(String osType) {
|
||||
this.osType = osType;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder creatorName(String creatorName) {
|
||||
this.creatorName = creatorName;
|
||||
return this;
|
||||
}
|
||||
public Builder creatorName(String creatorName) {
|
||||
this.creatorName = creatorName;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder registrant(String registrant) {
|
||||
this.registrant = registrant;
|
||||
return this;
|
||||
}
|
||||
public Builder registrant(String registrant) {
|
||||
this.registrant = registrant;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder description(String description) {
|
||||
this.description = description;
|
||||
return this;
|
||||
}
|
||||
public Builder description(String description) {
|
||||
this.description = description;
|
||||
return this;
|
||||
}
|
||||
|
||||
public DiskImage build() {
|
||||
DiskImage image = new DiskImage();
|
||||
public DiskImage build() {
|
||||
DiskImage image = new DiskImage();
|
||||
|
||||
image.id = id;
|
||||
image.name = name;
|
||||
image.size = size;
|
||||
image.osName = osName;
|
||||
image.osType = osType;
|
||||
image.creatorName = creatorName;
|
||||
image.registrant = registrant;
|
||||
image.licenseInfo = licenseInfo;
|
||||
image.description = description;
|
||||
image.software = software;
|
||||
image.id = id;
|
||||
image.name = name;
|
||||
image.size = size;
|
||||
image.osName = osName;
|
||||
image.osType = osType;
|
||||
image.creatorName = creatorName;
|
||||
image.registrant = registrant;
|
||||
image.licenseInfo = licenseInfo;
|
||||
image.description = description;
|
||||
image.software = software;
|
||||
|
||||
return image;
|
||||
}
|
||||
}
|
||||
return image;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(id);
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
DiskImage that = DiskImage.class.cast(obj);
|
||||
return Objects.equal(this.id, that.id);
|
||||
}
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
DiskImage that = DiskImage.class.cast(obj);
|
||||
return Objects.equal(this.id, that.id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues().add("id", id)
|
||||
.add("name", name).add("osName", osName).add("osType", osType)
|
||||
.add("size", size).add("creatorName", creatorName)
|
||||
.add("description", description)
|
||||
.add("licenseInfo", licenseInfo).add("registrant", registrant)
|
||||
.add("software", software).toString();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues().add("id", id)
|
||||
.add("name", name).add("osName", osName).add("osType", osType)
|
||||
.add("size", size).add("creatorName", creatorName)
|
||||
.add("description", description)
|
||||
.add("licenseInfo", licenseInfo).add("registrant", registrant)
|
||||
.add("software", software).toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,22 +32,22 @@ import com.google.common.collect.ImmutableSet;
|
|||
*/
|
||||
@XmlRootElement(name = "errorstatistics")
|
||||
public class ErrorStatistics {
|
||||
private Period period;
|
||||
private Set<Group> groups = new LinkedHashSet<Group>();
|
||||
private Period period;
|
||||
private Set<Group> groups = new LinkedHashSet<Group>();
|
||||
|
||||
/**
|
||||
* @return the period
|
||||
*/
|
||||
public Period getPeriod() {
|
||||
return period;
|
||||
}
|
||||
/**
|
||||
* @return the period
|
||||
*/
|
||||
public Period getPeriod() {
|
||||
return period;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the groups
|
||||
*/
|
||||
public Set<Group> getGroups() {
|
||||
return groups == null ? ImmutableSet.<Group> of() : ImmutableSet
|
||||
.copyOf(groups);
|
||||
}
|
||||
/**
|
||||
* @return the groups
|
||||
*/
|
||||
public Set<Group> getGroups() {
|
||||
return groups == null ? ImmutableSet.<Group> of() : ImmutableSet
|
||||
.copyOf(groups);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -29,71 +29,71 @@ import com.google.common.base.Objects;
|
|||
*/
|
||||
@XmlRootElement(name = "errorlog")
|
||||
public class EventLog {
|
||||
private String title;
|
||||
private String message;
|
||||
private String startDate;
|
||||
private String expiry;
|
||||
private String entryDate;
|
||||
private String title;
|
||||
private String message;
|
||||
private String startDate;
|
||||
private String expiry;
|
||||
private String entryDate;
|
||||
|
||||
/**
|
||||
* @return the title
|
||||
*/
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
/**
|
||||
* @return the title
|
||||
*/
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the message
|
||||
*/
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
/**
|
||||
* @return the message
|
||||
*/
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the startDate
|
||||
*/
|
||||
public String getStartDate() {
|
||||
return startDate;
|
||||
}
|
||||
/**
|
||||
* @return the startDate
|
||||
*/
|
||||
public String getStartDate() {
|
||||
return startDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the expiry
|
||||
*/
|
||||
public String getExpiry() {
|
||||
return expiry;
|
||||
}
|
||||
/**
|
||||
* @return the expiry
|
||||
*/
|
||||
public String getExpiry() {
|
||||
return expiry;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the entryDate
|
||||
*/
|
||||
public String getEntryDate() {
|
||||
return entryDate;
|
||||
}
|
||||
/**
|
||||
* @return the entryDate
|
||||
*/
|
||||
public String getEntryDate() {
|
||||
return entryDate;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(entryDate, message, title);
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(entryDate, message, title);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
EventLog that = EventLog.class.cast(obj);
|
||||
return Objects.equal(this.entryDate, that.entryDate)
|
||||
&& Objects.equal(this.message, that.message)
|
||||
&& Objects.equal(this.title, that.title);
|
||||
}
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
EventLog that = EventLog.class.cast(obj);
|
||||
return Objects.equal(this.entryDate, that.entryDate)
|
||||
&& Objects.equal(this.message, that.message)
|
||||
&& Objects.equal(this.title, that.title);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues()
|
||||
.add("entryDate", entryDate).add("title", title)
|
||||
.add("message", message).add("startDate", startDate)
|
||||
.add("expiry", expiry).toString();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues()
|
||||
.add("entryDate", entryDate).add("title", title)
|
||||
.add("message", message).add("startDate", startDate)
|
||||
.add("expiry", expiry).toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,102 +32,102 @@ import com.google.common.collect.ImmutableSet;
|
|||
*/
|
||||
@XmlRootElement(name = "fw")
|
||||
public class Firewall {
|
||||
private NAT nat;
|
||||
private Set<Direction> directions = new LinkedHashSet<Direction>();
|
||||
private String log;
|
||||
private String status;
|
||||
private String category;
|
||||
private String latestVersion;
|
||||
private String comment;
|
||||
private boolean firmUpdateExist;
|
||||
private boolean configUpdateExist;
|
||||
private String backout;
|
||||
private String updateDate;
|
||||
private String currentVersion;
|
||||
private NAT nat;
|
||||
private Set<Direction> directions = new LinkedHashSet<Direction>();
|
||||
private String log;
|
||||
private String status;
|
||||
private String category;
|
||||
private String latestVersion;
|
||||
private String comment;
|
||||
private boolean firmUpdateExist;
|
||||
private boolean configUpdateExist;
|
||||
private String backout;
|
||||
private String updateDate;
|
||||
private String currentVersion;
|
||||
|
||||
/**
|
||||
* @return the nat
|
||||
*/
|
||||
public NAT getNat() {
|
||||
return nat;
|
||||
}
|
||||
/**
|
||||
* @return the nat
|
||||
*/
|
||||
public NAT getNat() {
|
||||
return nat;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the directions
|
||||
*/
|
||||
public Set<Direction> getDirections() {
|
||||
return directions == null ? ImmutableSet.<Direction> of()
|
||||
: ImmutableSet.copyOf(directions);
|
||||
}
|
||||
/**
|
||||
* @return the directions
|
||||
*/
|
||||
public Set<Direction> getDirections() {
|
||||
return directions == null ? ImmutableSet.<Direction> of()
|
||||
: ImmutableSet.copyOf(directions);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the log
|
||||
*/
|
||||
public String getLog() {
|
||||
return log;
|
||||
}
|
||||
/**
|
||||
* @return the log
|
||||
*/
|
||||
public String getLog() {
|
||||
return log;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the status
|
||||
*/
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
/**
|
||||
* @return the status
|
||||
*/
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the category
|
||||
*/
|
||||
public String getCategory() {
|
||||
return category;
|
||||
}
|
||||
/**
|
||||
* @return the category
|
||||
*/
|
||||
public String getCategory() {
|
||||
return category;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the latestVersion
|
||||
*/
|
||||
public String getLatestVersion() {
|
||||
return latestVersion;
|
||||
}
|
||||
/**
|
||||
* @return the latestVersion
|
||||
*/
|
||||
public String getLatestVersion() {
|
||||
return latestVersion;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the comment
|
||||
*/
|
||||
public String getComment() {
|
||||
return comment;
|
||||
}
|
||||
/**
|
||||
* @return the comment
|
||||
*/
|
||||
public String getComment() {
|
||||
return comment;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the firmUpdateExist
|
||||
*/
|
||||
public boolean getFirmUpdateExist() {
|
||||
return firmUpdateExist;
|
||||
}
|
||||
/**
|
||||
* @return the firmUpdateExist
|
||||
*/
|
||||
public boolean getFirmUpdateExist() {
|
||||
return firmUpdateExist;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the configUpdateExist
|
||||
*/
|
||||
public boolean getConfigUpdateExist() {
|
||||
return configUpdateExist;
|
||||
}
|
||||
/**
|
||||
* @return the configUpdateExist
|
||||
*/
|
||||
public boolean getConfigUpdateExist() {
|
||||
return configUpdateExist;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the backout
|
||||
*/
|
||||
public String getBackout() {
|
||||
return backout;
|
||||
}
|
||||
/**
|
||||
* @return the backout
|
||||
*/
|
||||
public String getBackout() {
|
||||
return backout;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the updateDate
|
||||
*/
|
||||
public String getUpdateDate() {
|
||||
return updateDate;
|
||||
}
|
||||
/**
|
||||
* @return the updateDate
|
||||
*/
|
||||
public String getUpdateDate() {
|
||||
return updateDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the currentVersion
|
||||
*/
|
||||
public String getCurrentVersion() {
|
||||
return currentVersion;
|
||||
}
|
||||
/**
|
||||
* @return the currentVersion
|
||||
*/
|
||||
public String getCurrentVersion() {
|
||||
return currentVersion;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -32,195 +32,195 @@ import com.google.common.collect.ImmutableSet;
|
|||
* @author Dies Koper
|
||||
*/
|
||||
public class Group {
|
||||
private int id;
|
||||
private int id;
|
||||
|
||||
private String protocol;
|
||||
private String protocol;
|
||||
|
||||
private int port1;
|
||||
private int port1;
|
||||
|
||||
private int port2;
|
||||
private int port2;
|
||||
|
||||
private String balanceType;
|
||||
private String balanceType;
|
||||
|
||||
private String uniqueType;
|
||||
private String uniqueType;
|
||||
|
||||
private String monitorType;
|
||||
private String monitorType;
|
||||
|
||||
private int maxConnection;
|
||||
private int maxConnection;
|
||||
|
||||
private int uniqueRetention;
|
||||
private int uniqueRetention;
|
||||
|
||||
private int interval;
|
||||
private int interval;
|
||||
|
||||
private int timeout;
|
||||
private int timeout;
|
||||
|
||||
private int retryCount;
|
||||
private int retryCount;
|
||||
|
||||
private int certNum;
|
||||
private int certNum;
|
||||
|
||||
private Set<Cause> causes;
|
||||
private Set<Cause> causes;
|
||||
|
||||
private RecoveryAction recoveryAction;
|
||||
private RecoveryAction recoveryAction;
|
||||
|
||||
private Set<Target> targets = new LinkedHashSet<Target>();
|
||||
private Set<Target> targets = new LinkedHashSet<Target>();
|
||||
|
||||
private String validity;
|
||||
private String validity;
|
||||
|
||||
enum RecoveryAction {
|
||||
@XmlEnumValue("switch-back")
|
||||
SWITCH_BACK, @XmlEnumValue("maintenance")
|
||||
MAINTENANCE
|
||||
}
|
||||
enum RecoveryAction {
|
||||
@XmlEnumValue("switch-back")
|
||||
SWITCH_BACK, @XmlEnumValue("maintenance")
|
||||
MAINTENANCE
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the id
|
||||
*/
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
/**
|
||||
* @return the id
|
||||
*/
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the protocol
|
||||
*/
|
||||
public String getProtocol() {
|
||||
return protocol;
|
||||
}
|
||||
/**
|
||||
* @return the protocol
|
||||
*/
|
||||
public String getProtocol() {
|
||||
return protocol;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the port1
|
||||
*/
|
||||
public int getPort1() {
|
||||
return port1;
|
||||
}
|
||||
/**
|
||||
* @return the port1
|
||||
*/
|
||||
public int getPort1() {
|
||||
return port1;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the port2
|
||||
*/
|
||||
public int getPort2() {
|
||||
return port2;
|
||||
}
|
||||
/**
|
||||
* @return the port2
|
||||
*/
|
||||
public int getPort2() {
|
||||
return port2;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the balanceType
|
||||
*/
|
||||
public String getBalanceType() {
|
||||
return balanceType;
|
||||
}
|
||||
/**
|
||||
* @return the balanceType
|
||||
*/
|
||||
public String getBalanceType() {
|
||||
return balanceType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the uniqueType
|
||||
*/
|
||||
public String getUniqueType() {
|
||||
return uniqueType;
|
||||
}
|
||||
/**
|
||||
* @return the uniqueType
|
||||
*/
|
||||
public String getUniqueType() {
|
||||
return uniqueType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the monitorType
|
||||
*/
|
||||
public String getMonitorType() {
|
||||
return monitorType;
|
||||
}
|
||||
/**
|
||||
* @return the monitorType
|
||||
*/
|
||||
public String getMonitorType() {
|
||||
return monitorType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the maxConnection
|
||||
*/
|
||||
public int getMaxConnection() {
|
||||
return maxConnection;
|
||||
}
|
||||
/**
|
||||
* @return the maxConnection
|
||||
*/
|
||||
public int getMaxConnection() {
|
||||
return maxConnection;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the uniqueRetention
|
||||
*/
|
||||
public int getUniqueRetention() {
|
||||
return uniqueRetention;
|
||||
}
|
||||
/**
|
||||
* @return the uniqueRetention
|
||||
*/
|
||||
public int getUniqueRetention() {
|
||||
return uniqueRetention;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the interval
|
||||
*/
|
||||
public int getInterval() {
|
||||
return interval;
|
||||
}
|
||||
/**
|
||||
* @return the interval
|
||||
*/
|
||||
public int getInterval() {
|
||||
return interval;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the timeout
|
||||
*/
|
||||
public int getTimeout() {
|
||||
return timeout;
|
||||
}
|
||||
/**
|
||||
* @return the timeout
|
||||
*/
|
||||
public int getTimeout() {
|
||||
return timeout;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the retryCount
|
||||
*/
|
||||
public int getRetryCount() {
|
||||
return retryCount;
|
||||
}
|
||||
/**
|
||||
* @return the retryCount
|
||||
*/
|
||||
public int getRetryCount() {
|
||||
return retryCount;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the certNum
|
||||
*/
|
||||
public int getCertNum() {
|
||||
return certNum;
|
||||
}
|
||||
/**
|
||||
* @return the certNum
|
||||
*/
|
||||
public int getCertNum() {
|
||||
return certNum;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the causes
|
||||
*/
|
||||
public Set<Cause> getCauses() {
|
||||
return causes == null ? ImmutableSet.<Cause> of() : ImmutableSet
|
||||
.copyOf(causes);
|
||||
}
|
||||
/**
|
||||
* @return the causes
|
||||
*/
|
||||
public Set<Cause> getCauses() {
|
||||
return causes == null ? ImmutableSet.<Cause> of() : ImmutableSet
|
||||
.copyOf(causes);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the recoveryAction
|
||||
*/
|
||||
public RecoveryAction getRecoveryAction() {
|
||||
return recoveryAction;
|
||||
}
|
||||
/**
|
||||
* @return the recoveryAction
|
||||
*/
|
||||
public RecoveryAction getRecoveryAction() {
|
||||
return recoveryAction;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the targets
|
||||
*/
|
||||
public Set<Target> getTargets() {
|
||||
return targets == null ? ImmutableSet.<Target> of() : ImmutableSet
|
||||
.copyOf(targets);
|
||||
}
|
||||
/**
|
||||
* @return the targets
|
||||
*/
|
||||
public Set<Target> getTargets() {
|
||||
return targets == null ? ImmutableSet.<Target> of() : ImmutableSet
|
||||
.copyOf(targets);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the validity
|
||||
*/
|
||||
public String getValidity() {
|
||||
return validity;
|
||||
}
|
||||
/**
|
||||
* @return the validity
|
||||
*/
|
||||
public String getValidity() {
|
||||
return validity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(id);
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
Group that = Group.class.cast(obj);
|
||||
return Objects.equal(this.id, that.id);
|
||||
}
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
Group that = Group.class.cast(obj);
|
||||
return Objects.equal(this.id, that.id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues().add("id", id)
|
||||
.add("protocol", protocol).add("port1", port1)
|
||||
.add("port2", port2).add("balanceType", balanceType)
|
||||
.add("uniqueType", uniqueType).add("monitorType", monitorType)
|
||||
.add("maxConnection", maxConnection)
|
||||
.add("uniqueRetention", uniqueRetention)
|
||||
.add("interval", interval).add("timeout", timeout)
|
||||
.add("retryCount", retryCount).add("certNum", certNum)
|
||||
.add("causes", causes).add("recoveryAction", recoveryAction)
|
||||
.add("targets", targets).add("validity", validity).toString();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues().add("id", id)
|
||||
.add("protocol", protocol).add("port1", port1)
|
||||
.add("port2", port2).add("balanceType", balanceType)
|
||||
.add("uniqueType", uniqueType).add("monitorType", monitorType)
|
||||
.add("maxConnection", maxConnection)
|
||||
.add("uniqueRetention", uniqueRetention)
|
||||
.add("interval", interval).add("timeout", timeout)
|
||||
.add("retryCount", retryCount).add("certNum", certNum)
|
||||
.add("causes", causes).add("recoveryAction", recoveryAction)
|
||||
.add("targets", targets).add("validity", validity).toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -34,81 +34,81 @@ import com.google.common.collect.ImmutableSet;
|
|||
* @author Dies Koper
|
||||
*/
|
||||
public class Image {
|
||||
private String id;
|
||||
private String id;
|
||||
|
||||
private String serverCategory;
|
||||
private String serverCategory;
|
||||
|
||||
private String serverApplication;
|
||||
private String serverApplication;
|
||||
|
||||
private String cpuBit;
|
||||
private String cpuBit;
|
||||
|
||||
private float sysvolSize;
|
||||
private float sysvolSize;
|
||||
|
||||
private int numOfMaxDisk;
|
||||
private int numOfMaxDisk;
|
||||
|
||||
private int numOfMaxNic;
|
||||
private int numOfMaxNic;
|
||||
|
||||
@XmlElementWrapper(name = "softwares")
|
||||
@XmlElement(name = "software")
|
||||
private Set<Software> software = new LinkedHashSet<Software>();
|
||||
@XmlElementWrapper(name = "softwares")
|
||||
@XmlElement(name = "software")
|
||||
private Set<Software> software = new LinkedHashSet<Software>();
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public String getServerCategory() {
|
||||
return serverCategory;
|
||||
}
|
||||
public String getServerCategory() {
|
||||
return serverCategory;
|
||||
}
|
||||
|
||||
public String getServerApplication() {
|
||||
return serverApplication;
|
||||
}
|
||||
public String getServerApplication() {
|
||||
return serverApplication;
|
||||
}
|
||||
|
||||
public String getCpuBit() {
|
||||
return cpuBit;
|
||||
}
|
||||
public String getCpuBit() {
|
||||
return cpuBit;
|
||||
}
|
||||
|
||||
public float getSysvolSize() {
|
||||
return sysvolSize;
|
||||
}
|
||||
public float getSysvolSize() {
|
||||
return sysvolSize;
|
||||
}
|
||||
|
||||
public int getNumOfMaxDisk() {
|
||||
return numOfMaxDisk;
|
||||
}
|
||||
public int getNumOfMaxDisk() {
|
||||
return numOfMaxDisk;
|
||||
}
|
||||
|
||||
public int getNumOfMaxNic() {
|
||||
return numOfMaxNic;
|
||||
}
|
||||
public int getNumOfMaxNic() {
|
||||
return numOfMaxNic;
|
||||
}
|
||||
|
||||
public Set<Software> getSoftware() {
|
||||
return software == null ? ImmutableSet.<Software> of() : ImmutableSet
|
||||
.copyOf(software);
|
||||
}
|
||||
public Set<Software> getSoftware() {
|
||||
return software == null ? ImmutableSet.<Software> of() : ImmutableSet
|
||||
.copyOf(software);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(id);
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
Image that = Image.class.cast(obj);
|
||||
return Objects.equal(this.id, that.id);
|
||||
}
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
Image that = Image.class.cast(obj);
|
||||
return Objects.equal(this.id, that.id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues().add("id", id)
|
||||
.add("serverCategory", serverCategory)
|
||||
.add("serverApplication", serverApplication)
|
||||
.add("cpuBit", cpuBit).add("sysvolSize", sysvolSize)
|
||||
.add("numOfMaxDisk", numOfMaxDisk)
|
||||
.add("numOfMaxNic", numOfMaxNic).toString();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues().add("id", id)
|
||||
.add("serverCategory", serverCategory)
|
||||
.add("serverApplication", serverApplication)
|
||||
.add("cpuBit", cpuBit).add("sysvolSize", sysvolSize)
|
||||
.add("numOfMaxDisk", numOfMaxDisk)
|
||||
.add("numOfMaxNic", numOfMaxNic).toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,80 +26,80 @@ import com.google.common.base.Objects;
|
|||
* @author Dies Koper
|
||||
*/
|
||||
public class Information {
|
||||
private int seqno;
|
||||
private String title;
|
||||
private String message;
|
||||
private String startDate;
|
||||
private String expiry;
|
||||
private String entryDate;
|
||||
private int seqno;
|
||||
private String title;
|
||||
private String message;
|
||||
private String startDate;
|
||||
private String expiry;
|
||||
private String entryDate;
|
||||
|
||||
/**
|
||||
* @return the seqno
|
||||
*/
|
||||
public int getSeqno() {
|
||||
return seqno;
|
||||
}
|
||||
/**
|
||||
* @return the seqno
|
||||
*/
|
||||
public int getSeqno() {
|
||||
return seqno;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the title
|
||||
*/
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
/**
|
||||
* @return the title
|
||||
*/
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the message
|
||||
*/
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
/**
|
||||
* @return the message
|
||||
*/
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the startDate
|
||||
*/
|
||||
public String getStartDate() {
|
||||
return startDate;
|
||||
}
|
||||
/**
|
||||
* @return the startDate
|
||||
*/
|
||||
public String getStartDate() {
|
||||
return startDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the expiry
|
||||
*/
|
||||
public String getExpiry() {
|
||||
return expiry;
|
||||
}
|
||||
/**
|
||||
* @return the expiry
|
||||
*/
|
||||
public String getExpiry() {
|
||||
return expiry;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the entryDate
|
||||
*/
|
||||
public String getEntryDate() {
|
||||
return entryDate;
|
||||
}
|
||||
/**
|
||||
* @return the entryDate
|
||||
*/
|
||||
public String getEntryDate() {
|
||||
return entryDate;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(seqno, entryDate, message, title);
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(seqno, entryDate, message, title);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
Information that = Information.class.cast(obj);
|
||||
return Objects.equal(this.seqno, that.seqno)
|
||||
&& Objects.equal(this.entryDate, that.entryDate)
|
||||
&& Objects.equal(this.message, that.message)
|
||||
&& Objects.equal(this.title, that.title);
|
||||
}
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
Information that = Information.class.cast(obj);
|
||||
return Objects.equal(this.seqno, that.seqno)
|
||||
&& Objects.equal(this.entryDate, that.entryDate)
|
||||
&& Objects.equal(this.message, that.message)
|
||||
&& Objects.equal(this.title, that.title);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues()
|
||||
.add("seqno", seqno).add("entryDate", entryDate)
|
||||
.add("title", title).add("message", message)
|
||||
.add("startDate", startDate).add("expiry", expiry).toString();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues()
|
||||
.add("seqno", seqno).add("entryDate", entryDate)
|
||||
.add("title", title).add("message", message)
|
||||
.add("startDate", startDate).add("expiry", expiry).toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,92 +29,92 @@ import com.google.common.base.Objects;
|
|||
*/
|
||||
@XmlRootElement(name = "ccacert")
|
||||
public class IntermediateCACert implements Comparable<IntermediateCACert> {
|
||||
private int ccacertNum;
|
||||
private int ccacertNum;
|
||||
|
||||
private String description;
|
||||
private String description;
|
||||
|
||||
private String subject;
|
||||
private String subject;
|
||||
|
||||
private String issuer;
|
||||
private String issuer;
|
||||
|
||||
private String validity;
|
||||
private String validity;
|
||||
|
||||
private String detail;
|
||||
private String detail;
|
||||
|
||||
/**
|
||||
* @return the ccacertNum
|
||||
*/
|
||||
public int getCcacertNum() {
|
||||
return ccacertNum;
|
||||
}
|
||||
/**
|
||||
* @return the ccacertNum
|
||||
*/
|
||||
public int getCcacertNum() {
|
||||
return ccacertNum;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the description
|
||||
*/
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
/**
|
||||
* @return the description
|
||||
*/
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the subject
|
||||
*/
|
||||
public String getSubject() {
|
||||
return subject;
|
||||
}
|
||||
/**
|
||||
* @return the subject
|
||||
*/
|
||||
public String getSubject() {
|
||||
return subject;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the issuer
|
||||
*/
|
||||
public String getIssuer() {
|
||||
return issuer;
|
||||
}
|
||||
/**
|
||||
* @return the issuer
|
||||
*/
|
||||
public String getIssuer() {
|
||||
return issuer;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the validity
|
||||
*/
|
||||
public String getValidity() {
|
||||
return validity;
|
||||
}
|
||||
/**
|
||||
* @return the validity
|
||||
*/
|
||||
public String getValidity() {
|
||||
return validity;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the detail
|
||||
*/
|
||||
public String getDetail() {
|
||||
return detail;
|
||||
}
|
||||
/**
|
||||
* @return the detail
|
||||
*/
|
||||
public String getDetail() {
|
||||
return detail;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(ccacertNum, issuer, subject, validity);
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(ccacertNum, issuer, subject, validity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
IntermediateCACert that = IntermediateCACert.class.cast(obj);
|
||||
return Objects.equal(this.ccacertNum, that.ccacertNum)
|
||||
&& Objects.equal(this.issuer, that.issuer)
|
||||
&& Objects.equal(this.subject, that.subject)
|
||||
&& Objects.equal(this.validity, that.validity);
|
||||
}
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
IntermediateCACert that = IntermediateCACert.class.cast(obj);
|
||||
return Objects.equal(this.ccacertNum, that.ccacertNum)
|
||||
&& Objects.equal(this.issuer, that.issuer)
|
||||
&& Objects.equal(this.subject, that.subject)
|
||||
&& Objects.equal(this.validity, that.validity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues()
|
||||
.add("ccacertNum", ccacertNum).add("issuer", issuer)
|
||||
.add("subject", subject).add("validity", validity)
|
||||
.add("description", description).add("detail", detail)
|
||||
.toString();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues()
|
||||
.add("ccacertNum", ccacertNum).add("issuer", issuer)
|
||||
.add("subject", subject).add("validity", validity)
|
||||
.add("description", description).add("detail", detail)
|
||||
.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(IntermediateCACert o) {
|
||||
return ccacertNum - o.ccacertNum;
|
||||
}
|
||||
@Override
|
||||
public int compareTo(IntermediateCACert o) {
|
||||
return ccacertNum - o.ccacertNum;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -33,36 +33,36 @@ import com.google.common.collect.ImmutableSet;
|
|||
*/
|
||||
@XmlRootElement(name = "loadstatistics")
|
||||
public class LoadStatistics {
|
||||
private Set<Group> groups = new LinkedHashSet<Group>();
|
||||
private Set<Group> groups = new LinkedHashSet<Group>();
|
||||
|
||||
/**
|
||||
* @return the groups
|
||||
*/
|
||||
public Set<Group> getGroups() {
|
||||
return groups == null ? ImmutableSet.<Group> of() : ImmutableSet
|
||||
.copyOf(groups);
|
||||
}
|
||||
/**
|
||||
* @return the groups
|
||||
*/
|
||||
public Set<Group> getGroups() {
|
||||
return groups == null ? ImmutableSet.<Group> of() : ImmutableSet
|
||||
.copyOf(groups);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(groups);
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(groups);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
LoadStatistics that = LoadStatistics.class.cast(obj);
|
||||
return Objects.equal(this.groups, that.groups);
|
||||
}
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
LoadStatistics that = LoadStatistics.class.cast(obj);
|
||||
return Objects.equal(this.groups, that.groups);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues()
|
||||
.add("groups", groups).toString();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues()
|
||||
.add("groups", groups).toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,39 +28,39 @@ import com.google.common.base.Objects;
|
|||
* @author Dies Koper
|
||||
*/
|
||||
public class Memory implements Comparable<Memory> {
|
||||
@XmlElement(name = "memorySize")
|
||||
private double size;
|
||||
@XmlElement(name = "memorySize")
|
||||
private double size;
|
||||
|
||||
public double getSize() {
|
||||
return size;
|
||||
}
|
||||
public double getSize() {
|
||||
return size;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(size);
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(size);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
Memory that = Memory.class.cast(obj);
|
||||
return Objects.equal(this.size, that.size);
|
||||
}
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
Memory that = Memory.class.cast(obj);
|
||||
return Objects.equal(this.size, that.size);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues().add("size", size)
|
||||
.toString();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues().add("size", size)
|
||||
.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(Memory o) {
|
||||
return Double.compare(size, o.size);
|
||||
}
|
||||
@Override
|
||||
public int compareTo(Memory o) {
|
||||
return Double.compare(size, o.size);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -30,36 +30,36 @@ import com.google.common.collect.ImmutableSet;
|
|||
* @author Dies Koper
|
||||
*/
|
||||
public class NAT {
|
||||
private Set<Rule> rules = new LinkedHashSet<Rule>();
|
||||
private Set<Rule> rules = new LinkedHashSet<Rule>();
|
||||
|
||||
/**
|
||||
* @return the rules
|
||||
*/
|
||||
public Set<Rule> getRules() {
|
||||
return rules == null ? ImmutableSet.<Rule> of() : ImmutableSet
|
||||
.copyOf(rules);
|
||||
}
|
||||
/**
|
||||
* @return the rules
|
||||
*/
|
||||
public Set<Rule> getRules() {
|
||||
return rules == null ? ImmutableSet.<Rule> of() : ImmutableSet
|
||||
.copyOf(rules);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(rules);
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(rules);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
NAT that = NAT.class.cast(obj);
|
||||
return Objects.equal(this.rules, that.rules);
|
||||
}
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
NAT that = NAT.class.cast(obj);
|
||||
return Objects.equal(this.rules, that.rules);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues()
|
||||
.add("rules", rules).toString();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues()
|
||||
.add("rules", rules).toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,121 +29,121 @@ import com.google.common.base.Objects;
|
|||
*/
|
||||
@XmlRootElement(name = "performanceinfo")
|
||||
public class PerformanceInfo implements Comparable<PerformanceInfo> {
|
||||
private long recordTime;
|
||||
private double cpuUtilization;
|
||||
private long diskReadRequestCount;
|
||||
private long diskWriteRequestCount;
|
||||
private long diskReadSector;
|
||||
private long diskWriteSector;
|
||||
private long nicInputByte;
|
||||
private long nicOutputByte;
|
||||
private long nicInputPacket;
|
||||
private long nicOutputPacket;
|
||||
private long recordTime;
|
||||
private double cpuUtilization;
|
||||
private long diskReadRequestCount;
|
||||
private long diskWriteRequestCount;
|
||||
private long diskReadSector;
|
||||
private long diskWriteSector;
|
||||
private long nicInputByte;
|
||||
private long nicOutputByte;
|
||||
private long nicInputPacket;
|
||||
private long nicOutputPacket;
|
||||
|
||||
/**
|
||||
* @return the recordTime
|
||||
*/
|
||||
public long getRecordTime() {
|
||||
return recordTime;
|
||||
}
|
||||
/**
|
||||
* @return the recordTime
|
||||
*/
|
||||
public long getRecordTime() {
|
||||
return recordTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the cpuUtilization
|
||||
*/
|
||||
public double getCpuUtilization() {
|
||||
return cpuUtilization;
|
||||
}
|
||||
/**
|
||||
* @return the cpuUtilization
|
||||
*/
|
||||
public double getCpuUtilization() {
|
||||
return cpuUtilization;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the diskReadRequestCount
|
||||
*/
|
||||
public long getDiskReadRequestCount() {
|
||||
return diskReadRequestCount;
|
||||
}
|
||||
/**
|
||||
* @return the diskReadRequestCount
|
||||
*/
|
||||
public long getDiskReadRequestCount() {
|
||||
return diskReadRequestCount;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the diskWriteRequestCount
|
||||
*/
|
||||
public long getDiskWriteRequestCount() {
|
||||
return diskWriteRequestCount;
|
||||
}
|
||||
/**
|
||||
* @return the diskWriteRequestCount
|
||||
*/
|
||||
public long getDiskWriteRequestCount() {
|
||||
return diskWriteRequestCount;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the diskReadSector
|
||||
*/
|
||||
public long getDiskReadSector() {
|
||||
return diskReadSector;
|
||||
}
|
||||
/**
|
||||
* @return the diskReadSector
|
||||
*/
|
||||
public long getDiskReadSector() {
|
||||
return diskReadSector;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the diskWriteSector
|
||||
*/
|
||||
public long getDiskWriteSector() {
|
||||
return diskWriteSector;
|
||||
}
|
||||
/**
|
||||
* @return the diskWriteSector
|
||||
*/
|
||||
public long getDiskWriteSector() {
|
||||
return diskWriteSector;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the nicInputByte
|
||||
*/
|
||||
public long getNicInputByte() {
|
||||
return nicInputByte;
|
||||
}
|
||||
/**
|
||||
* @return the nicInputByte
|
||||
*/
|
||||
public long getNicInputByte() {
|
||||
return nicInputByte;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the nicOutputByte
|
||||
*/
|
||||
public long getNicOutputByte() {
|
||||
return nicOutputByte;
|
||||
}
|
||||
/**
|
||||
* @return the nicOutputByte
|
||||
*/
|
||||
public long getNicOutputByte() {
|
||||
return nicOutputByte;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the nicInputPacket
|
||||
*/
|
||||
public long getNicInputPacket() {
|
||||
return nicInputPacket;
|
||||
}
|
||||
/**
|
||||
* @return the nicInputPacket
|
||||
*/
|
||||
public long getNicInputPacket() {
|
||||
return nicInputPacket;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the nicOutputPacket
|
||||
*/
|
||||
public long getNicOutputPacket() {
|
||||
return nicOutputPacket;
|
||||
}
|
||||
/**
|
||||
* @return the nicOutputPacket
|
||||
*/
|
||||
public long getNicOutputPacket() {
|
||||
return nicOutputPacket;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(recordTime);
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(recordTime);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
PerformanceInfo that = PerformanceInfo.class.cast(obj);
|
||||
return Objects.equal(this.recordTime, that.recordTime);
|
||||
}
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
PerformanceInfo that = PerformanceInfo.class.cast(obj);
|
||||
return Objects.equal(this.recordTime, that.recordTime);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues()
|
||||
.add("recordTime", recordTime)
|
||||
.add("cpuUtilization", cpuUtilization)
|
||||
.add("diskReadRequestCount", diskReadRequestCount)
|
||||
.add("diskWriteRequestCount", diskWriteRequestCount)
|
||||
.add("diskReadSector", diskReadSector)
|
||||
.add("diskWriteSector", diskWriteSector)
|
||||
.add("nicInputByte", nicInputByte)
|
||||
.add("nicOutputByte", nicOutputByte)
|
||||
.add("nicInputPacket", nicInputPacket)
|
||||
.add("nicOutputPacket", nicOutputPacket).toString();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues()
|
||||
.add("recordTime", recordTime)
|
||||
.add("cpuUtilization", cpuUtilization)
|
||||
.add("diskReadRequestCount", diskReadRequestCount)
|
||||
.add("diskWriteRequestCount", diskWriteRequestCount)
|
||||
.add("diskReadSector", diskReadSector)
|
||||
.add("diskWriteSector", diskWriteSector)
|
||||
.add("nicInputByte", nicInputByte)
|
||||
.add("nicOutputByte", nicOutputByte)
|
||||
.add("nicInputPacket", nicInputPacket)
|
||||
.add("nicOutputPacket", nicOutputPacket).toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(PerformanceInfo o) {
|
||||
return (int) (recordTime - o.recordTime);
|
||||
}
|
||||
@Override
|
||||
public int compareTo(PerformanceInfo o) {
|
||||
return (int) (recordTime - o.recordTime);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,37 +25,37 @@ package org.jclouds.fujitsu.fgcp.domain;
|
|||
* @author Dies Koper
|
||||
*/
|
||||
public class Period {
|
||||
private String current;
|
||||
private String before;
|
||||
private String today;
|
||||
private String yesterday;
|
||||
private String current;
|
||||
private String before;
|
||||
private String today;
|
||||
private String yesterday;
|
||||
|
||||
/**
|
||||
* @return the current
|
||||
*/
|
||||
public String getCurrent() {
|
||||
return current;
|
||||
}
|
||||
/**
|
||||
* @return the current
|
||||
*/
|
||||
public String getCurrent() {
|
||||
return current;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the before
|
||||
*/
|
||||
public String getBefore() {
|
||||
return before;
|
||||
}
|
||||
/**
|
||||
* @return the before
|
||||
*/
|
||||
public String getBefore() {
|
||||
return before;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the today
|
||||
*/
|
||||
public String getToday() {
|
||||
return today;
|
||||
}
|
||||
/**
|
||||
* @return the today
|
||||
*/
|
||||
public String getToday() {
|
||||
return today;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the yesterday
|
||||
*/
|
||||
public String getYesterday() {
|
||||
return yesterday;
|
||||
}
|
||||
/**
|
||||
* @return the yesterday
|
||||
*/
|
||||
public String getYesterday() {
|
||||
return yesterday;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -28,168 +28,168 @@ import com.google.common.base.Objects;
|
|||
* @author Dies Koper
|
||||
*/
|
||||
public class Policy implements Comparable<Policy> {
|
||||
private int id;
|
||||
private int id;
|
||||
|
||||
private String src;
|
||||
private String src;
|
||||
|
||||
private PolicyType srcType;
|
||||
private PolicyType srcType;
|
||||
|
||||
private String srcPort;
|
||||
private String srcPort;
|
||||
|
||||
private Service dstService;
|
||||
private Service dstService;
|
||||
|
||||
private String dst;
|
||||
private String dst;
|
||||
|
||||
private PolicyType dstType;
|
||||
private PolicyType dstType;
|
||||
|
||||
private String dstPort;
|
||||
private String dstPort;
|
||||
|
||||
private Protocol protocol;
|
||||
private Protocol protocol;
|
||||
|
||||
private Action action;
|
||||
private Action action;
|
||||
|
||||
private Log log;
|
||||
private Log log;
|
||||
|
||||
enum Service {
|
||||
NONE, WSUS, DNS, NTP, @XmlEnumValue("yum")
|
||||
YUM, KMS, @XmlEnumValue("Symantec")
|
||||
SYMANTEC, RHUI
|
||||
}
|
||||
enum Service {
|
||||
NONE, WSUS, DNS, NTP, @XmlEnumValue("yum")
|
||||
YUM, KMS, @XmlEnumValue("Symantec")
|
||||
SYMANTEC, RHUI
|
||||
}
|
||||
|
||||
enum PolicyType {IP, FQDN, FQDNF}
|
||||
enum PolicyType {IP, FQDN, FQDNF}
|
||||
|
||||
enum Protocol {
|
||||
@XmlEnumValue("tcp")
|
||||
TCP, @XmlEnumValue("udp")
|
||||
UDP, @XmlEnumValue("tcp-udp")
|
||||
TCP_UDP, @XmlEnumValue("icmp")
|
||||
ICMP
|
||||
}
|
||||
enum Protocol {
|
||||
@XmlEnumValue("tcp")
|
||||
TCP, @XmlEnumValue("udp")
|
||||
UDP, @XmlEnumValue("tcp-udp")
|
||||
TCP_UDP, @XmlEnumValue("icmp")
|
||||
ICMP
|
||||
}
|
||||
|
||||
enum Action {
|
||||
@XmlEnumValue("Accept")
|
||||
ACCEPT, @XmlEnumValue("Deny")
|
||||
DENY
|
||||
}
|
||||
enum Action {
|
||||
@XmlEnumValue("Accept")
|
||||
ACCEPT, @XmlEnumValue("Deny")
|
||||
DENY
|
||||
}
|
||||
|
||||
enum Log {
|
||||
@XmlEnumValue("On")
|
||||
ON, @XmlEnumValue("Off")
|
||||
OFF
|
||||
}
|
||||
enum Log {
|
||||
@XmlEnumValue("On")
|
||||
ON, @XmlEnumValue("Off")
|
||||
OFF
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the id
|
||||
*/
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
/**
|
||||
* @return the id
|
||||
*/
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the src
|
||||
*/
|
||||
public String getSrc() {
|
||||
return src;
|
||||
}
|
||||
/**
|
||||
* @return the src
|
||||
*/
|
||||
public String getSrc() {
|
||||
return src;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the srcType
|
||||
*/
|
||||
public PolicyType getSrcType() {
|
||||
return srcType;
|
||||
}
|
||||
/**
|
||||
* @return the srcType
|
||||
*/
|
||||
public PolicyType getSrcType() {
|
||||
return srcType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the srcPort
|
||||
*/
|
||||
public String getSrcPort() {
|
||||
return srcPort;
|
||||
}
|
||||
/**
|
||||
* @return the srcPort
|
||||
*/
|
||||
public String getSrcPort() {
|
||||
return srcPort;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the dstService
|
||||
*/
|
||||
public Service getDstService() {
|
||||
return dstService;
|
||||
}
|
||||
/**
|
||||
* @return the dstService
|
||||
*/
|
||||
public Service getDstService() {
|
||||
return dstService;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the dst
|
||||
*/
|
||||
public String getDst() {
|
||||
return dst;
|
||||
}
|
||||
/**
|
||||
* @return the dst
|
||||
*/
|
||||
public String getDst() {
|
||||
return dst;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the dstType
|
||||
*/
|
||||
public PolicyType getDstType() {
|
||||
return dstType;
|
||||
}
|
||||
/**
|
||||
* @return the dstType
|
||||
*/
|
||||
public PolicyType getDstType() {
|
||||
return dstType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the dstPort
|
||||
*/
|
||||
public String getDstPort() {
|
||||
return dstPort;
|
||||
}
|
||||
/**
|
||||
* @return the dstPort
|
||||
*/
|
||||
public String getDstPort() {
|
||||
return dstPort;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the protocol
|
||||
*/
|
||||
public Protocol getProtocol() {
|
||||
return protocol;
|
||||
}
|
||||
/**
|
||||
* @return the protocol
|
||||
*/
|
||||
public Protocol getProtocol() {
|
||||
return protocol;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the action
|
||||
*/
|
||||
public Action getAction() {
|
||||
return action;
|
||||
}
|
||||
/**
|
||||
* @return the action
|
||||
*/
|
||||
public Action getAction() {
|
||||
return action;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the log
|
||||
*/
|
||||
public Log getLog() {
|
||||
return log;
|
||||
}
|
||||
/**
|
||||
* @return the log
|
||||
*/
|
||||
public Log getLog() {
|
||||
return log;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(id);
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
Policy that = Policy.class.cast(obj);
|
||||
return Objects.equal(this.id, that.id);
|
||||
}
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
Policy that = Policy.class.cast(obj);
|
||||
return Objects.equal(this.id, that.id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues()
|
||||
.add("id", id)
|
||||
.add("src", src)
|
||||
.add("srcType", srcType)
|
||||
.add("srcPort", srcPort)
|
||||
.add("dstService", dstService)
|
||||
.add("dst", dst)
|
||||
.add("dstType", dstType)
|
||||
.add("dstPort", dstPort)
|
||||
.add("protocol", protocol)
|
||||
.add("action", action)
|
||||
.add("log", log).toString();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues()
|
||||
.add("id", id)
|
||||
.add("src", src)
|
||||
.add("srcType", srcType)
|
||||
.add("srcPort", srcPort)
|
||||
.add("dstService", dstService)
|
||||
.add("dst", dst)
|
||||
.add("dstType", dstType)
|
||||
.add("dstPort", dstPort)
|
||||
.add("protocol", protocol)
|
||||
.add("action", action)
|
||||
.add("log", log).toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(Policy o) {
|
||||
return id - o.id;
|
||||
}
|
||||
@Override
|
||||
public int compareTo(Policy o) {
|
||||
return id - o.id;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,57 +28,57 @@ import com.google.common.base.Objects;
|
|||
* @author Dies Koper
|
||||
*/
|
||||
public class Product {
|
||||
@XmlElement(name = "productName")
|
||||
private String name;
|
||||
@XmlElement(name = "productName")
|
||||
private String name;
|
||||
|
||||
private String unitName;
|
||||
private String unitName;
|
||||
|
||||
private String usedPoints;
|
||||
private String usedPoints;
|
||||
|
||||
/**
|
||||
* @return the name
|
||||
*/
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
/**
|
||||
* @return the name
|
||||
*/
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the unitName
|
||||
*/
|
||||
public String getUnitName() {
|
||||
return unitName;
|
||||
}
|
||||
/**
|
||||
* @return the unitName
|
||||
*/
|
||||
public String getUnitName() {
|
||||
return unitName;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the usedPoints
|
||||
*/
|
||||
public String getUsedPoints() {
|
||||
return usedPoints;
|
||||
}
|
||||
/**
|
||||
* @return the usedPoints
|
||||
*/
|
||||
public String getUsedPoints() {
|
||||
return usedPoints;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(name, unitName, usedPoints);
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(name, unitName, usedPoints);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
Product that = Product.class.cast(obj);
|
||||
return Objects.equal(this.name, that.name)
|
||||
&& Objects.equal(this.unitName, that.unitName)
|
||||
&& Objects.equal(this.usedPoints, that.usedPoints);
|
||||
}
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
Product that = Product.class.cast(obj);
|
||||
return Objects.equal(this.name, that.name)
|
||||
&& Objects.equal(this.unitName, that.unitName)
|
||||
&& Objects.equal(this.usedPoints, that.usedPoints);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues().add("name", name)
|
||||
.add("unitName", unitName).add("usedPoints", usedPoints)
|
||||
.toString();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues().add("name", name)
|
||||
.add("unitName", unitName).add("usedPoints", usedPoints)
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,59 +36,59 @@ import com.google.common.base.Objects;
|
|||
*/
|
||||
public class PublicIP {
|
||||
|
||||
public static enum Version {
|
||||
IPv4, IPv6, UNRECOGNIZED;
|
||||
public static enum Version {
|
||||
IPv4, IPv6, UNRECOGNIZED;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL,
|
||||
name());
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL,
|
||||
name());
|
||||
}
|
||||
|
||||
public static Version fromValue(String version) {
|
||||
try {
|
||||
return valueOf(CaseFormat.UPPER_CAMEL.to(
|
||||
CaseFormat.UPPER_UNDERSCORE,
|
||||
checkNotNull(version, "version")));
|
||||
} catch (IllegalArgumentException e) {
|
||||
return UNRECOGNIZED;
|
||||
}
|
||||
}
|
||||
public static Version fromValue(String version) {
|
||||
try {
|
||||
return valueOf(CaseFormat.UPPER_CAMEL.to(
|
||||
CaseFormat.UPPER_UNDERSCORE,
|
||||
checkNotNull(version, "version")));
|
||||
} catch (IllegalArgumentException e) {
|
||||
return UNRECOGNIZED;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
protected String address;
|
||||
@XmlElement(name = "v4v6Flag")
|
||||
protected Version version;
|
||||
protected String address;
|
||||
@XmlElement(name = "v4v6Flag")
|
||||
protected Version version;
|
||||
|
||||
public String getAddress() {
|
||||
return address;
|
||||
}
|
||||
public String getAddress() {
|
||||
return address;
|
||||
}
|
||||
|
||||
public Version getVersion() {
|
||||
return version;
|
||||
}
|
||||
public Version getVersion() {
|
||||
return version;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(address);
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(address);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
PublicIP that = PublicIP.class.cast(obj);
|
||||
return Objects.equal(this.address, that.address);
|
||||
}
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
PublicIP that = PublicIP.class.cast(obj);
|
||||
return Objects.equal(this.address, that.address);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues()
|
||||
.add("address", address).add("version", version).toString();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues()
|
||||
.add("address", address).add("version", version).toString();
|
||||
}
|
||||
}
|
|
@ -18,12 +18,12 @@
|
|||
*/
|
||||
package org.jclouds.fujitsu.fgcp.domain;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
|
||||
import com.google.common.base.CaseFormat;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
/**
|
||||
* Possible statuses of a public IP address.
|
||||
* <p>
|
||||
|
@ -34,24 +34,24 @@ import static com.google.common.base.Preconditions.checkNotNull;
|
|||
*/
|
||||
@XmlRootElement(name = "publicipStatus")
|
||||
public enum PublicIPStatus {
|
||||
ATTACHED, ATTACHING, DETACHING, DETACHED, UNRECOGNIZED;
|
||||
ATTACHED, ATTACHING, DETACHING, DETACHED, UNRECOGNIZED;
|
||||
|
||||
public String value() {
|
||||
return (CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, name()));
|
||||
}
|
||||
public String value() {
|
||||
return (CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, name()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return value();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return value();
|
||||
}
|
||||
|
||||
public static PublicIPStatus fromValue(String status) {
|
||||
try {
|
||||
return valueOf(CaseFormat.UPPER_CAMEL
|
||||
.to(CaseFormat.UPPER_UNDERSCORE,
|
||||
checkNotNull(status, "status")));
|
||||
} catch (IllegalArgumentException e) {
|
||||
return UNRECOGNIZED;
|
||||
}
|
||||
}
|
||||
public static PublicIPStatus fromValue(String status) {
|
||||
try {
|
||||
return valueOf(CaseFormat.UPPER_CAMEL
|
||||
.to(CaseFormat.UPPER_UNDERSCORE,
|
||||
checkNotNull(status, "status")));
|
||||
} catch (IllegalArgumentException e) {
|
||||
return UNRECOGNIZED;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,54 +31,54 @@ import com.google.common.base.Objects;
|
|||
* @author Dies Koper
|
||||
*/
|
||||
public class Rule {
|
||||
private String publicIp;
|
||||
private String privateIp;
|
||||
private boolean snapt;
|
||||
private String publicIp;
|
||||
private String privateIp;
|
||||
private boolean snapt;
|
||||
|
||||
/**
|
||||
* @return the publicIp
|
||||
*/
|
||||
public String getPublicIp() {
|
||||
return publicIp;
|
||||
}
|
||||
/**
|
||||
* @return the publicIp
|
||||
*/
|
||||
public String getPublicIp() {
|
||||
return publicIp;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the privateIp
|
||||
*/
|
||||
public String getPrivateIp() {
|
||||
return privateIp;
|
||||
}
|
||||
/**
|
||||
* @return the privateIp
|
||||
*/
|
||||
public String getPrivateIp() {
|
||||
return privateIp;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the snapt
|
||||
*/
|
||||
public boolean isSnapt() {
|
||||
return snapt;
|
||||
}
|
||||
/**
|
||||
* @return the snapt
|
||||
*/
|
||||
public boolean isSnapt() {
|
||||
return snapt;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(privateIp, publicIp, snapt);
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(privateIp, publicIp, snapt);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
Rule that = Rule.class.cast(obj);
|
||||
return Objects.equal(this.privateIp, that.privateIp)
|
||||
&& Objects.equal(this.publicIp, that.publicIp)
|
||||
&& Objects.equal(this.snapt, that.snapt);
|
||||
}
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
Rule that = Rule.class.cast(obj);
|
||||
return Objects.equal(this.privateIp, that.privateIp)
|
||||
&& Objects.equal(this.publicIp, that.publicIp)
|
||||
&& Objects.equal(this.snapt, that.snapt);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues()
|
||||
.add("privateIp", privateIp).add("publicIp", publicIp)
|
||||
.add("snapt", snapt).toString();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues()
|
||||
.add("privateIp", privateIp).add("publicIp", publicIp)
|
||||
.add("snapt", snapt).toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,169 +32,169 @@ import com.google.common.collect.ImmutableSet;
|
|||
*/
|
||||
@XmlRootElement(name = "slb")
|
||||
public class SLB extends BuiltinServer {
|
||||
private String ipAddress;
|
||||
private String ipAddress;
|
||||
|
||||
private Set<IntermediateCACert> ccacerts = new LinkedHashSet<IntermediateCACert>();
|
||||
private Set<IntermediateCACert> ccacerts = new LinkedHashSet<IntermediateCACert>();
|
||||
|
||||
private Set<ServerCert> servercerts = new LinkedHashSet<ServerCert>();
|
||||
private Set<ServerCert> servercerts = new LinkedHashSet<ServerCert>();
|
||||
|
||||
private Set<Group> groups;
|
||||
private Set<Group> groups;
|
||||
|
||||
private String srcType;
|
||||
private String srcType;
|
||||
|
||||
private String srcPort;
|
||||
private String srcPort;
|
||||
|
||||
private String status;
|
||||
private String status;
|
||||
|
||||
private ErrorStatistics errorStatistics;
|
||||
private ErrorStatistics errorStatistics;
|
||||
|
||||
private LoadStatistics loadStatistics;
|
||||
private LoadStatistics loadStatistics;
|
||||
|
||||
private String category;
|
||||
private String category;
|
||||
|
||||
private String latestVersion;
|
||||
private String latestVersion;
|
||||
|
||||
private String comment;
|
||||
private String comment;
|
||||
|
||||
private boolean firmUpdateExist;
|
||||
private boolean firmUpdateExist;
|
||||
|
||||
private boolean configUpdateExist;
|
||||
private boolean configUpdateExist;
|
||||
|
||||
private boolean backout;
|
||||
private boolean backout;
|
||||
|
||||
private String updateDate;
|
||||
private String updateDate;
|
||||
|
||||
private String currentVersion;
|
||||
private String currentVersion;
|
||||
|
||||
private String webAccelerator;
|
||||
private String webAccelerator;
|
||||
|
||||
/**
|
||||
* @return the ipAddress
|
||||
*/
|
||||
public String getIpAddress() {
|
||||
return ipAddress;
|
||||
}
|
||||
/**
|
||||
* @return the ipAddress
|
||||
*/
|
||||
public String getIpAddress() {
|
||||
return ipAddress;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the ccacerts
|
||||
*/
|
||||
public Set<IntermediateCACert> getCcacerts() {
|
||||
return ccacerts == null ? ImmutableSet.<IntermediateCACert> of()
|
||||
: ImmutableSet.copyOf(ccacerts);
|
||||
}
|
||||
/**
|
||||
* @return the ccacerts
|
||||
*/
|
||||
public Set<IntermediateCACert> getCcacerts() {
|
||||
return ccacerts == null ? ImmutableSet.<IntermediateCACert> of()
|
||||
: ImmutableSet.copyOf(ccacerts);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the servercerts
|
||||
*/
|
||||
public Set<ServerCert> getServercerts() {
|
||||
return servercerts == null ? ImmutableSet.<ServerCert> of()
|
||||
: ImmutableSet.copyOf(servercerts);
|
||||
}
|
||||
/**
|
||||
* @return the servercerts
|
||||
*/
|
||||
public Set<ServerCert> getServercerts() {
|
||||
return servercerts == null ? ImmutableSet.<ServerCert> of()
|
||||
: ImmutableSet.copyOf(servercerts);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the groups
|
||||
*/
|
||||
public Set<Group> getGroups() {
|
||||
return groups == null ? ImmutableSet.<Group> of() : ImmutableSet
|
||||
.copyOf(groups);
|
||||
}
|
||||
/**
|
||||
* @return the groups
|
||||
*/
|
||||
public Set<Group> getGroups() {
|
||||
return groups == null ? ImmutableSet.<Group> of() : ImmutableSet
|
||||
.copyOf(groups);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the srcType
|
||||
*/
|
||||
public String getSrcType() {
|
||||
return srcType;
|
||||
}
|
||||
/**
|
||||
* @return the srcType
|
||||
*/
|
||||
public String getSrcType() {
|
||||
return srcType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the srcPort
|
||||
*/
|
||||
public String getSrcPort() {
|
||||
return srcPort;
|
||||
}
|
||||
/**
|
||||
* @return the srcPort
|
||||
*/
|
||||
public String getSrcPort() {
|
||||
return srcPort;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the status
|
||||
*/
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
/**
|
||||
* @return the status
|
||||
*/
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the errorStatistics
|
||||
*/
|
||||
public ErrorStatistics getErrorStatistics() {
|
||||
return errorStatistics;
|
||||
}
|
||||
/**
|
||||
* @return the errorStatistics
|
||||
*/
|
||||
public ErrorStatistics getErrorStatistics() {
|
||||
return errorStatistics;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the loadStatistics
|
||||
*/
|
||||
public LoadStatistics getLoadStatistics() {
|
||||
return loadStatistics;
|
||||
}
|
||||
/**
|
||||
* @return the loadStatistics
|
||||
*/
|
||||
public LoadStatistics getLoadStatistics() {
|
||||
return loadStatistics;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the category
|
||||
*/
|
||||
public String getCategory() {
|
||||
return category;
|
||||
}
|
||||
/**
|
||||
* @return the category
|
||||
*/
|
||||
public String getCategory() {
|
||||
return category;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the latestVersion
|
||||
*/
|
||||
public String getLatestVersion() {
|
||||
return latestVersion;
|
||||
}
|
||||
/**
|
||||
* @return the latestVersion
|
||||
*/
|
||||
public String getLatestVersion() {
|
||||
return latestVersion;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the comment
|
||||
*/
|
||||
public String getComment() {
|
||||
return comment;
|
||||
}
|
||||
/**
|
||||
* @return the comment
|
||||
*/
|
||||
public String getComment() {
|
||||
return comment;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the firmUpdateExist
|
||||
*/
|
||||
public boolean getFirmUpdateExist() {
|
||||
return firmUpdateExist;
|
||||
}
|
||||
/**
|
||||
* @return the firmUpdateExist
|
||||
*/
|
||||
public boolean getFirmUpdateExist() {
|
||||
return firmUpdateExist;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the configUpdateExist
|
||||
*/
|
||||
public boolean getConfigUpdateExist() {
|
||||
return configUpdateExist;
|
||||
}
|
||||
/**
|
||||
* @return the configUpdateExist
|
||||
*/
|
||||
public boolean getConfigUpdateExist() {
|
||||
return configUpdateExist;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the backout
|
||||
*/
|
||||
public boolean getBackout() {
|
||||
return backout;
|
||||
}
|
||||
/**
|
||||
* @return the backout
|
||||
*/
|
||||
public boolean getBackout() {
|
||||
return backout;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the updateDate
|
||||
*/
|
||||
public String getUpdateDate() {
|
||||
return updateDate;
|
||||
}
|
||||
/**
|
||||
* @return the updateDate
|
||||
*/
|
||||
public String getUpdateDate() {
|
||||
return updateDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the currentVersion
|
||||
*/
|
||||
public String getCurrentVersion() {
|
||||
return currentVersion;
|
||||
}
|
||||
/**
|
||||
* @return the currentVersion
|
||||
*/
|
||||
public String getCurrentVersion() {
|
||||
return currentVersion;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the webAccelerator
|
||||
*/
|
||||
public String getWebAccelerator() {
|
||||
return webAccelerator;
|
||||
}
|
||||
/**
|
||||
* @return the webAccelerator
|
||||
*/
|
||||
public String getWebAccelerator() {
|
||||
return webAccelerator;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -29,93 +29,93 @@ import com.google.common.base.Objects;
|
|||
*/
|
||||
@XmlRootElement(name = "servercert")
|
||||
public class ServerCert implements Comparable<ServerCert> {
|
||||
private int certNum;
|
||||
private int certNum;
|
||||
|
||||
private String subject;
|
||||
private String subject;
|
||||
|
||||
private String issuer;
|
||||
private String issuer;
|
||||
|
||||
private String validity;
|
||||
private String validity;
|
||||
|
||||
private int groupId;
|
||||
private int groupId;
|
||||
|
||||
private String detail;
|
||||
private String detail;
|
||||
|
||||
/**
|
||||
* @return the certNum
|
||||
*/
|
||||
public int getCertNum() {
|
||||
return certNum;
|
||||
}
|
||||
/**
|
||||
* @return the certNum
|
||||
*/
|
||||
public int getCertNum() {
|
||||
return certNum;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the subject
|
||||
*/
|
||||
public String getSubject() {
|
||||
return subject;
|
||||
}
|
||||
/**
|
||||
* @return the subject
|
||||
*/
|
||||
public String getSubject() {
|
||||
return subject;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the issuer
|
||||
*/
|
||||
public String getIssuer() {
|
||||
return issuer;
|
||||
}
|
||||
/**
|
||||
* @return the issuer
|
||||
*/
|
||||
public String getIssuer() {
|
||||
return issuer;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the validity
|
||||
*/
|
||||
public String getValidity() {
|
||||
return validity;
|
||||
}
|
||||
/**
|
||||
* @return the validity
|
||||
*/
|
||||
public String getValidity() {
|
||||
return validity;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the groupId
|
||||
*/
|
||||
public int getGroupId() {
|
||||
return groupId;
|
||||
}
|
||||
/**
|
||||
* @return the groupId
|
||||
*/
|
||||
public int getGroupId() {
|
||||
return groupId;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the detail
|
||||
*/
|
||||
public String getDetail() {
|
||||
return detail;
|
||||
}
|
||||
/**
|
||||
* @return the detail
|
||||
*/
|
||||
public String getDetail() {
|
||||
return detail;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(certNum, groupId, issuer, subject, validity);
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(certNum, groupId, issuer, subject, validity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
ServerCert that = ServerCert.class.cast(obj);
|
||||
return Objects.equal(this.certNum, that.certNum)
|
||||
&& Objects.equal(this.groupId, that.groupId)
|
||||
&& Objects.equal(this.issuer, that.issuer)
|
||||
&& Objects.equal(this.subject, that.subject)
|
||||
&& Objects.equal(this.validity, that.validity);
|
||||
}
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
ServerCert that = ServerCert.class.cast(obj);
|
||||
return Objects.equal(this.certNum, that.certNum)
|
||||
&& Objects.equal(this.groupId, that.groupId)
|
||||
&& Objects.equal(this.issuer, that.issuer)
|
||||
&& Objects.equal(this.subject, that.subject)
|
||||
&& Objects.equal(this.validity, that.validity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues()
|
||||
.add("certNum", certNum).add("issuer", issuer)
|
||||
.add("subject", subject).add("validity", validity)
|
||||
.add("groupId", groupId).add("detail", detail).toString();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues()
|
||||
.add("certNum", certNum).add("issuer", issuer)
|
||||
.add("subject", subject).add("validity", validity)
|
||||
.add("groupId", groupId).add("detail", detail).toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(ServerCert o) {
|
||||
return (certNum - o.certNum) == 0 ? (groupId - o.groupId)
|
||||
: (certNum - o.certNum);
|
||||
}
|
||||
@Override
|
||||
public int compareTo(ServerCert o) {
|
||||
return (certNum - o.certNum) == 0 ? (groupId - o.groupId)
|
||||
: (certNum - o.certNum);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -35,111 +35,111 @@ import com.google.common.collect.Sets;
|
|||
*/
|
||||
@XmlRootElement(name = "servertype")
|
||||
public class ServerType implements Comparable<ServerType> {
|
||||
private String id;
|
||||
private String id;
|
||||
|
||||
private String name;
|
||||
private String name;
|
||||
|
||||
private String label;
|
||||
private String label;
|
||||
|
||||
private String comment;
|
||||
private String comment;
|
||||
|
||||
private String productId;
|
||||
private String productId;
|
||||
|
||||
private String productName;
|
||||
private String productName;
|
||||
|
||||
private String price;
|
||||
private String price;
|
||||
|
||||
private String chargeType;
|
||||
private String chargeType;
|
||||
|
||||
private String expectedUsage;
|
||||
private String expectedUsage;
|
||||
|
||||
private CPU cpu;
|
||||
private CPU cpu;
|
||||
|
||||
private Memory memory;
|
||||
private Memory memory;
|
||||
|
||||
@XmlElementWrapper(name = "disks")
|
||||
@XmlElement(name = "disk")
|
||||
private Set<Disk> disks = Sets.newLinkedHashSet();
|
||||
@XmlElementWrapper(name = "disks")
|
||||
@XmlElement(name = "disk")
|
||||
private Set<Disk> disks = Sets.newLinkedHashSet();
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public String getLabel() {
|
||||
return label;
|
||||
}
|
||||
public String getLabel() {
|
||||
return label;
|
||||
}
|
||||
|
||||
public String getComment() {
|
||||
return comment;
|
||||
}
|
||||
public String getComment() {
|
||||
return comment;
|
||||
}
|
||||
|
||||
public String getProductId() {
|
||||
return productId;
|
||||
}
|
||||
public String getProductId() {
|
||||
return productId;
|
||||
}
|
||||
|
||||
public String getProductName() {
|
||||
return productName;
|
||||
}
|
||||
public String getProductName() {
|
||||
return productName;
|
||||
}
|
||||
|
||||
public String getPrice() {
|
||||
return price;
|
||||
}
|
||||
public String getPrice() {
|
||||
return price;
|
||||
}
|
||||
|
||||
public String getChargeType() {
|
||||
return chargeType;
|
||||
}
|
||||
public String getChargeType() {
|
||||
return chargeType;
|
||||
}
|
||||
|
||||
public String getExpectedUsage() {
|
||||
return expectedUsage;
|
||||
}
|
||||
public String getExpectedUsage() {
|
||||
return expectedUsage;
|
||||
}
|
||||
|
||||
public CPU getCpu() {
|
||||
return cpu;
|
||||
}
|
||||
public CPU getCpu() {
|
||||
return cpu;
|
||||
}
|
||||
|
||||
public Memory getMemory() {
|
||||
return memory;
|
||||
}
|
||||
public Memory getMemory() {
|
||||
return memory;
|
||||
}
|
||||
|
||||
public Set<Disk> getDisks() {
|
||||
return disks == null ? ImmutableSet.<Disk> of() : ImmutableSet
|
||||
.copyOf(disks);
|
||||
}
|
||||
public Set<Disk> getDisks() {
|
||||
return disks == null ? ImmutableSet.<Disk> of() : ImmutableSet
|
||||
.copyOf(disks);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(id);
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
ServerType that = ServerType.class.cast(obj);
|
||||
return Objects.equal(this.id, that.id);
|
||||
}
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
ServerType that = ServerType.class.cast(obj);
|
||||
return Objects.equal(this.id, that.id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues().add("id", id)
|
||||
.add("name", name).add("label", label).add("comment", comment)
|
||||
.add("productId", productId).add("productName", productName)
|
||||
.add("price", price).add("chargeType", chargeType)
|
||||
.add("expectedUsage", expectedUsage).add("cpu", cpu)
|
||||
.add("memory", memory).add("disks", disks).toString();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues().add("id", id)
|
||||
.add("name", name).add("label", label).add("comment", comment)
|
||||
.add("productId", productId).add("productName", productName)
|
||||
.add("price", price).add("chargeType", chargeType)
|
||||
.add("expectedUsage", expectedUsage).add("cpu", cpu)
|
||||
.add("memory", memory).add("disks", disks).toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(ServerType o) {
|
||||
return memory == null ? -1 : memory.compareTo(o.memory);
|
||||
}
|
||||
@Override
|
||||
public int compareTo(ServerType o) {
|
||||
return memory == null ? -1 : memory.compareTo(o.memory);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -26,78 +26,78 @@ import com.google.common.base.Objects;
|
|||
* @author Dies Koper
|
||||
*/
|
||||
public class Software {
|
||||
private String name;
|
||||
private String name;
|
||||
|
||||
private String id;
|
||||
private String id;
|
||||
|
||||
private String category;
|
||||
private String category;
|
||||
|
||||
private String version;
|
||||
private String version;
|
||||
|
||||
private String officialVersion;
|
||||
private String officialVersion;
|
||||
|
||||
private String patch;
|
||||
private String patch;
|
||||
|
||||
private String license;
|
||||
private String license;
|
||||
|
||||
private String support;
|
||||
private String support;
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public String getCategory() {
|
||||
return category;
|
||||
}
|
||||
public String getCategory() {
|
||||
return category;
|
||||
}
|
||||
|
||||
public String getVersion() {
|
||||
return version;
|
||||
}
|
||||
public String getVersion() {
|
||||
return version;
|
||||
}
|
||||
|
||||
public String getOfficialVersion() {
|
||||
return officialVersion;
|
||||
}
|
||||
public String getOfficialVersion() {
|
||||
return officialVersion;
|
||||
}
|
||||
|
||||
public String getPatch() {
|
||||
return patch;
|
||||
}
|
||||
public String getPatch() {
|
||||
return patch;
|
||||
}
|
||||
|
||||
public String getLicense() {
|
||||
return license;
|
||||
}
|
||||
public String getLicense() {
|
||||
return license;
|
||||
}
|
||||
|
||||
public String getSupport() {
|
||||
return support;
|
||||
}
|
||||
public String getSupport() {
|
||||
return support;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(id);
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
Software that = Software.class.cast(obj);
|
||||
return Objects.equal(this.id, that.id);
|
||||
}
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
Software that = Software.class.cast(obj);
|
||||
return Objects.equal(this.id, that.id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues().add("id", id)
|
||||
.add("name", name).add("category", category)
|
||||
.add("version", version)
|
||||
.add("officialVersion", officialVersion)
|
||||
.add("support", support).add("patch", patch)
|
||||
.add("license", license).toString();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues().add("id", id)
|
||||
.add("name", name).add("category", category)
|
||||
.add("version", version)
|
||||
.add("officialVersion", officialVersion)
|
||||
.add("support", support).add("patch", patch)
|
||||
.add("license", license).toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,101 +26,101 @@ import com.google.common.base.Objects;
|
|||
* @author Dies Koper
|
||||
*/
|
||||
public class Target {
|
||||
private String serverId;
|
||||
private String serverId;
|
||||
|
||||
private String serverName;
|
||||
private String serverName;
|
||||
|
||||
private String ipAddress;
|
||||
private String ipAddress;
|
||||
|
||||
private String port1;
|
||||
private String port1;
|
||||
|
||||
private String port2;
|
||||
private String port2;
|
||||
|
||||
private String status;
|
||||
private String status;
|
||||
|
||||
private String now;
|
||||
private String now;
|
||||
|
||||
private String peak;
|
||||
private String peak;
|
||||
|
||||
/**
|
||||
* @return the serverId
|
||||
*/
|
||||
public String getServerId() {
|
||||
return serverId;
|
||||
}
|
||||
/**
|
||||
* @return the serverId
|
||||
*/
|
||||
public String getServerId() {
|
||||
return serverId;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the serverName
|
||||
*/
|
||||
public String getServerName() {
|
||||
return serverName;
|
||||
}
|
||||
/**
|
||||
* @return the serverName
|
||||
*/
|
||||
public String getServerName() {
|
||||
return serverName;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the ipAddress
|
||||
*/
|
||||
public String getIpAddress() {
|
||||
return ipAddress;
|
||||
}
|
||||
/**
|
||||
* @return the ipAddress
|
||||
*/
|
||||
public String getIpAddress() {
|
||||
return ipAddress;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the port1
|
||||
*/
|
||||
public String getPort1() {
|
||||
return port1;
|
||||
}
|
||||
/**
|
||||
* @return the port1
|
||||
*/
|
||||
public String getPort1() {
|
||||
return port1;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the port2
|
||||
*/
|
||||
public String getPort2() {
|
||||
return port2;
|
||||
}
|
||||
/**
|
||||
* @return the port2
|
||||
*/
|
||||
public String getPort2() {
|
||||
return port2;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the status
|
||||
*/
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
/**
|
||||
* @return the status
|
||||
*/
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the now
|
||||
*/
|
||||
public String getNow() {
|
||||
return now;
|
||||
}
|
||||
/**
|
||||
* @return the now
|
||||
*/
|
||||
public String getNow() {
|
||||
return now;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the peak
|
||||
*/
|
||||
public String getPeak() {
|
||||
return peak;
|
||||
}
|
||||
/**
|
||||
* @return the peak
|
||||
*/
|
||||
public String getPeak() {
|
||||
return peak;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(serverId);
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(serverId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
Target that = Target.class.cast(obj);
|
||||
return Objects.equal(this.serverId, that.serverId);
|
||||
}
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
Target that = Target.class.cast(obj);
|
||||
return Objects.equal(this.serverId, that.serverId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues()
|
||||
.add("serverId", serverId).add("serverName", serverName)
|
||||
.add("ipAddress", ipAddress).add("port1", port1)
|
||||
.add("port2", port2).add("status", status).add("now", now)
|
||||
.add("peak", peak).toString();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues()
|
||||
.add("serverId", serverId).add("serverName", serverName)
|
||||
.add("ipAddress", ipAddress).add("port1", port1)
|
||||
.add("port2", port2).add("status", status).add("now", now)
|
||||
.add("peak", peak).toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,60 +35,60 @@ import com.google.common.collect.ImmutableSet;
|
|||
*/
|
||||
@XmlRootElement(name = "usageinfo")
|
||||
public class UsageInfo {
|
||||
@XmlElement(name = "vsysId")
|
||||
private String systemId;
|
||||
@XmlElement(name = "vsysName")
|
||||
private String systemName;
|
||||
@XmlElement(name = "vsysId")
|
||||
private String systemId;
|
||||
@XmlElement(name = "vsysName")
|
||||
private String systemName;
|
||||
|
||||
@XmlElementWrapper(name = "products")
|
||||
@XmlElement(name = "product")
|
||||
private Set<Product> products = new LinkedHashSet<Product>();
|
||||
@XmlElementWrapper(name = "products")
|
||||
@XmlElement(name = "product")
|
||||
private Set<Product> products = new LinkedHashSet<Product>();
|
||||
|
||||
/**
|
||||
* @return the systemId
|
||||
*/
|
||||
public String getSystemId() {
|
||||
return systemId;
|
||||
}
|
||||
/**
|
||||
* @return the systemId
|
||||
*/
|
||||
public String getSystemId() {
|
||||
return systemId;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the systemName
|
||||
*/
|
||||
public String getSystemName() {
|
||||
return systemName;
|
||||
}
|
||||
/**
|
||||
* @return the systemName
|
||||
*/
|
||||
public String getSystemName() {
|
||||
return systemName;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the products
|
||||
*/
|
||||
public Set<Product> getProducts() {
|
||||
return products == null ? ImmutableSet.<Product> of() : ImmutableSet
|
||||
.copyOf(products);
|
||||
}
|
||||
/**
|
||||
* @return the products
|
||||
*/
|
||||
public Set<Product> getProducts() {
|
||||
return products == null ? ImmutableSet.<Product> of() : ImmutableSet
|
||||
.copyOf(products);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(systemId, systemName, products);
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(systemId, systemName, products);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
UsageInfo that = UsageInfo.class.cast(obj);
|
||||
return Objects.equal(this.systemId, that.systemId)
|
||||
&& Objects.equal(this.systemName, that.systemName)
|
||||
&& Objects.equal(this.products, that.products);
|
||||
}
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
UsageInfo that = UsageInfo.class.cast(obj);
|
||||
return Objects.equal(this.systemId, that.systemId)
|
||||
&& Objects.equal(this.systemName, that.systemName)
|
||||
&& Objects.equal(this.products, that.products);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues()
|
||||
.add("systemId", systemId).add("systemName", systemName)
|
||||
.add("products", products).toString();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues()
|
||||
.add("systemId", systemId).add("systemName", systemName)
|
||||
.add("products", products).toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,57 +30,57 @@ import com.google.common.base.Objects;
|
|||
*/
|
||||
@XmlRootElement(name = "vdisk")
|
||||
public class VDisk {
|
||||
@XmlElement(name = "diskId")
|
||||
private String id;
|
||||
@XmlElement(name = "diskName")
|
||||
private String name;
|
||||
@XmlElement(name = "attachedTo")
|
||||
private String attachedServer;
|
||||
private String creator;
|
||||
private double size;
|
||||
@XmlElement(name = "diskId")
|
||||
private String id;
|
||||
@XmlElement(name = "diskName")
|
||||
private String name;
|
||||
@XmlElement(name = "attachedTo")
|
||||
private String attachedServer;
|
||||
private String creator;
|
||||
private double size;
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public String getAttachedServer() {
|
||||
return attachedServer;
|
||||
}
|
||||
public String getAttachedServer() {
|
||||
return attachedServer;
|
||||
}
|
||||
|
||||
public String getCreator() {
|
||||
return creator;
|
||||
}
|
||||
public String getCreator() {
|
||||
return creator;
|
||||
}
|
||||
|
||||
public double getSize() {
|
||||
return size;
|
||||
}
|
||||
public double getSize() {
|
||||
return size;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(id);
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
VDisk that = VDisk.class.cast(obj);
|
||||
return Objects.equal(this.id, that.id);
|
||||
}
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
VDisk that = VDisk.class.cast(obj);
|
||||
return Objects.equal(this.id, that.id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues().add("id", id)
|
||||
.add("name", name).add("attachedServer", attachedServer)
|
||||
.add("creator", creator).add("size", size).toString();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues().add("id", id)
|
||||
.add("name", name).add("attachedServer", attachedServer)
|
||||
.add("creator", creator).add("size", size).toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -18,12 +18,12 @@
|
|||
*/
|
||||
package org.jclouds.fujitsu.fgcp.domain;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
|
||||
import com.google.common.base.CaseFormat;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
/**
|
||||
* Possible statuses of an attachable virtual disk.
|
||||
*
|
||||
|
@ -32,24 +32,24 @@ import static com.google.common.base.Preconditions.checkNotNull;
|
|||
@XmlRootElement(name = "vdiskStatus")
|
||||
public enum VDiskStatus {
|
||||
|
||||
NORMAL, BACKUP_ING, DEPLOYING, DETACHING, ATTACHING, RESTORING, ERROR, UNRECOGNIZED;
|
||||
NORMAL, BACKUP_ING, DEPLOYING, DETACHING, ATTACHING, RESTORING, ERROR, UNRECOGNIZED;
|
||||
|
||||
public String value() {
|
||||
return (CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, name()));
|
||||
}
|
||||
public String value() {
|
||||
return (CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, name()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return value();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return value();
|
||||
}
|
||||
|
||||
public static VDiskStatus fromValue(String status) {
|
||||
try {
|
||||
return valueOf(CaseFormat.UPPER_CAMEL
|
||||
.to(CaseFormat.UPPER_UNDERSCORE,
|
||||
checkNotNull(status, "status")));
|
||||
} catch (IllegalArgumentException e) {
|
||||
return UNRECOGNIZED;
|
||||
}
|
||||
}
|
||||
public static VDiskStatus fromValue(String status) {
|
||||
try {
|
||||
return valueOf(CaseFormat.UPPER_CAMEL
|
||||
.to(CaseFormat.UPPER_UNDERSCORE,
|
||||
checkNotNull(status, "status")));
|
||||
} catch (IllegalArgumentException e) {
|
||||
return UNRECOGNIZED;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -29,45 +29,45 @@ import com.google.common.base.Objects;
|
|||
*/
|
||||
@XmlRootElement(name = "vnic")
|
||||
public class VNIC {
|
||||
private String networkId;
|
||||
private String networkId;
|
||||
|
||||
private String privateIp;
|
||||
private String privateIp;
|
||||
|
||||
private int nicNo;
|
||||
private int nicNo;
|
||||
|
||||
public String getNetworkId() {
|
||||
return networkId;
|
||||
}
|
||||
public String getNetworkId() {
|
||||
return networkId;
|
||||
}
|
||||
|
||||
public String getPrivateIp() {
|
||||
return privateIp;
|
||||
}
|
||||
public String getPrivateIp() {
|
||||
return privateIp;
|
||||
}
|
||||
|
||||
public int getNicNo() {
|
||||
return nicNo;
|
||||
}
|
||||
public int getNicNo() {
|
||||
return nicNo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(networkId);
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(networkId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
VNIC that = VNIC.class.cast(obj);
|
||||
return Objects.equal(this.networkId, that.networkId);
|
||||
}
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
VNIC that = VNIC.class.cast(obj);
|
||||
return Objects.equal(this.networkId, that.networkId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues()
|
||||
.add("networkId", networkId).add("privateIp", privateIp)
|
||||
.add("nicNo", nicNo).toString();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues()
|
||||
.add("networkId", networkId).add("privateIp", privateIp)
|
||||
.add("nicNo", nicNo).toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,32 +30,32 @@ import com.google.common.base.Objects;
|
|||
@XmlRootElement(name = "vnet")
|
||||
public class VNet {
|
||||
|
||||
private String networkId;
|
||||
private String networkId;
|
||||
|
||||
public String getNetworkId() {
|
||||
return networkId;
|
||||
}
|
||||
public String getNetworkId() {
|
||||
return networkId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(networkId);
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(networkId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
VNet that = VNet.class.cast(obj);
|
||||
return Objects.equal(this.networkId, that.networkId);
|
||||
}
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
VNet that = VNet.class.cast(obj);
|
||||
return Objects.equal(this.networkId, that.networkId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).add("networkId", networkId)
|
||||
.toString();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).add("networkId", networkId)
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,57 +28,57 @@ import com.google.common.base.Objects;
|
|||
* @author Dies Koper
|
||||
*/
|
||||
public class VServer {
|
||||
@XmlElement(name = "vserverId")
|
||||
protected String id;
|
||||
@XmlElement(name = "vserverName")
|
||||
protected String name;
|
||||
@XmlElement(name = "vserverType")
|
||||
protected String type;
|
||||
protected String diskimageId;
|
||||
protected String creator;
|
||||
@XmlElement(name = "vserverId")
|
||||
protected String id;
|
||||
@XmlElement(name = "vserverName")
|
||||
protected String name;
|
||||
@XmlElement(name = "vserverType")
|
||||
protected String type;
|
||||
protected String diskimageId;
|
||||
protected String creator;
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public String getDiskimageId() {
|
||||
return diskimageId;
|
||||
}
|
||||
public String getDiskimageId() {
|
||||
return diskimageId;
|
||||
}
|
||||
|
||||
public String getCreator() {
|
||||
return creator;
|
||||
}
|
||||
public String getCreator() {
|
||||
return creator;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(id);
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
VServer that = VServer.class.cast(obj);
|
||||
return Objects.equal(this.id, that.id);
|
||||
}
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
VServer that = VServer.class.cast(obj);
|
||||
return Objects.equal(this.id, that.id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues().add("id", id)
|
||||
.add("name", name).add("type", type).add("creator", creator)
|
||||
.add("diskimageId", diskimageId).toString();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues().add("id", id)
|
||||
.add("name", name).add("type", type).add("creator", creator)
|
||||
.add("diskimageId", diskimageId).toString();
|
||||
}
|
||||
|
||||
}
|
|
@ -18,12 +18,12 @@
|
|||
*/
|
||||
package org.jclouds.fujitsu.fgcp.domain;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
|
||||
import com.google.common.base.CaseFormat;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
/**
|
||||
* Possible statuses of a virtual server.
|
||||
*
|
||||
|
@ -31,24 +31,24 @@ import static com.google.common.base.Preconditions.checkNotNull;
|
|||
*/
|
||||
@XmlRootElement(name = "vserverStatus")
|
||||
public enum VServerStatus {
|
||||
DEPLOYING, RUNNING, STOPPING, STOPPED, STARTING, FAILOVER, UNEXPECTED_STOP, RESTORING, BACKUP_ING, ERROR, START_ERROR, STOP_ERROR, CHANGE_TYPE, REGISTERING, UNRECOGNIZED;
|
||||
DEPLOYING, RUNNING, STOPPING, STOPPED, STARTING, FAILOVER, UNEXPECTED_STOP, RESTORING, BACKUP_ING, ERROR, START_ERROR, STOP_ERROR, CHANGE_TYPE, REGISTERING, UNRECOGNIZED;
|
||||
|
||||
public String value() {
|
||||
return (CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, name()));
|
||||
}
|
||||
public String value() {
|
||||
return (CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, name()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return value();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return value();
|
||||
}
|
||||
|
||||
public static VServerStatus fromValue(String status) {
|
||||
try {
|
||||
return valueOf(CaseFormat.UPPER_CAMEL
|
||||
.to(CaseFormat.UPPER_UNDERSCORE,
|
||||
checkNotNull(status, "status")));
|
||||
} catch (IllegalArgumentException e) {
|
||||
return UNRECOGNIZED;
|
||||
}
|
||||
}
|
||||
public static VServerStatus fromValue(String status) {
|
||||
try {
|
||||
return valueOf(CaseFormat.UPPER_CAMEL
|
||||
.to(CaseFormat.UPPER_UNDERSCORE,
|
||||
checkNotNull(status, "status")));
|
||||
} catch (IllegalArgumentException e) {
|
||||
return UNRECOGNIZED;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,25 +35,25 @@ import com.google.common.collect.ImmutableSet;
|
|||
*/
|
||||
@XmlRootElement(name = "vserver")
|
||||
public class VServerWithDetails extends VServerWithVNICs {
|
||||
@XmlElementWrapper(name = "vdisks")
|
||||
@XmlElement(name = "vdisk")
|
||||
protected Set<VDisk> vdisks = new LinkedHashSet<VDisk>();
|
||||
protected Image image;
|
||||
@XmlElementWrapper(name = "vdisks")
|
||||
@XmlElement(name = "vdisk")
|
||||
protected Set<VDisk> vdisks = new LinkedHashSet<VDisk>();
|
||||
protected Image image;
|
||||
|
||||
public Set<VDisk> getVdisks() {
|
||||
return vdisks == null ? ImmutableSet.<VDisk> of() : ImmutableSet
|
||||
.copyOf(vdisks);
|
||||
}
|
||||
public Set<VDisk> getVdisks() {
|
||||
return vdisks == null ? ImmutableSet.<VDisk> of() : ImmutableSet
|
||||
.copyOf(vdisks);
|
||||
}
|
||||
|
||||
public Image getImage() {
|
||||
return image;
|
||||
}
|
||||
public Image getImage() {
|
||||
return image;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues().add("id", id)
|
||||
.add("name", name).add("type", type).add("creator", creator)
|
||||
.add("diskimageId", diskimageId).add("vdisks", vdisks)
|
||||
.add("vnics", vnics).add("image", image).toString();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues().add("id", id)
|
||||
.add("name", name).add("type", type).add("creator", creator)
|
||||
.add("diskimageId", diskimageId).add("vdisks", vdisks)
|
||||
.add("vnics", vnics).add("image", image).toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,19 +11,19 @@ import com.google.common.collect.ImmutableSet;
|
|||
|
||||
public class VServerWithVNICs extends VServer {
|
||||
|
||||
@XmlElementWrapper(name = "vnics")
|
||||
@XmlElement(name = "vnic")
|
||||
protected Set<VNIC> vnics = new LinkedHashSet<VNIC>();
|
||||
@XmlElementWrapper(name = "vnics")
|
||||
@XmlElement(name = "vnic")
|
||||
protected Set<VNIC> vnics = new LinkedHashSet<VNIC>();
|
||||
|
||||
public Set<VNIC> getVnics() {
|
||||
return vnics == null ? ImmutableSet.<VNIC> of() : ImmutableSet
|
||||
.copyOf(vnics);
|
||||
}
|
||||
public Set<VNIC> getVnics() {
|
||||
return vnics == null ? ImmutableSet.<VNIC> of() : ImmutableSet
|
||||
.copyOf(vnics);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues().add("id", id)
|
||||
.add("name", name).add("type", type).add("creator", creator)
|
||||
.add("diskimageId", diskimageId).add("vnics", vnics).toString();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues().add("id", id)
|
||||
.add("name", name).add("type", type).add("creator", creator)
|
||||
.add("diskimageId", diskimageId).add("vnics", vnics).toString();
|
||||
}
|
||||
}
|
|
@ -28,57 +28,57 @@ import com.google.common.base.Objects;
|
|||
* @author Dies Koper
|
||||
*/
|
||||
public class VSystem {
|
||||
@XmlElement(name = "vsysId")
|
||||
protected String id;
|
||||
@XmlElement(name = "vsysName")
|
||||
protected String name;
|
||||
protected String creator;
|
||||
@XmlElement(name = "baseDescriptor")
|
||||
protected String template;
|
||||
protected String description;
|
||||
@XmlElement(name = "vsysId")
|
||||
protected String id;
|
||||
@XmlElement(name = "vsysName")
|
||||
protected String name;
|
||||
protected String creator;
|
||||
@XmlElement(name = "baseDescriptor")
|
||||
protected String template;
|
||||
protected String description;
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public String getCreator() {
|
||||
return creator;
|
||||
}
|
||||
public String getCreator() {
|
||||
return creator;
|
||||
}
|
||||
|
||||
public String getTemplate() {
|
||||
return template;
|
||||
}
|
||||
public String getTemplate() {
|
||||
return template;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(id);
|
||||
}
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
VSystem that = VSystem.class.cast(obj);
|
||||
return Objects.equal(this.id, that.id);
|
||||
}
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
VSystem that = VSystem.class.cast(obj);
|
||||
return Objects.equal(this.id, that.id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues().add("id", id)
|
||||
.add("name", name).add("creator", creator)
|
||||
.add("template", template).add("description", description)
|
||||
.toString();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues().add("id", id)
|
||||
.add("name", name).add("creator", creator)
|
||||
.add("template", template).add("description", description)
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -34,71 +34,71 @@ import com.google.common.collect.ImmutableSet;
|
|||
*/
|
||||
@XmlRootElement(name = "vsysdescriptor")
|
||||
public class VSystemDescriptor {
|
||||
@XmlElement(name = "vsysdescriptorId")
|
||||
private String id;
|
||||
@XmlElement(name = "vsysdescriptorId")
|
||||
private String id;
|
||||
|
||||
@XmlElement(name = "vsysdescriptorName")
|
||||
private String name;
|
||||
@XmlElement(name = "vsysdescriptorName")
|
||||
private String name;
|
||||
|
||||
private String creatorName;
|
||||
private String creatorName;
|
||||
|
||||
private String registrant;
|
||||
private String registrant;
|
||||
|
||||
private String description;
|
||||
private String description;
|
||||
|
||||
private String keyword;
|
||||
private String keyword;
|
||||
|
||||
@XmlElementWrapper(name = "vservers")
|
||||
@XmlElement(name = "vserver")
|
||||
private Set<VServerWithDetails> servers = new LinkedHashSet<VServerWithDetails>();
|
||||
@XmlElementWrapper(name = "vservers")
|
||||
@XmlElement(name = "vserver")
|
||||
private Set<VServerWithDetails> servers = new LinkedHashSet<VServerWithDetails>();
|
||||
|
||||
/**
|
||||
* @return the id
|
||||
*/
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
/**
|
||||
* @return the id
|
||||
*/
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the name
|
||||
*/
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
/**
|
||||
* @return the name
|
||||
*/
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the creatorName
|
||||
*/
|
||||
public String getCreatorName() {
|
||||
return creatorName;
|
||||
}
|
||||
/**
|
||||
* @return the creatorName
|
||||
*/
|
||||
public String getCreatorName() {
|
||||
return creatorName;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the registrant
|
||||
*/
|
||||
public String getRegistrant() {
|
||||
return registrant;
|
||||
}
|
||||
/**
|
||||
* @return the registrant
|
||||
*/
|
||||
public String getRegistrant() {
|
||||
return registrant;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the description
|
||||
*/
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
/**
|
||||
* @return the description
|
||||
*/
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the keyword
|
||||
*/
|
||||
public String getKeyword() {
|
||||
return keyword;
|
||||
}
|
||||
/**
|
||||
* @return the keyword
|
||||
*/
|
||||
public String getKeyword() {
|
||||
return keyword;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the servers
|
||||
*/
|
||||
public Set<VServerWithDetails> getServers() {
|
||||
return servers == null ? ImmutableSet.<VServerWithDetails> of()
|
||||
: ImmutableSet.copyOf(servers);
|
||||
}
|
||||
/**
|
||||
* @return the servers
|
||||
*/
|
||||
public Set<VServerWithDetails> getServers() {
|
||||
return servers == null ? ImmutableSet.<VServerWithDetails> of()
|
||||
: ImmutableSet.copyOf(servers);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,12 +18,12 @@
|
|||
*/
|
||||
package org.jclouds.fujitsu.fgcp.domain;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
|
||||
import com.google.common.base.CaseFormat;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
/**
|
||||
* Possible statuses of a virtual system.
|
||||
*
|
||||
|
@ -31,24 +31,24 @@ import static com.google.common.base.Preconditions.checkNotNull;
|
|||
*/
|
||||
@XmlRootElement(name = "vsysStatus")
|
||||
public enum VSystemStatus {
|
||||
NORMAL, RECONFIG_ING, DEPLOYING, ERROR, UNRECOGNIZED;
|
||||
NORMAL, RECONFIG_ING, DEPLOYING, ERROR, UNRECOGNIZED;
|
||||
|
||||
public String value() {
|
||||
return (CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, name()));
|
||||
}
|
||||
public String value() {
|
||||
return (CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, name()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return value();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return value();
|
||||
}
|
||||
|
||||
public static VSystemStatus fromValue(String status) {
|
||||
try {
|
||||
return valueOf(CaseFormat.UPPER_CAMEL
|
||||
.to(CaseFormat.UPPER_UNDERSCORE,
|
||||
checkNotNull(status, "status")));
|
||||
} catch (IllegalArgumentException e) {
|
||||
return UNRECOGNIZED;
|
||||
}
|
||||
}
|
||||
public static VSystemStatus fromValue(String status) {
|
||||
try {
|
||||
return valueOf(CaseFormat.UPPER_CAMEL
|
||||
.to(CaseFormat.UPPER_UNDERSCORE,
|
||||
checkNotNull(status, "status")));
|
||||
} catch (IllegalArgumentException e) {
|
||||
return UNRECOGNIZED;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,45 +36,45 @@ import com.google.common.collect.ImmutableSet;
|
|||
*/
|
||||
@XmlRootElement(name = "vsys")
|
||||
public class VSystemWithDetails extends VSystem {
|
||||
@XmlElementWrapper(name = "vservers")
|
||||
@XmlElement(name = "vserver")
|
||||
private Set<VServerWithVNICs> servers = new LinkedHashSet<VServerWithVNICs>();
|
||||
@XmlElementWrapper(name = "vdisks")
|
||||
@XmlElement(name = "vdisk")
|
||||
private Set<VDisk> disks = new LinkedHashSet<VDisk>();
|
||||
@XmlElementWrapper(name = "publicips")
|
||||
@XmlElement(name = "publicip")
|
||||
private Set<PublicIP> publicips = new LinkedHashSet<PublicIP>();
|
||||
@XmlElementWrapper(name = "vnets")
|
||||
@XmlElement(name = "vnet")
|
||||
private Set<VNet> networks = new LinkedHashSet<VNet>();
|
||||
@XmlElementWrapper(name = "vservers")
|
||||
@XmlElement(name = "vserver")
|
||||
private Set<VServerWithVNICs> servers = new LinkedHashSet<VServerWithVNICs>();
|
||||
@XmlElementWrapper(name = "vdisks")
|
||||
@XmlElement(name = "vdisk")
|
||||
private Set<VDisk> disks = new LinkedHashSet<VDisk>();
|
||||
@XmlElementWrapper(name = "publicips")
|
||||
@XmlElement(name = "publicip")
|
||||
private Set<PublicIP> publicips = new LinkedHashSet<PublicIP>();
|
||||
@XmlElementWrapper(name = "vnets")
|
||||
@XmlElement(name = "vnet")
|
||||
private Set<VNet> networks = new LinkedHashSet<VNet>();
|
||||
|
||||
public Set<VServerWithVNICs> getServers() {
|
||||
return servers == null ? ImmutableSet.<VServerWithVNICs> of() : ImmutableSet
|
||||
.copyOf(servers);
|
||||
}
|
||||
public Set<VServerWithVNICs> getServers() {
|
||||
return servers == null ? ImmutableSet.<VServerWithVNICs> of() : ImmutableSet
|
||||
.copyOf(servers);
|
||||
}
|
||||
|
||||
public Set<VDisk> getDisks() {
|
||||
return disks == null ? ImmutableSet.<VDisk> of() : ImmutableSet
|
||||
.copyOf(disks);
|
||||
}
|
||||
public Set<VDisk> getDisks() {
|
||||
return disks == null ? ImmutableSet.<VDisk> of() : ImmutableSet
|
||||
.copyOf(disks);
|
||||
}
|
||||
|
||||
public Set<PublicIP> getPublicips() {
|
||||
return publicips == null ? ImmutableSet.<PublicIP> of() : ImmutableSet
|
||||
.copyOf(publicips);
|
||||
}
|
||||
public Set<PublicIP> getPublicips() {
|
||||
return publicips == null ? ImmutableSet.<PublicIP> of() : ImmutableSet
|
||||
.copyOf(publicips);
|
||||
}
|
||||
|
||||
public Set<VNet> getNetworks() {
|
||||
return networks == null ? ImmutableSet.<VNet> of() : ImmutableSet
|
||||
.copyOf(networks);
|
||||
}
|
||||
public Set<VNet> getNetworks() {
|
||||
return networks == null ? ImmutableSet.<VNet> of() : ImmutableSet
|
||||
.copyOf(networks);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues().add("id", id)
|
||||
.add("name", name).add("creator", creator)
|
||||
.add("template", template).add("description", description)
|
||||
.add("disks", disks).add("networks", networks)
|
||||
.add("publicips", publicips).add("servers", servers).toString();
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return Objects.toStringHelper(this).omitNullValues().add("id", id)
|
||||
.add("name", name).add("creator", creator)
|
||||
.add("template", template).add("description", description)
|
||||
.add("disks", disks).add("networks", networks)
|
||||
.add("publicips", publicips).add("servers", servers).toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
package org.jclouds.fujitsu.fgcp.domain;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlSchema;
|
||||
|
||||
|
|
|
@ -42,7 +42,6 @@ import javax.ws.rs.core.MediaType;
|
|||
import javax.ws.rs.core.UriBuilder;
|
||||
|
||||
import org.jclouds.Constants;
|
||||
import org.jclouds.crypto.CryptoStreams;
|
||||
import org.jclouds.date.TimeStamp;
|
||||
import org.jclouds.encryption.internal.Base64;
|
||||
import org.jclouds.fujitsu.fgcp.reference.RequestParameters;
|
||||
|
@ -69,174 +68,174 @@ import com.google.common.collect.Multimap;
|
|||
@Singleton
|
||||
public class RequestAuthenticator implements HttpRequestFilter, RequestSigner {
|
||||
|
||||
@Resource
|
||||
@Named(Constants.LOGGER_SIGNATURE)
|
||||
private Logger signatureLog = Logger.NULL;
|
||||
@Resource
|
||||
@Named(Constants.LOGGER_SIGNATURE)
|
||||
private Logger signatureLog = Logger.NULL;
|
||||
|
||||
final Provider<Calendar> calendarProvider;
|
||||
final Signature signer;
|
||||
final Provider<UriBuilder> builder;
|
||||
final String apiVersion;
|
||||
final Provider<Calendar> calendarProvider;
|
||||
final Signature signer;
|
||||
final Provider<UriBuilder> builder;
|
||||
final String apiVersion;
|
||||
|
||||
public String signatureVersion = "1.0";
|
||||
public String signatureMethod = "SHA1withRSA";
|
||||
public String signatureVersion = "1.0";
|
||||
public String signatureMethod = "SHA1withRSA";
|
||||
|
||||
private HttpUtils utils;
|
||||
private HttpUtils utils;
|
||||
|
||||
@Inject
|
||||
public RequestAuthenticator(@TimeStamp Provider<Calendar> calendarProvider,
|
||||
Provider<KeyStore> keyStoreProvider,
|
||||
@Credential String keyPassword, Provider<UriBuilder> builder,
|
||||
HttpUtils utils, SignatureWire signatureWire,
|
||||
@ApiVersion String apiVersion) throws NoSuchAlgorithmException,
|
||||
InvalidKeyException, KeyStoreException, UnrecoverableKeyException {
|
||||
this.calendarProvider = checkNotNull(calendarProvider);
|
||||
this.builder = checkNotNull(builder);
|
||||
this.utils = checkNotNull(utils, "utils");
|
||||
this.apiVersion = checkNotNull(apiVersion, "apiVersion");
|
||||
@Inject
|
||||
public RequestAuthenticator(@TimeStamp Provider<Calendar> calendarProvider,
|
||||
Provider<KeyStore> keyStoreProvider,
|
||||
@Credential String keyPassword, Provider<UriBuilder> builder,
|
||||
HttpUtils utils, SignatureWire signatureWire,
|
||||
@ApiVersion String apiVersion) throws NoSuchAlgorithmException,
|
||||
InvalidKeyException, KeyStoreException, UnrecoverableKeyException {
|
||||
this.calendarProvider = checkNotNull(calendarProvider);
|
||||
this.builder = checkNotNull(builder);
|
||||
this.utils = checkNotNull(utils, "utils");
|
||||
this.apiVersion = checkNotNull(apiVersion, "apiVersion");
|
||||
|
||||
signer = Signature.getInstance(signatureMethod);
|
||||
signer = Signature.getInstance(signatureMethod);
|
||||
|
||||
KeyStore keyStore = checkNotNull(keyStoreProvider).get();
|
||||
String alias = keyStore.aliases().nextElement(); // there should be only
|
||||
// one private key
|
||||
PrivateKey privateKey = (PrivateKey) keyStore.getKey(alias,
|
||||
keyPassword.toCharArray());
|
||||
KeyStore keyStore = checkNotNull(keyStoreProvider).get();
|
||||
String alias = keyStore.aliases().nextElement(); // there should be only
|
||||
// one private key
|
||||
PrivateKey privateKey = (PrivateKey) keyStore.getKey(alias,
|
||||
keyPassword.toCharArray());
|
||||
|
||||
signer.initSign(privateKey);
|
||||
}
|
||||
signer.initSign(privateKey);
|
||||
}
|
||||
|
||||
public HttpRequest filter(HttpRequest request) throws HttpException {
|
||||
checkNotNull(request, "request must be present");
|
||||
public HttpRequest filter(HttpRequest request) throws HttpException {
|
||||
checkNotNull(request, "request must be present");
|
||||
|
||||
utils.logRequest(signatureLog, request, ">>");
|
||||
utils.logRequest(signatureLog, request, ">>");
|
||||
|
||||
// create accesskeyid
|
||||
String accessKeyId = createStringToSign(request);
|
||||
String signature = sign(accessKeyId);
|
||||
// create accesskeyid
|
||||
String accessKeyId = createStringToSign(request);
|
||||
String signature = sign(accessKeyId);
|
||||
|
||||
// leaving this in for now for reference in case I need it for multipart
|
||||
// POSTs
|
||||
// add parameters. Note that in case of a GET, url escaping is required
|
||||
/*
|
||||
* Multimap<String, String> decodedParams = null; if
|
||||
* (HttpMethod.GET.equals(request.getMethod())) { decodedParams =
|
||||
* ModifyRequest.parseQueryToMap(request.getEndpoint().getRawQuery());
|
||||
*
|
||||
* } else if (HttpMethod.POST.equals(request.getMethod())) {
|
||||
* decodedParams =
|
||||
* ModifyRequest.parseQueryToMap(request.getPayload().getRawContent()
|
||||
* .toString()); }
|
||||
*
|
||||
* checkNotNull(decodedParams, "no query params found");
|
||||
* System.out.println("filter: request params before: " +
|
||||
* decodedParams.toString()); addAuthenticationParams(decodedParams,
|
||||
* accessKeyId, signature); addLocaleParam(decodedParams);
|
||||
* System.out.println("filter: request params after : " +
|
||||
* decodedParams.toString()); if (signatureWire.enabled())
|
||||
* signatureWire.output(decodedParams);
|
||||
*
|
||||
*
|
||||
* request = setPayload(request, decodedParams);
|
||||
*/
|
||||
// only "en" and "ja" are allowed
|
||||
String lang = Locale.JAPANESE.getLanguage().equals(
|
||||
Locale.getDefault().getLanguage()) ? Locale.JAPANESE
|
||||
.getLanguage() : Locale.ENGLISH.getLanguage();
|
||||
// leaving this in for now for reference in case I need it for multipart
|
||||
// POSTs
|
||||
// add parameters. Note that in case of a GET, url escaping is required
|
||||
/*
|
||||
* Multimap<String, String> decodedParams = null; if
|
||||
* (HttpMethod.GET.equals(request.getMethod())) { decodedParams =
|
||||
* ModifyRequest.parseQueryToMap(request.getEndpoint().getRawQuery());
|
||||
*
|
||||
* } else if (HttpMethod.POST.equals(request.getMethod())) {
|
||||
* decodedParams =
|
||||
* ModifyRequest.parseQueryToMap(request.getPayload().getRawContent()
|
||||
* .toString()); }
|
||||
*
|
||||
* checkNotNull(decodedParams, "no query params found");
|
||||
* System.out.println("filter: request params before: " +
|
||||
* decodedParams.toString()); addAuthenticationParams(decodedParams,
|
||||
* accessKeyId, signature); addLocaleParam(decodedParams);
|
||||
* System.out.println("filter: request params after : " +
|
||||
* decodedParams.toString()); if (signatureWire.enabled())
|
||||
* signatureWire.output(decodedParams);
|
||||
*
|
||||
*
|
||||
* request = setPayload(request, decodedParams);
|
||||
*/
|
||||
// only "en" and "ja" are allowed
|
||||
String lang = Locale.JAPANESE.getLanguage().equals(
|
||||
Locale.getDefault().getLanguage()) ? Locale.JAPANESE
|
||||
.getLanguage() : Locale.ENGLISH.getLanguage();
|
||||
|
||||
if (HttpMethod.GET.equals(request.getMethod())) {
|
||||
Multimap<String, String> decodedParams = Queries
|
||||
.parseQueryToMap(request.getEndpoint().getRawQuery());
|
||||
if (HttpMethod.GET.equals(request.getMethod())) {
|
||||
Multimap<String, String> decodedParams = Queries
|
||||
.parseQueryToMap(request.getEndpoint().getRawQuery());
|
||||
|
||||
if (!decodedParams.containsKey(RequestParameters.VERSION)) {
|
||||
decodedParams.put(RequestParameters.VERSION, apiVersion);
|
||||
}
|
||||
decodedParams.put(RequestParameters.LOCALE, lang);
|
||||
decodedParams.put(RequestParameters.ACCESS_KEY_ID, accessKeyId);
|
||||
decodedParams.put(RequestParameters.SIGNATURE, signature);
|
||||
request = request.toBuilder().replaceQueryParams(decodedParams)
|
||||
.build();
|
||||
} else {
|
||||
if (!decodedParams.containsKey(RequestParameters.VERSION)) {
|
||||
decodedParams.put(RequestParameters.VERSION, apiVersion);
|
||||
}
|
||||
decodedParams.put(RequestParameters.LOCALE, lang);
|
||||
decodedParams.put(RequestParameters.ACCESS_KEY_ID, accessKeyId);
|
||||
decodedParams.put(RequestParameters.SIGNATURE, signature);
|
||||
request = request.toBuilder().replaceQueryParams(decodedParams)
|
||||
.build();
|
||||
} else {
|
||||
|
||||
String payload = request.getPayload().getRawContent().toString();
|
||||
payload = createXmlElementWithValue(payload,
|
||||
RequestParameters.VERSION, apiVersion);
|
||||
payload = createXmlElementWithValue(payload,
|
||||
RequestParameters.LOCALE, lang);
|
||||
payload = createXmlElementWithValue(payload,
|
||||
RequestParameters.ACCESS_KEY_ID, accessKeyId);
|
||||
payload = createXmlElementWithValue(payload,
|
||||
RequestParameters.SIGNATURE, signature);
|
||||
String payload = request.getPayload().getRawContent().toString();
|
||||
payload = createXmlElementWithValue(payload,
|
||||
RequestParameters.VERSION, apiVersion);
|
||||
payload = createXmlElementWithValue(payload,
|
||||
RequestParameters.LOCALE, lang);
|
||||
payload = createXmlElementWithValue(payload,
|
||||
RequestParameters.ACCESS_KEY_ID, accessKeyId);
|
||||
payload = createXmlElementWithValue(payload,
|
||||
RequestParameters.SIGNATURE, signature);
|
||||
|
||||
// ensure there are no other query params left
|
||||
request.setPayload(payload);
|
||||
request.getPayload().getContentMetadata()
|
||||
.setContentType(MediaType.TEXT_XML);
|
||||
}
|
||||
// ensure there are no other query params left
|
||||
request.setPayload(payload);
|
||||
request.getPayload().getContentMetadata()
|
||||
.setContentType(MediaType.TEXT_XML);
|
||||
}
|
||||
|
||||
// may need to do this elsewhere (see ConvertToGaeRequest)
|
||||
HttpRequest filteredRequest = request.toBuilder()
|
||||
.replaceHeader(HttpHeaders.USER_AGENT, "OViSS-API-CLIENT")
|
||||
.build();
|
||||
// may need to do this elsewhere (see ConvertToGaeRequest)
|
||||
HttpRequest filteredRequest = request.toBuilder()
|
||||
.replaceHeader(HttpHeaders.USER_AGENT, "OViSS-API-CLIENT")
|
||||
.build();
|
||||
|
||||
utils.logRequest(signatureLog, filteredRequest, ">>->");
|
||||
utils.logRequest(signatureLog, filteredRequest, ">>->");
|
||||
|
||||
return filteredRequest;
|
||||
}
|
||||
return filteredRequest;
|
||||
}
|
||||
|
||||
String createXmlElementWithValue(String payload, String tag, String value) {
|
||||
String startTag = String.format("<%s>", tag);
|
||||
String endTag = String.format("</%s>", tag);
|
||||
String createXmlElementWithValue(String payload, String tag, String value) {
|
||||
String startTag = String.format("<%s>", tag);
|
||||
String endTag = String.format("</%s>", tag);
|
||||
|
||||
return payload.replace(startTag + endTag, startTag + value + endTag);
|
||||
}
|
||||
return payload.replace(startTag + endTag, startTag + value + endTag);
|
||||
}
|
||||
|
||||
/*
|
||||
* HttpRequest setPayload(HttpRequest request, Multimap<String, String>
|
||||
* decodedParams) {
|
||||
* request.setPayload(ModifyRequest.makeQueryLine(decodedParams, null)); //
|
||||
* request.getPayload().getContentMetadata().setContentType(
|
||||
* "application/x-www-form-urlencoded"); return request; }
|
||||
*/
|
||||
/*
|
||||
* HttpRequest setPayload(HttpRequest request, Multimap<String, String>
|
||||
* decodedParams) {
|
||||
* request.setPayload(ModifyRequest.makeQueryLine(decodedParams, null)); //
|
||||
* request.getPayload().getContentMetadata().setContentType(
|
||||
* "application/x-www-form-urlencoded"); return request; }
|
||||
*/
|
||||
|
||||
@VisibleForTesting
|
||||
public String sign(String stringToSign) {
|
||||
String signed;
|
||||
@VisibleForTesting
|
||||
public String sign(String stringToSign) {
|
||||
String signed;
|
||||
|
||||
try {
|
||||
signer.update(stringToSign.getBytes("UTF-8"));
|
||||
signed = Base64.encodeBytes(signer.sign()).replace("\n", "\r\n");
|
||||
// signed = CryptoStreams.base64(signer.sign());
|
||||
} catch (Exception e) {
|
||||
throw new HttpException("error signing request", e);
|
||||
}
|
||||
// if (signatureWire.enabled())
|
||||
// signatureWire.input(Strings2.toInputStream(signed));
|
||||
try {
|
||||
signer.update(stringToSign.getBytes("UTF-8"));
|
||||
signed = Base64.encodeBytes(signer.sign()).replace("\n", "\r\n");
|
||||
// signed = CryptoStreams.base64(signer.sign());
|
||||
} catch (Exception e) {
|
||||
throw new HttpException("error signing request", e);
|
||||
}
|
||||
// if (signatureWire.enabled())
|
||||
// signatureWire.input(Strings2.toInputStream(signed));
|
||||
|
||||
return signed;
|
||||
}
|
||||
return signed;
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
public String generateAccessKeyId() {
|
||||
Calendar cal = calendarProvider.get();
|
||||
String timezone = cal.getTimeZone().getDisplayName(Locale.ENGLISH);
|
||||
String expires = String.valueOf(cal.getTime().getTime());
|
||||
@VisibleForTesting
|
||||
public String generateAccessKeyId() {
|
||||
Calendar cal = calendarProvider.get();
|
||||
String timezone = cal.getTimeZone().getDisplayName(Locale.ENGLISH);
|
||||
String expires = String.valueOf(cal.getTime().getTime());
|
||||
|
||||
String signatureData = String.format("%s&%s&%s&%s", timezone, expires,
|
||||
signatureVersion, signatureMethod);
|
||||
try {
|
||||
String accessKeyId = Base64.encodeBytes(signatureData.getBytes("UTF-8"));
|
||||
return accessKeyId.replace("\n", "\r\n");
|
||||
// return CryptoStreams.base64(signatureData.getBytes("UTF-8")).;
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
throw new RuntimeException(e); // should never happen as
|
||||
// signatureData contains only ASCII
|
||||
}
|
||||
}
|
||||
String signatureData = String.format("%s&%s&%s&%s", timezone, expires,
|
||||
signatureVersion, signatureMethod);
|
||||
try {
|
||||
String accessKeyId = Base64.encodeBytes(signatureData.getBytes("UTF-8"));
|
||||
return accessKeyId.replace("\n", "\r\n");
|
||||
// return CryptoStreams.base64(signatureData.getBytes("UTF-8")).;
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
throw new RuntimeException(e); // should never happen as
|
||||
// signatureData contains only ASCII
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String createStringToSign(HttpRequest input) {
|
||||
return generateAccessKeyId();
|
||||
}
|
||||
@Override
|
||||
public String createStringToSign(HttpRequest input) {
|
||||
return generateAccessKeyId();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -18,13 +18,14 @@
|
|||
*/
|
||||
package org.jclouds.fujitsu.fgcp.handlers;
|
||||
|
||||
import com.google.inject.Singleton;
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.jclouds.http.HttpCommand;
|
||||
import org.jclouds.http.HttpResponse;
|
||||
import org.jclouds.http.HttpRetryHandler;
|
||||
import org.jclouds.logging.Logger;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import com.google.inject.Singleton;
|
||||
|
||||
/**
|
||||
* Created by IntelliJ IDEA.
|
||||
|
@ -33,15 +34,15 @@ import javax.annotation.Resource;
|
|||
*/
|
||||
@Singleton
|
||||
public class FGCPRetryIfNotProxyAuthenticationFailureHandler implements
|
||||
HttpRetryHandler {
|
||||
@Resource
|
||||
protected Logger logger = Logger.NULL;
|
||||
HttpRetryHandler {
|
||||
@Resource
|
||||
protected Logger logger = Logger.NULL;
|
||||
|
||||
@Override
|
||||
public boolean shouldRetryRequest(HttpCommand command, HttpResponse response) {
|
||||
int statusCode = response.getStatusCode();
|
||||
System.out.println("Response status code: " + statusCode);
|
||||
logger.error("StatusCode", statusCode);
|
||||
return true;
|
||||
}
|
||||
@Override
|
||||
public boolean shouldRetryRequest(HttpCommand command, HttpResponse response) {
|
||||
int statusCode = response.getStatusCode();
|
||||
System.out.println("Response status code: " + statusCode);
|
||||
logger.error("StatusCode", statusCode);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -45,27 +45,27 @@ import com.google.common.base.Supplier;
|
|||
*/
|
||||
@Singleton
|
||||
public class SSLContextWithKeysSupplier implements Supplier<SSLContext> {
|
||||
private SSLContext sc;
|
||||
private SSLContext sc;
|
||||
|
||||
@Inject
|
||||
SSLContextWithKeysSupplier(KeyStore keyStore,
|
||||
@Credential String keyStorePassword, HttpUtils utils,
|
||||
TrustAllCerts trustAllCerts) throws NoSuchAlgorithmException,
|
||||
KeyStoreException, UnrecoverableKeyException,
|
||||
KeyManagementException {
|
||||
@Inject
|
||||
SSLContextWithKeysSupplier(KeyStore keyStore,
|
||||
@Credential String keyStorePassword, HttpUtils utils,
|
||||
TrustAllCerts trustAllCerts) throws NoSuchAlgorithmException,
|
||||
KeyStoreException, UnrecoverableKeyException,
|
||||
KeyManagementException {
|
||||
|
||||
TrustManager[] trustManager = null;
|
||||
if (utils.trustAllCerts()) {
|
||||
trustManager = new TrustManager[] { trustAllCerts };
|
||||
}
|
||||
KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
|
||||
kmf.init(keyStore, keyStorePassword.toCharArray());
|
||||
sc = SSLContext.getInstance("TLS");
|
||||
sc.init(kmf.getKeyManagers(), trustManager, new SecureRandom());
|
||||
}
|
||||
TrustManager[] trustManager = null;
|
||||
if (utils.trustAllCerts()) {
|
||||
trustManager = new TrustManager[] { trustAllCerts };
|
||||
}
|
||||
KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
|
||||
kmf.init(keyStore, keyStorePassword.toCharArray());
|
||||
sc = SSLContext.getInstance("TLS");
|
||||
sc.init(kmf.getKeyManagers(), trustManager, new SecureRandom());
|
||||
}
|
||||
|
||||
@Override
|
||||
public SSLContext get() {
|
||||
return sc;
|
||||
}
|
||||
@Override
|
||||
public SSLContext get() {
|
||||
return sc;
|
||||
}
|
||||
}
|
|
@ -66,55 +66,55 @@ import com.google.common.util.concurrent.ListenableFuture;
|
|||
*/
|
||||
@Singleton
|
||||
public class SystemAndNetworkSegmentToLocationSupplier implements
|
||||
LocationsSupplier {
|
||||
LocationsSupplier {
|
||||
|
||||
private final RegionToProviderOrJustProvider regionProvider;
|
||||
private FGCPAsyncApi api;
|
||||
private final RegionToProviderOrJustProvider regionProvider;
|
||||
private FGCPAsyncApi api;
|
||||
|
||||
@Inject
|
||||
SystemAndNetworkSegmentToLocationSupplier(
|
||||
RegionToProviderOrJustProvider regionProvider, FGCPAsyncApi api) {
|
||||
this.regionProvider = checkNotNull(regionProvider,
|
||||
"regionToProviderOrJustProvider");
|
||||
this.api = checkNotNull(api, "api");
|
||||
}
|
||||
@Inject
|
||||
SystemAndNetworkSegmentToLocationSupplier(
|
||||
RegionToProviderOrJustProvider regionProvider, FGCPAsyncApi api) {
|
||||
this.regionProvider = checkNotNull(regionProvider,
|
||||
"regionToProviderOrJustProvider");
|
||||
this.api = checkNotNull(api, "api");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<Location> get() {
|
||||
Builder<Location> locations = ImmutableSet.builder();
|
||||
try {
|
||||
List<ListenableFuture<VSystemWithDetails>> futures = new ArrayList<ListenableFuture<VSystemWithDetails>>();
|
||||
for (VSystem system : api.getVirtualDCApi().listVirtualSystems()
|
||||
.get()) {
|
||||
@Override
|
||||
public Set<Location> get() {
|
||||
Builder<Location> locations = ImmutableSet.builder();
|
||||
try {
|
||||
List<ListenableFuture<VSystemWithDetails>> futures = new ArrayList<ListenableFuture<VSystemWithDetails>>();
|
||||
for (VSystem system : api.getVirtualDCApi().listVirtualSystems()
|
||||
.get()) {
|
||||
|
||||
futures.add(api.getVirtualSystemApi()
|
||||
.getDetails(system.getId()));
|
||||
futures.add(api.getVirtualSystemApi()
|
||||
.getDetails(system.getId()));
|
||||
}
|
||||
for (VSystemWithDetails system : Futures.successfulAsList(futures)
|
||||
.get()) {
|
||||
|
||||
Location systemLocation = new LocationBuilder()
|
||||
.scope(LocationScope.SYSTEM)
|
||||
.parent(Iterables.getOnlyElement(regionProvider.get()))
|
||||
.description(system.getName()).id(system.getId())
|
||||
.build();
|
||||
|
||||
for (VNet net : system.getNetworks()) {
|
||||
|
||||
locations.add(new LocationBuilder()
|
||||
.scope(LocationScope.NETWORK)
|
||||
.parent(systemLocation)
|
||||
.description(
|
||||
net.getNetworkId().replaceFirst(
|
||||
".+(DMZ|SECURE.)", "\\1"))
|
||||
.id(net.getNetworkId()).build());
|
||||
}
|
||||
for (VSystemWithDetails system : Futures.successfulAsList(futures)
|
||||
.get()) {
|
||||
|
||||
Location systemLocation = new LocationBuilder()
|
||||
.scope(LocationScope.SYSTEM)
|
||||
.parent(Iterables.getOnlyElement(regionProvider.get()))
|
||||
.description(system.getName()).id(system.getId())
|
||||
.build();
|
||||
|
||||
for (VNet net : system.getNetworks()) {
|
||||
|
||||
locations.add(new LocationBuilder()
|
||||
.scope(LocationScope.NETWORK)
|
||||
.parent(systemLocation)
|
||||
.description(
|
||||
net.getNetworkId().replaceFirst(
|
||||
".+(DMZ|SECURE.)", "\\1"))
|
||||
.id(net.getNetworkId()).build());
|
||||
}
|
||||
}
|
||||
} catch (InterruptedException e) {
|
||||
throw Throwables.propagate(e);
|
||||
} catch (ExecutionException e) {
|
||||
throw Throwables.propagate(e);
|
||||
}
|
||||
return locations.build();
|
||||
}
|
||||
}
|
||||
} catch (InterruptedException e) {
|
||||
throw Throwables.propagate(e);
|
||||
} catch (ExecutionException e) {
|
||||
throw Throwables.propagate(e);
|
||||
}
|
||||
return locations.build();
|
||||
}
|
||||
}
|
|
@ -25,57 +25,57 @@ package org.jclouds.fujitsu.fgcp.reference;
|
|||
*/
|
||||
public interface RequestParameters {
|
||||
|
||||
/**
|
||||
* Indicates the action to perform. Example: ListVSYS
|
||||
*/
|
||||
public static final String ACTION = "Action";
|
||||
/**
|
||||
* Indicates the action to perform. Example: ListVSYS
|
||||
*/
|
||||
public static final String ACTION = "Action";
|
||||
|
||||
/**
|
||||
* The API version to use. Example: 2011-01-31
|
||||
*/
|
||||
public static final String VERSION = "Version";
|
||||
/**
|
||||
* The API version to use. Example: 2011-01-31
|
||||
*/
|
||||
public static final String VERSION = "Version";
|
||||
|
||||
/**
|
||||
* The locale to use. Example: en
|
||||
*/
|
||||
public static final String LOCALE = "Locale";
|
||||
/**
|
||||
* The locale to use. Example: en
|
||||
*/
|
||||
public static final String LOCALE = "Locale";
|
||||
|
||||
/**
|
||||
* The Access Key ID for the request sender. This identifies the account
|
||||
* which will be charged for usage of the service. The account with which
|
||||
* the Access Key ID is associated must be signed up for FGCP, or requests
|
||||
* will not be accepted. AKIADQKE4SARGYLE
|
||||
*/
|
||||
public static final String ACCESS_KEY_ID = "AccessKeyId";
|
||||
/**
|
||||
* The Access Key ID for the request sender. This identifies the account
|
||||
* which will be charged for usage of the service. The account with which
|
||||
* the Access Key ID is associated must be signed up for FGCP, or requests
|
||||
* will not be accepted. AKIADQKE4SARGYLE
|
||||
*/
|
||||
public static final String ACCESS_KEY_ID = "AccessKeyId";
|
||||
|
||||
/**
|
||||
* The date and time at which the request is signed, in the format
|
||||
* YYYY-MM-DDThh:mm:ssZ. For more information, go to ISO 8601. Example:
|
||||
* 2006-07-07T15:04:56Z
|
||||
*/
|
||||
public static final String TIMESTAMP = "Timestamp";
|
||||
/**
|
||||
* The date and time at which the request is signed, in the format
|
||||
* YYYY-MM-DDThh:mm:ssZ. For more information, go to ISO 8601. Example:
|
||||
* 2006-07-07T15:04:56Z
|
||||
*/
|
||||
public static final String TIMESTAMP = "Timestamp";
|
||||
|
||||
/**
|
||||
* The date and time at which the signer included in the request expires, in
|
||||
* the format YYYY-MM-DDThh:mm:ssZ. Example: 2006-07-07T15:04:56Z
|
||||
*/
|
||||
public static final String EXPIRES = "Expires";
|
||||
/**
|
||||
* The date and time at which the signer included in the request expires, in
|
||||
* the format YYYY-MM-DDThh:mm:ssZ. Example: 2006-07-07T15:04:56Z
|
||||
*/
|
||||
public static final String EXPIRES = "Expires";
|
||||
|
||||
/**
|
||||
* The request signer. For more information, go to the Amazon Elastic
|
||||
* Compute Cloud Developer Guide. Example: Qnpl4Qk/7tINHzfXCiT7VbBatDA=
|
||||
*/
|
||||
public static final String SIGNATURE = "Signature";
|
||||
/**
|
||||
* The request signer. For more information, go to the Amazon Elastic
|
||||
* Compute Cloud Developer Guide. Example: Qnpl4Qk/7tINHzfXCiT7VbBatDA=
|
||||
*/
|
||||
public static final String SIGNATURE = "Signature";
|
||||
|
||||
/**
|
||||
* The hash algorithm you use to create the request signer. Valid value:
|
||||
* SHA1withRSA.
|
||||
*/
|
||||
public static final String SIGNATURE_METHOD = "SignatureMethod";
|
||||
/**
|
||||
* The hash algorithm you use to create the request signer. Valid value:
|
||||
* SHA1withRSA.
|
||||
*/
|
||||
public static final String SIGNATURE_METHOD = "SignatureMethod";
|
||||
|
||||
/**
|
||||
* The signer version you use to sign the request. Set this value to 1.0.
|
||||
*
|
||||
*/
|
||||
public static final String SIGNATURE_VERSION = "SignatureVersion";
|
||||
/**
|
||||
* The signer version you use to sign the request. Set this value to 1.0.
|
||||
*
|
||||
*/
|
||||
public static final String SIGNATURE_VERSION = "SignatureVersion";
|
||||
}
|
||||
|
|
|
@ -18,7 +18,6 @@
|
|||
*/
|
||||
package org.jclouds.fujitsu.fgcp.services;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import org.jclouds.concurrent.Timeout;
|
||||
|
@ -33,21 +32,21 @@ import org.jclouds.fujitsu.fgcp.domain.VDiskStatus;
|
|||
@Timeout(duration = 60, timeUnit = TimeUnit.SECONDS)
|
||||
public interface AdditionalDiskApi {
|
||||
|
||||
VDiskStatus getStatus(String id);
|
||||
VDiskStatus getStatus(String id);
|
||||
|
||||
VDisk get(String id);
|
||||
VDisk get(String id);
|
||||
|
||||
void update(String id, String name, String value);
|
||||
void update(String id, String name, String value);
|
||||
|
||||
void backup(String id);
|
||||
void backup(String id);
|
||||
|
||||
void restore(String systemId, String backupId);
|
||||
void restore(String systemId, String backupId);
|
||||
|
||||
void destroy(String id);
|
||||
void destroy(String id);
|
||||
|
||||
void detach(String diskId, String serverId);
|
||||
void detach(String diskId, String serverId);
|
||||
|
||||
void destroyBackup(String sysId, String backupId);
|
||||
void destroyBackup(String sysId, String backupId);
|
||||
|
||||
// Set<> listBackups(String sysId);
|
||||
// Set<> listBackups(String sysId);
|
||||
}
|
||||
|
|
|
@ -18,7 +18,6 @@
|
|||
*/
|
||||
package org.jclouds.fujitsu.fgcp.services;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import javax.ws.rs.Consumes;
|
||||
|
@ -55,58 +54,58 @@ import com.google.common.util.concurrent.ListenableFuture;
|
|||
@Timeout(duration = 60, timeUnit = TimeUnit.SECONDS)
|
||||
public interface AdditionalDiskAsyncApi {
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetVDiskStatus")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<VDiskStatus> getStatus(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vdiskId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetVDiskStatus")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<VDiskStatus> getStatus(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vdiskId") String id);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetVDiskAttributes")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<VDisk> get(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vdiskId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetVDiskAttributes")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<VDisk> get(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vdiskId") String id);
|
||||
|
||||
@GET
|
||||
@QueryParams(keys = "Action", values = "UpdateVDiskAttribute")
|
||||
ListenableFuture<Void> update(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vdiskId") String id,
|
||||
@QueryParam("attributeName") String name,
|
||||
@QueryParam("attributeValue") String value);
|
||||
@GET
|
||||
@QueryParams(keys = "Action", values = "UpdateVDiskAttribute")
|
||||
ListenableFuture<Void> update(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vdiskId") String id,
|
||||
@QueryParam("attributeName") String name,
|
||||
@QueryParam("attributeValue") String value);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "BackupVDisk")
|
||||
ListenableFuture<Void> backup(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vdiskId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "BackupVDisk")
|
||||
ListenableFuture<Void> backup(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vdiskId") String id);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "RestoreVDisk")
|
||||
ListenableFuture<Void> restore(@QueryParam("vsysId") String systemId,
|
||||
@QueryParam("backupId") String backupId);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "RestoreVDisk")
|
||||
ListenableFuture<Void> restore(@QueryParam("vsysId") String systemId,
|
||||
@QueryParam("backupId") String backupId);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "DestroyVDisk")
|
||||
ListenableFuture<Void> destroy(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vdiskId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "DestroyVDisk")
|
||||
ListenableFuture<Void> destroy(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vdiskId") String id);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "DetachVDisk")
|
||||
ListenableFuture<Void> detach(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vdiskId") String diskId,
|
||||
@QueryParam("vserverId") String serverId);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "DetachVDisk")
|
||||
ListenableFuture<Void> detach(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vdiskId") String diskId,
|
||||
@QueryParam("vserverId") String serverId);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "DestroyVDiskBackup")
|
||||
ListenableFuture<Void> destroyBackup(@QueryParam("vsysId") String sysId,
|
||||
@QueryParam("backupId") String backupId);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "DestroyVDiskBackup")
|
||||
ListenableFuture<Void> destroyBackup(@QueryParam("vsysId") String sysId,
|
||||
@QueryParam("backupId") String backupId);
|
||||
|
||||
// Set<> listBackups(String sysId);
|
||||
// Set<> listBackups(String sysId);
|
||||
|
||||
}
|
||||
|
|
|
@ -36,38 +36,38 @@ import org.jclouds.fujitsu.fgcp.domain.BuiltinServerStatus;
|
|||
@Timeout(duration = 60, timeUnit = TimeUnit.SECONDS)
|
||||
public interface BuiltinServerApi {
|
||||
|
||||
void start(String id);
|
||||
void start(String id);
|
||||
|
||||
void stop(String id);
|
||||
void stop(String id);
|
||||
|
||||
void destroy(String id);
|
||||
void destroy(String id);
|
||||
|
||||
void backup(String id);
|
||||
void backup(String id);
|
||||
|
||||
void restore(String id, String backupId);
|
||||
void restore(String id, String backupId);
|
||||
|
||||
Set<BuiltinServerBackup> listBackups(String id);
|
||||
Set<BuiltinServerBackup> listBackups(String id);
|
||||
|
||||
void destroyBackup(String id, String backupId);
|
||||
void destroyBackup(String id, String backupId);
|
||||
|
||||
BuiltinServer get(String id);
|
||||
BuiltinServer get(String id);
|
||||
|
||||
void update(String id, String name, String value);
|
||||
void update(String id, String name, String value);
|
||||
|
||||
BuiltinServerStatus getStatus(String id);
|
||||
BuiltinServerStatus getStatus(String id);
|
||||
|
||||
BuiltinServer getConfiguration(String id, BuiltinServerConfiguration configuration);
|
||||
BuiltinServer getConfiguration(String id, BuiltinServerConfiguration configuration);
|
||||
|
||||
// BuiltinServer getConfiguration(String id, BuiltinServerConfiguration configuration, ConfigurationRequest request);
|
||||
// void updateConfiguration(String id, xml?);
|
||||
/*
|
||||
// BuiltinServer getConfiguration(String id, BuiltinServerConfiguration configuration, ConfigurationRequest request);
|
||||
// void updateConfiguration(String id, xml?);
|
||||
/*
|
||||
getDNSConfiguration(String id)
|
||||
getNATConfiguration(String id)
|
||||
getPolicyConfiguration(String id)
|
||||
getLBConfiguration(String id)
|
||||
|
||||
* UpdateEFMConfiguration
|
||||
BuiltinServer getConfiguration(String id, BuiltinServerConfiguration configuration);
|
||||
* UpdateEFMConfiguration
|
||||
BuiltinServer getConfiguration(String id, BuiltinServerConfiguration configuration);
|
||||
|
||||
*/
|
||||
*/
|
||||
}
|
||||
|
|
|
@ -58,79 +58,79 @@ import com.google.common.util.concurrent.ListenableFuture;
|
|||
@Timeout(duration = 60, timeUnit = TimeUnit.SECONDS)
|
||||
public interface BuiltinServerAsyncApi {
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "StartEFM")
|
||||
ListenableFuture<Void> start(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("efmId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "StartEFM")
|
||||
ListenableFuture<Void> start(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("efmId") String id);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "StopEFM")
|
||||
ListenableFuture<Void> stop(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("efmId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "StopEFM")
|
||||
ListenableFuture<Void> stop(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("efmId") String id);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "DestroyEFM")
|
||||
ListenableFuture<Void> destroy(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("efmId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "DestroyEFM")
|
||||
ListenableFuture<Void> destroy(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("efmId") String id);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "BackupEFM")
|
||||
ListenableFuture<Void> backup(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("efmId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "BackupEFM")
|
||||
ListenableFuture<Void> backup(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("efmId") String id);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "RestoreEFM")
|
||||
ListenableFuture<Void> restore(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("efmId") String id,
|
||||
@QueryParam("backupId") String backupId);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "RestoreEFM")
|
||||
ListenableFuture<Void> restore(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("efmId") String id,
|
||||
@QueryParam("backupId") String backupId);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "ListEFMBackup")
|
||||
ListenableFuture<Set<BuiltinServerBackup>> listBackups(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("efmId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "ListEFMBackup")
|
||||
ListenableFuture<Set<BuiltinServerBackup>> listBackups(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("efmId") String id);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "DestroyEFMBackup")
|
||||
ListenableFuture<Void> destroyBackup(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("efmId") String id,
|
||||
@QueryParam("backupId") String backupId);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "DestroyEFMBackup")
|
||||
ListenableFuture<Void> destroyBackup(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("efmId") String id,
|
||||
@QueryParam("backupId") String backupId);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetEFMAttributes")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<BuiltinServer> get(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("efmId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetEFMAttributes")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<BuiltinServer> get(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("efmId") String id);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "UpdateEFMAttribute")
|
||||
ListenableFuture<Void> update(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("efmId") String id,
|
||||
@QueryParam("attributeName") String name,
|
||||
@QueryParam("attributeValue") String value);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "UpdateEFMAttribute")
|
||||
ListenableFuture<Void> update(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("efmId") String id,
|
||||
@QueryParam("attributeName") String name,
|
||||
@QueryParam("attributeValue") String value);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetEFMStatus")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<BuiltinServerStatus> getStatus(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("efmId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetEFMStatus")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<BuiltinServerStatus> getStatus(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("efmId") String id);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetEFMConfiguration")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<BuiltinServer> getConfiguration(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("efmId") String id,
|
||||
@QueryParam("configurationName") BuiltinServerConfiguration configuration);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetEFMConfiguration")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<BuiltinServer> getConfiguration(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("efmId") String id,
|
||||
@QueryParam("configurationName") BuiltinServerConfiguration configuration);
|
||||
|
||||
// @POST
|
||||
// @JAXBResponseParser
|
||||
|
@ -138,8 +138,8 @@ public interface BuiltinServerAsyncApi {
|
|||
// @Transform(SingleElementResponseToElement.class)
|
||||
// ListenableFuture<Set<Rule>> getUpdateDetails(String id);
|
||||
|
||||
// ListenableFuture<Void>
|
||||
// updateConfiguration(@BinderParam(BindAlsoToSystemId.class)
|
||||
// @QueryParam("efmId") String id, xml?);
|
||||
// EFM_UPDATE, getUpdateStatus(String id);
|
||||
// ListenableFuture<Void>
|
||||
// updateConfiguration(@BinderParam(BindAlsoToSystemId.class)
|
||||
// @QueryParam("efmId") String id, xml?);
|
||||
// EFM_UPDATE, getUpdateStatus(String id);
|
||||
}
|
||||
|
|
|
@ -31,9 +31,9 @@ import org.jclouds.fujitsu.fgcp.domain.DiskImage;
|
|||
@Timeout(duration = 60, timeUnit = TimeUnit.SECONDS)
|
||||
public interface DiskImageApi {
|
||||
|
||||
DiskImage get(String id);
|
||||
DiskImage get(String id);
|
||||
|
||||
void update(String diskImageId, String localeId, String name, String value);
|
||||
void update(String diskImageId, String localeId, String name, String value);
|
||||
|
||||
void deregister(String id);
|
||||
void deregister(String id);
|
||||
}
|
||||
|
|
|
@ -51,23 +51,23 @@ import com.google.common.util.concurrent.ListenableFuture;
|
|||
@Timeout(duration = 60, timeUnit = TimeUnit.SECONDS)
|
||||
public interface DiskImageAsyncApi {
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetDiskImageAttributes")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<DiskImage> get(@QueryParam("diskImageId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetDiskImageAttributes")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<DiskImage> get(@QueryParam("diskImageId") String id);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "UpdateDiskImageAttribute")
|
||||
ListenableFuture<Void> update(
|
||||
@QueryParam("diskImageId") String diskImageId,
|
||||
@QueryParam("updateLcId") String localeId,
|
||||
@QueryParam("attributeName") String name,
|
||||
@QueryParam("attributeValue") String value);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "UpdateDiskImageAttribute")
|
||||
ListenableFuture<Void> update(
|
||||
@QueryParam("diskImageId") String diskImageId,
|
||||
@QueryParam("updateLcId") String localeId,
|
||||
@QueryParam("attributeName") String name,
|
||||
@QueryParam("attributeValue") String value);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "UnregisterDiskImage")
|
||||
ListenableFuture<Void> deregister(@QueryParam("diskImageId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "UnregisterDiskImage")
|
||||
ListenableFuture<Void> deregister(@QueryParam("diskImageId") String id);
|
||||
}
|
||||
|
|
|
@ -32,6 +32,6 @@ import org.jclouds.fujitsu.fgcp.domain.Rule;
|
|||
@Timeout(duration = 60, timeUnit = TimeUnit.SECONDS)
|
||||
public interface FirewallApi extends BuiltinServerApi {
|
||||
|
||||
Set<Rule> getNATConfiguration(String id);
|
||||
|
||||
Set<Rule> getNATConfiguration(String id);
|
||||
|
||||
}
|
||||
|
|
|
@ -22,23 +22,15 @@ import java.util.Set;
|
|||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import javax.ws.rs.Consumes;
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.POST;
|
||||
import javax.ws.rs.QueryParam;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
|
||||
import org.jclouds.concurrent.Timeout;
|
||||
import org.jclouds.fujitsu.fgcp.FGCPAsyncApi;
|
||||
import org.jclouds.fujitsu.fgcp.binders.BindAlsoToSystemId;
|
||||
import org.jclouds.fujitsu.fgcp.compute.functions.SingleElementResponseToElement;
|
||||
import org.jclouds.fujitsu.fgcp.domain.BuiltinServer;
|
||||
import org.jclouds.fujitsu.fgcp.domain.BuiltinServerBackup;
|
||||
import org.jclouds.fujitsu.fgcp.domain.BuiltinServerConfiguration;
|
||||
import org.jclouds.fujitsu.fgcp.domain.BuiltinServerStatus;
|
||||
import org.jclouds.fujitsu.fgcp.domain.Rule;
|
||||
import org.jclouds.fujitsu.fgcp.filters.RequestAuthenticator;
|
||||
import org.jclouds.fujitsu.fgcp.reference.RequestParameters;
|
||||
import org.jclouds.rest.annotations.BinderParam;
|
||||
import org.jclouds.rest.annotations.JAXBResponseParser;
|
||||
import org.jclouds.rest.annotations.PayloadParams;
|
||||
import org.jclouds.rest.annotations.QueryParams;
|
||||
|
@ -60,20 +52,20 @@ import com.google.common.util.concurrent.ListenableFuture;
|
|||
@Timeout(duration = 60, timeUnit = TimeUnit.SECONDS)
|
||||
public interface FirewallAsyncApi extends BuiltinServerAsyncApi {
|
||||
|
||||
@POST
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetEFMConfiguration")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<Set<Rule>> getNATConfiguration(String id);
|
||||
@POST
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetEFMConfiguration")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<Set<Rule>> getNATConfiguration(String id);
|
||||
|
||||
/*
|
||||
FW_NAT_RULE, getNATConfiguration(String id)
|
||||
/*
|
||||
FW_NAT_RULE, getNATConfiguration(String id)
|
||||
|
||||
FW_DNS, getDNSConfiguration(String id)
|
||||
FW_POLICY, getPolicyConfiguration(String id)
|
||||
FW_DNS, getDNSConfiguration(String id)
|
||||
FW_POLICY, getPolicyConfiguration(String id)
|
||||
|
||||
FW_LOG, getFirewallLogs(String id);
|
||||
FW_LIMIT_POLICY,
|
||||
FW_LOG, getFirewallLogs(String id);
|
||||
FW_LIMIT_POLICY,
|
||||
|
||||
*/
|
||||
*/
|
||||
}
|
||||
|
|
|
@ -18,32 +18,18 @@
|
|||
*/
|
||||
package org.jclouds.fujitsu.fgcp.services;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import javax.ws.rs.Consumes;
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.QueryParam;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
|
||||
import org.jclouds.concurrent.Timeout;
|
||||
import org.jclouds.fujitsu.fgcp.FGCPAsyncApi;
|
||||
import org.jclouds.fujitsu.fgcp.binders.BindAlsoToSystemId;
|
||||
import org.jclouds.fujitsu.fgcp.compute.functions.SingleElementResponseToElement;
|
||||
import org.jclouds.fujitsu.fgcp.domain.BuiltinServer;
|
||||
import org.jclouds.fujitsu.fgcp.domain.BuiltinServerBackup;
|
||||
import org.jclouds.fujitsu.fgcp.domain.BuiltinServerConfiguration;
|
||||
import org.jclouds.fujitsu.fgcp.domain.BuiltinServerStatus;
|
||||
import org.jclouds.fujitsu.fgcp.filters.RequestAuthenticator;
|
||||
import org.jclouds.fujitsu.fgcp.reference.RequestParameters;
|
||||
import org.jclouds.rest.annotations.BinderParam;
|
||||
import org.jclouds.rest.annotations.JAXBResponseParser;
|
||||
import org.jclouds.rest.annotations.PayloadParams;
|
||||
import org.jclouds.rest.annotations.QueryParams;
|
||||
import org.jclouds.rest.annotations.RequestFilters;
|
||||
import org.jclouds.rest.annotations.Transform;
|
||||
|
||||
import com.google.common.util.concurrent.ListenableFuture;
|
||||
|
||||
/**
|
||||
* Non-blocking API relating to a built-in server, also called extended function
|
||||
|
@ -58,12 +44,12 @@ import com.google.common.util.concurrent.ListenableFuture;
|
|||
@Timeout(duration = 60, timeUnit = TimeUnit.SECONDS)
|
||||
public interface LoadBalancerAsyncApi extends BuiltinServerAsyncApi {
|
||||
|
||||
/*
|
||||
SLB_RULE, getLBConfiguration(String id)
|
||||
SLB_LOAD_STATISTICS, getLoadBalancerStats(String id)
|
||||
SLB_ERROR_STATISTICS, getLoadBalancerErrorStats(String id)
|
||||
SLB_CERTIFICATE_LIST, getLoadBalancerCerts(String id)
|
||||
SLB_CONNECTION, getLoadBalancerConnection(String id)
|
||||
/*
|
||||
SLB_RULE, getLBConfiguration(String id)
|
||||
SLB_LOAD_STATISTICS, getLoadBalancerStats(String id)
|
||||
SLB_ERROR_STATISTICS, getLoadBalancerErrorStats(String id)
|
||||
SLB_CERTIFICATE_LIST, getLoadBalancerCerts(String id)
|
||||
SLB_CONNECTION, getLoadBalancerConnection(String id)
|
||||
|
||||
*/
|
||||
*/
|
||||
}
|
||||
|
|
|
@ -32,13 +32,13 @@ import org.jclouds.fujitsu.fgcp.domain.PublicIPStatus;
|
|||
@Timeout(duration = 60, timeUnit = TimeUnit.SECONDS)
|
||||
public interface PublicIPAddressApi {
|
||||
|
||||
void attach(String systemId, String ip);
|
||||
void attach(String systemId, String ip);
|
||||
|
||||
void detach(String systemId, String ip);
|
||||
void detach(String systemId, String ip);
|
||||
|
||||
void free(String systemId, String ip);
|
||||
void free(String systemId, String ip);
|
||||
|
||||
PublicIPStatus getStatus(String ip);
|
||||
PublicIPStatus getStatus(String ip);
|
||||
|
||||
PublicIP get(String ip);
|
||||
PublicIP get(String ip);
|
||||
}
|
||||
|
|
|
@ -18,7 +18,6 @@
|
|||
*/
|
||||
package org.jclouds.fujitsu.fgcp.services;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import javax.ws.rs.Consumes;
|
||||
|
@ -53,35 +52,35 @@ import com.google.common.util.concurrent.ListenableFuture;
|
|||
@Timeout(duration = 60, timeUnit = TimeUnit.SECONDS)
|
||||
public interface PublicIPAddressAsyncApi {
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "AttachPublicIP")
|
||||
ListenableFuture<Void> attach(@QueryParam("vsysId") String systemId,
|
||||
@QueryParam("publicIp") String ip);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "AttachPublicIP")
|
||||
ListenableFuture<Void> attach(@QueryParam("vsysId") String systemId,
|
||||
@QueryParam("publicIp") String ip);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "DetachPublicIP")
|
||||
ListenableFuture<Void> detach(@QueryParam("vsysId") String systemId,
|
||||
@QueryParam("publicIp") String ip);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "DetachPublicIP")
|
||||
ListenableFuture<Void> detach(@QueryParam("vsysId") String systemId,
|
||||
@QueryParam("publicIp") String ip);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetPublicIPStatus")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<PublicIPStatus> getStatus(
|
||||
@QueryParam("publicIp") String ip);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetPublicIPStatus")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<PublicIPStatus> getStatus(
|
||||
@QueryParam("publicIp") String ip);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetPublicIPAttributes")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<PublicIP> get(@QueryParam("publicIp") String ip);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetPublicIPAttributes")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<PublicIP> get(@QueryParam("publicIp") String ip);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "FreePublicIP")
|
||||
ListenableFuture<Void> free(@QueryParam("vsysId") String systemId,
|
||||
@QueryParam("publicIp") String ip);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "FreePublicIP")
|
||||
ListenableFuture<Void> free(@QueryParam("vsysId") String systemId,
|
||||
@QueryParam("publicIp") String ip);
|
||||
|
||||
}
|
||||
|
|
|
@ -32,12 +32,12 @@ import org.jclouds.fujitsu.fgcp.domain.VSystemDescriptor;
|
|||
@Timeout(duration = 60, timeUnit = TimeUnit.SECONDS)
|
||||
public interface SystemTemplateApi {
|
||||
|
||||
VSystemDescriptor get(String id);
|
||||
VSystemDescriptor get(String id);
|
||||
|
||||
void update(String id, String localeId, String name, String value);
|
||||
void update(String id, String localeId, String name, String value);
|
||||
|
||||
void deregister(String id);
|
||||
void deregister(String id);
|
||||
|
||||
void deregisterPrivateTemplate(String id);
|
||||
void deregisterPrivateTemplate(String id);
|
||||
|
||||
}
|
||||
|
|
|
@ -52,30 +52,30 @@ import com.google.common.util.concurrent.ListenableFuture;
|
|||
@Timeout(duration = 60, timeUnit = TimeUnit.SECONDS)
|
||||
public interface SystemTemplateAsyncApi {
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetVSYSDescriptorConfiguration")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<VSystemDescriptor> get(
|
||||
@QueryParam("vsysDescriptorId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetVSYSDescriptorConfiguration")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<VSystemDescriptor> get(
|
||||
@QueryParam("vsysDescriptorId") String id);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "UpdateVSYSDescriptorAttribute")
|
||||
ListenableFuture<Void> update(@QueryParam("vsysDescriptorId") String id,
|
||||
@QueryParam("updateLcId") String localeId,
|
||||
@QueryParam("attributeName") String name,
|
||||
@QueryParam("attributeValue") String value);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "UpdateVSYSDescriptorAttribute")
|
||||
ListenableFuture<Void> update(@QueryParam("vsysDescriptorId") String id,
|
||||
@QueryParam("updateLcId") String localeId,
|
||||
@QueryParam("attributeName") String name,
|
||||
@QueryParam("attributeValue") String value);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "UnregisterVSYSDescriptor")
|
||||
ListenableFuture<Void> deregister(
|
||||
@QueryParam("vsysDescriptorId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "UnregisterVSYSDescriptor")
|
||||
ListenableFuture<Void> deregister(
|
||||
@QueryParam("vsysDescriptorId") String id);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "UnregisterPrivateVSYSDescriptor")
|
||||
ListenableFuture<Void> deregisterPrivateTemplate(
|
||||
@QueryParam("vsysDescriptorId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "UnregisterPrivateVSYSDescriptor")
|
||||
ListenableFuture<Void> deregisterPrivateTemplate(
|
||||
@QueryParam("vsysDescriptorId") String id);
|
||||
}
|
||||
|
|
|
@ -18,13 +18,21 @@
|
|||
*/
|
||||
package org.jclouds.fujitsu.fgcp.services;
|
||||
|
||||
import org.jclouds.concurrent.Timeout;
|
||||
import org.jclouds.fujitsu.fgcp.domain.*;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import org.jclouds.concurrent.Timeout;
|
||||
import org.jclouds.fujitsu.fgcp.domain.AddressRange;
|
||||
import org.jclouds.fujitsu.fgcp.domain.DiskImage;
|
||||
import org.jclouds.fujitsu.fgcp.domain.EventLog;
|
||||
import org.jclouds.fujitsu.fgcp.domain.Information;
|
||||
import org.jclouds.fujitsu.fgcp.domain.PublicIP;
|
||||
import org.jclouds.fujitsu.fgcp.domain.ServerType;
|
||||
import org.jclouds.fujitsu.fgcp.domain.UsageInfo;
|
||||
import org.jclouds.fujitsu.fgcp.domain.VSystem;
|
||||
import org.jclouds.fujitsu.fgcp.domain.VSystemDescriptor;
|
||||
|
||||
/**
|
||||
* API relating to the virtual data center.
|
||||
*
|
||||
|
@ -33,43 +41,43 @@ import java.util.concurrent.TimeUnit;
|
|||
@Timeout(duration = 60, timeUnit = TimeUnit.SECONDS)
|
||||
public interface VirtualDCApi {
|
||||
|
||||
String createVirtualSystem(String descriptorId, String name);
|
||||
String createVirtualSystem(String descriptorId, String name);
|
||||
|
||||
Set<VSystem> listVirtualSystems();
|
||||
Set<VSystem> listVirtualSystems();
|
||||
|
||||
// according to the manual it takes a 'String diskImageId' but value seems
|
||||
// to be ignored
|
||||
Set<ServerType> listServerTypes();
|
||||
// according to the manual it takes a 'String diskImageId' but value seems
|
||||
// to be ignored
|
||||
Set<ServerType> listServerTypes();
|
||||
|
||||
Set<DiskImage> listDiskImages();
|
||||
Set<DiskImage> listDiskImages();
|
||||
|
||||
Set<DiskImage> listDiskImages(String serverCategory,
|
||||
String vsysDescriptorId);
|
||||
Set<DiskImage> listDiskImages(String serverCategory,
|
||||
String vsysDescriptorId);
|
||||
|
||||
Map<PublicIP, String> listPublicIPs();
|
||||
Map<PublicIP, String> listPublicIPs();
|
||||
|
||||
void addAddressRange(String pipFrom, String pipTo);
|
||||
void addAddressRange(String pipFrom, String pipTo);
|
||||
|
||||
void createAddressPool(String pipFrom, String pipTo);
|
||||
void createAddressPool(String pipFrom, String pipTo);
|
||||
|
||||
void deleteAddressRange(String pipFrom, String pipTo);
|
||||
void deleteAddressRange(String pipFrom, String pipTo);
|
||||
|
||||
Set<AddressRange> getAddressRange();
|
||||
Set<AddressRange> getAddressRange();
|
||||
|
||||
Set<VSystemDescriptor> listVSYSDescriptor();
|
||||
Set<VSystemDescriptor> listVSYSDescriptor();
|
||||
|
||||
Set<VSystemDescriptor> listVSYSDescriptor(String keyword, int estimateFrom,
|
||||
int estimateTo);
|
||||
Set<VSystemDescriptor> listVSYSDescriptor(String keyword, int estimateFrom,
|
||||
int estimateTo);
|
||||
|
||||
Set<EventLog> getEventLogs(boolean all);
|
||||
Set<EventLog> getEventLogs(boolean all);
|
||||
|
||||
Set<EventLog> getEventLogs();
|
||||
Set<EventLog> getEventLogs();
|
||||
|
||||
Set<Information> getInformation(boolean all);
|
||||
Set<Information> getInformation(boolean all);
|
||||
|
||||
Set<Information> getInformation();
|
||||
Set<Information> getInformation();
|
||||
|
||||
Set<UsageInfo> getSystemUsage();
|
||||
Set<UsageInfo> getSystemUsage();
|
||||
|
||||
Set<UsageInfo> getSystemUsage(String systemIds);
|
||||
Set<UsageInfo> getSystemUsage(String systemIds);
|
||||
}
|
||||
|
|
|
@ -61,129 +61,129 @@ import com.google.common.util.concurrent.ListenableFuture;
|
|||
@Timeout(duration = 60, timeUnit = TimeUnit.SECONDS)
|
||||
public interface VirtualDCAsyncApi {
|
||||
|
||||
// @POST
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
// @XMLResponseParser(VSYSCreateHandler.class)
|
||||
@QueryParams(keys = "Action", values = "CreateVSYS")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
// @PayloadParams(keys = "Action", values = "CreateVSYS")
|
||||
// @Produces(MediaType.TEXT_XML)
|
||||
// @MapBinder(BindParamsToXmlPayload.class)
|
||||
// ListenableFuture<String>
|
||||
// createVirtualSystem(@PayloadParam("vsysDescriptorId") String
|
||||
// vsysDescriptorId, @PayloadParam("vsysName") String vsysName);
|
||||
ListenableFuture<String> createVirtualSystem(
|
||||
@QueryParam("vsysDescriptorId") String descriptorId,
|
||||
@QueryParam("vsysName") String name);
|
||||
// @POST
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
// @XMLResponseParser(VSYSCreateHandler.class)
|
||||
@QueryParams(keys = "Action", values = "CreateVSYS")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
// @PayloadParams(keys = "Action", values = "CreateVSYS")
|
||||
// @Produces(MediaType.TEXT_XML)
|
||||
// @MapBinder(BindParamsToXmlPayload.class)
|
||||
// ListenableFuture<String>
|
||||
// createVirtualSystem(@PayloadParam("vsysDescriptorId") String
|
||||
// vsysDescriptorId, @PayloadParam("vsysName") String vsysName);
|
||||
ListenableFuture<String> createVirtualSystem(
|
||||
@QueryParam("vsysDescriptorId") String descriptorId,
|
||||
@QueryParam("vsysName") String name);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
// @XMLResponseParser(VSYSListHandler.class)
|
||||
@QueryParams(keys = "Action", values = "ListVSYS")
|
||||
ListenableFuture<Set<VSystem>> listVirtualSystems();
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
// @XMLResponseParser(VSYSListHandler.class)
|
||||
@QueryParams(keys = "Action", values = "ListVSYS")
|
||||
ListenableFuture<Set<VSystem>> listVirtualSystems();
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
// according to the manual it takes a 'String diskImageId' but value seems
|
||||
// to be ignored
|
||||
@QueryParams(keys = { "Action", "diskImageId" }, values = {
|
||||
"ListServerType", "dummy" })
|
||||
// @XmlJavaTypeAdapter(SetOfServerTypesXMLAdapter.class)
|
||||
// @XmlElement(type = ServerType.class)
|
||||
ListenableFuture<Set<ServerType>> listServerTypes();
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
// according to the manual it takes a 'String diskImageId' but value seems
|
||||
// to be ignored
|
||||
@QueryParams(keys = { "Action", "diskImageId" }, values = {
|
||||
"ListServerType", "dummy" })
|
||||
// @XmlJavaTypeAdapter(SetOfServerTypesXMLAdapter.class)
|
||||
// @XmlElement(type = ServerType.class)
|
||||
ListenableFuture<Set<ServerType>> listServerTypes();
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "ListDiskImage")
|
||||
ListenableFuture<Set<DiskImage>> listDiskImages();
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "ListDiskImage")
|
||||
ListenableFuture<Set<DiskImage>> listDiskImages();
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "ListDiskImage")
|
||||
ListenableFuture<Set<DiskImage>> listDiskImages(
|
||||
@QueryParam("serverCategory") String serverCategory,
|
||||
@QueryParam("vsysDescriptorId") String vsysDescriptorId);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "ListDiskImage")
|
||||
ListenableFuture<Set<DiskImage>> listDiskImages(
|
||||
@QueryParam("serverCategory") String serverCategory,
|
||||
@QueryParam("vsysDescriptorId") String vsysDescriptorId);
|
||||
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
* @see VirtualSystemAsyncApi#listPublicIPs(String)
|
||||
*/
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "ListPublicIP")
|
||||
ListenableFuture<Map<PublicIP, String>> listPublicIPs();
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
* @see VirtualSystemAsyncApi#listPublicIPs(String)
|
||||
*/
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "ListPublicIP")
|
||||
ListenableFuture<Map<PublicIP, String>> listPublicIPs();
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "AddAddressRange")
|
||||
ListenableFuture<Void> addAddressRange(
|
||||
@QueryParam("pipFrom") String pipFrom,
|
||||
@QueryParam("pipTo") String pipTo);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "AddAddressRange")
|
||||
ListenableFuture<Void> addAddressRange(
|
||||
@QueryParam("pipFrom") String pipFrom,
|
||||
@QueryParam("pipTo") String pipTo);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "CreateAddressPool")
|
||||
ListenableFuture<Void> createAddressPool(
|
||||
@QueryParam("pipFrom") String pipFrom,
|
||||
@QueryParam("pipTo") String pipTo);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "CreateAddressPool")
|
||||
ListenableFuture<Void> createAddressPool(
|
||||
@QueryParam("pipFrom") String pipFrom,
|
||||
@QueryParam("pipTo") String pipTo);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "DeleteAddressRange")
|
||||
ListenableFuture<Void> deleteAddressRange(
|
||||
@QueryParam("pipFrom") String pipFrom,
|
||||
@QueryParam("pipTo") String pipTo);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "DeleteAddressRange")
|
||||
ListenableFuture<Void> deleteAddressRange(
|
||||
@QueryParam("pipFrom") String pipFrom,
|
||||
@QueryParam("pipTo") String pipTo);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetAddressRange")
|
||||
ListenableFuture<Set<AddressRange>> getAddressRange();
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetAddressRange")
|
||||
ListenableFuture<Set<AddressRange>> getAddressRange();
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "ListVSYSDescriptor")
|
||||
ListenableFuture<Set<VSystemDescriptor>> listVSYSDescriptor();
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "ListVSYSDescriptor")
|
||||
ListenableFuture<Set<VSystemDescriptor>> listVSYSDescriptor();
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "ListVSYSDescriptor")
|
||||
ListenableFuture<Set<VSystemDescriptor>> listVSYSDescriptor(
|
||||
@QueryParam("keyword") String keyword,
|
||||
@QueryParam("estimateFrom") int estimateFrom,
|
||||
@QueryParam("estimateTo") int estimateTo);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "ListVSYSDescriptor")
|
||||
ListenableFuture<Set<VSystemDescriptor>> listVSYSDescriptor(
|
||||
@QueryParam("keyword") String keyword,
|
||||
@QueryParam("estimateFrom") int estimateFrom,
|
||||
@QueryParam("estimateTo") int estimateTo);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetEventLog")
|
||||
ListenableFuture<Set<EventLog>> getEventLogs();
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetEventLog")
|
||||
ListenableFuture<Set<EventLog>> getEventLogs();
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetEventLog")
|
||||
ListenableFuture<Set<EventLog>> getEventLogs(@QueryParam("all") boolean all);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetEventLog")
|
||||
ListenableFuture<Set<EventLog>> getEventLogs(@QueryParam("all") boolean all);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetInformation")
|
||||
ListenableFuture<Set<Information>> getInformation();
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetInformation")
|
||||
ListenableFuture<Set<Information>> getInformation();
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetInformation")
|
||||
ListenableFuture<Set<Information>> getInformation(
|
||||
@QueryParam("all") boolean all);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetInformation")
|
||||
ListenableFuture<Set<Information>> getInformation(
|
||||
@QueryParam("all") boolean all);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetSystemUsage")
|
||||
ListenableFuture<Set<UsageInfo>> getSystemUsage();
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetSystemUsage")
|
||||
ListenableFuture<Set<UsageInfo>> getSystemUsage();
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetSystemUsage")
|
||||
ListenableFuture<Set<UsageInfo>> getSystemUsage(
|
||||
@QueryParam("systemIds") String systemIds);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetSystemUsage")
|
||||
ListenableFuture<Set<UsageInfo>> getSystemUsage(
|
||||
@QueryParam("systemIds") String systemIds);
|
||||
|
||||
}
|
||||
|
|
|
@ -35,27 +35,27 @@ import org.jclouds.fujitsu.fgcp.domain.VServerWithDetails;
|
|||
@Timeout(duration = 60, timeUnit = TimeUnit.SECONDS)
|
||||
public interface VirtualServerApi {
|
||||
|
||||
void start(String id);
|
||||
void start(String id);
|
||||
|
||||
void stop(String id);
|
||||
void stop(String id);
|
||||
|
||||
void stopForcefully(String id);
|
||||
void stopForcefully(String id);
|
||||
|
||||
void destroy(String id);
|
||||
void destroy(String id);
|
||||
|
||||
VServer get(String id);
|
||||
VServer get(String id);
|
||||
|
||||
VServerWithDetails getDetails(String id);
|
||||
VServerWithDetails getDetails(String id);
|
||||
|
||||
void update(String id, String name, String value);
|
||||
void update(String id, String name, String value);
|
||||
|
||||
VServerStatus getStatus(String id);
|
||||
VServerStatus getStatus(String id);
|
||||
|
||||
String getInitialPassword(String id);
|
||||
String getInitialPassword(String id);
|
||||
|
||||
void attachDisk(String serverId, String diskId);
|
||||
void attachDisk(String serverId, String diskId);
|
||||
|
||||
Set<PerformanceInfo> getPerformanceInformation(String id, String interval);
|
||||
Set<PerformanceInfo> getPerformanceInformation(String id, String interval);
|
||||
|
||||
void registerAsPrivateDiskImage(String xml);
|
||||
void registerAsPrivateDiskImage(String xml);
|
||||
}
|
||||
|
|
|
@ -58,91 +58,91 @@ import com.google.common.util.concurrent.ListenableFuture;
|
|||
@Timeout(duration = 60, timeUnit = TimeUnit.SECONDS)
|
||||
public interface VirtualServerAsyncApi {
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "StartVServer")
|
||||
ListenableFuture<Void> start(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vserverId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "StartVServer")
|
||||
ListenableFuture<Void> start(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vserverId") String id);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "StopVServer")
|
||||
ListenableFuture<Void> stop(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vserverId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "StopVServer")
|
||||
ListenableFuture<Void> stop(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vserverId") String id);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = { "Action", "force" }, values = { "StopVServer", "true" })
|
||||
ListenableFuture<Void> stopForcefully(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vserverId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = { "Action", "force" }, values = { "StopVServer", "true" })
|
||||
ListenableFuture<Void> stopForcefully(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vserverId") String id);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "DestroyVServer")
|
||||
ListenableFuture<Void> destroy(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vserverId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "DestroyVServer")
|
||||
ListenableFuture<Void> destroy(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vserverId") String id);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetVServerAttributes")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<VServer> get(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vserverId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetVServerAttributes")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<VServer> get(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vserverId") String id);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetVServerConfiguration")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<VServerWithDetails> getDetails(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vserverId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetVServerConfiguration")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<VServerWithDetails> getDetails(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vserverId") String id);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "UpdateVServerAttribute")
|
||||
ListenableFuture<Void> update(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vserverId") String id,
|
||||
@QueryParam("attributeName") String name,
|
||||
@QueryParam("attributeValue") String value);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "UpdateVServerAttribute")
|
||||
ListenableFuture<Void> update(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vserverId") String id,
|
||||
@QueryParam("attributeName") String name,
|
||||
@QueryParam("attributeValue") String value);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetVServerStatus")
|
||||
// @Transform(StringToVServerStatus.class)
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<VServerStatus> getStatus(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vserverId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetVServerStatus")
|
||||
// @Transform(StringToVServerStatus.class)
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<VServerStatus> getStatus(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vserverId") String id);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetVServerInitialPassword")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<String> getInitialPassword(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vserverId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetVServerInitialPassword")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<String> getInitialPassword(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vserverId") String id);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "AttachVDisk")
|
||||
ListenableFuture<Void> attachDisk(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vserverId") String serverId,
|
||||
@QueryParam("vdiskId") String diskId);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "AttachVDisk")
|
||||
ListenableFuture<Void> attachDisk(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("vserverId") String serverId,
|
||||
@QueryParam("vdiskId") String diskId);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetPerformanceInformation")
|
||||
ListenableFuture<Set<PerformanceInfo>> getPerformanceInformation(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("serverId") String id,
|
||||
@QueryParam("interval") String interval);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetPerformanceInformation")
|
||||
ListenableFuture<Set<PerformanceInfo>> getPerformanceInformation(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("serverId") String id,
|
||||
@QueryParam("interval") String interval);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetPerformanceInformation")
|
||||
ListenableFuture<Set<PerformanceInfo>> getPerformanceInformation(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("serverId") String id,
|
||||
@QueryParam("dataType") String dataType,
|
||||
@QueryParam("interval") String interval);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetPerformanceInformation")
|
||||
ListenableFuture<Set<PerformanceInfo>> getPerformanceInformation(
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("serverId") String id,
|
||||
@QueryParam("dataType") String dataType,
|
||||
@QueryParam("interval") String interval);
|
||||
|
||||
@POST
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "RegisterPrivateDiskImage")
|
||||
ListenableFuture<Void> registerAsPrivateDiskImage(String xml);
|
||||
@POST
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "RegisterPrivateDiskImage")
|
||||
ListenableFuture<Void> registerAsPrivateDiskImage(String xml);
|
||||
}
|
||||
|
|
|
@ -38,37 +38,37 @@ import org.jclouds.fujitsu.fgcp.domain.VSystemWithDetails;
|
|||
@Timeout(duration = 60, timeUnit = TimeUnit.SECONDS)
|
||||
public interface VirtualSystemApi {
|
||||
|
||||
void destroy(String id);
|
||||
void destroy(String id);
|
||||
|
||||
VSystemStatus getStatus(String id);
|
||||
VSystemStatus getStatus(String id);
|
||||
|
||||
VSystem get(String id);
|
||||
VSystem get(String id);
|
||||
|
||||
VSystemWithDetails getDetails(String id);
|
||||
VSystemWithDetails getDetails(String id);
|
||||
|
||||
void update(String id, String name, String value);
|
||||
void update(String id, String name, String value);
|
||||
|
||||
void updateConfiguration(String id, String name, String value);
|
||||
void updateConfiguration(String id, String name, String value);
|
||||
|
||||
String createServer(String name, String type, String diskImageId,
|
||||
String networkId);
|
||||
String createServer(String name, String type, String diskImageId,
|
||||
String networkId);
|
||||
|
||||
Set<VServer> listServers(String id);
|
||||
Set<VServer> listServers(String id);
|
||||
|
||||
String createBuiltinServer(String name, String networkId);
|
||||
String createBuiltinServer(String name, String networkId);
|
||||
|
||||
Set<BuiltinServer> listBuiltinServers(String id, String type);
|
||||
Set<BuiltinServer> listBuiltinServers(String id, String type);
|
||||
|
||||
String createDisk(String id, String name, int size);
|
||||
String createDisk(String id, String name, int size);
|
||||
|
||||
Set<VDisk> listDisks(String id);
|
||||
Set<VDisk> listDisks(String id);
|
||||
|
||||
void allocatePublicIP(String id);
|
||||
void allocatePublicIP(String id);
|
||||
|
||||
Set<PublicIP> listPublicIPs(String id);
|
||||
Set<PublicIP> listPublicIPs(String id);
|
||||
|
||||
String standByConsole(String id, String networkId);
|
||||
String standByConsole(String id, String networkId);
|
||||
|
||||
void registerAsPrivateVSYSDescriptor(String id,
|
||||
String vsysDescriptorXMLFilePath);
|
||||
void registerAsPrivateVSYSDescriptor(String id,
|
||||
String vsysDescriptorXMLFilePath);
|
||||
}
|
||||
|
|
|
@ -60,115 +60,115 @@ import com.google.common.util.concurrent.ListenableFuture;
|
|||
@Timeout(duration = 60, timeUnit = TimeUnit.SECONDS)
|
||||
public interface VirtualSystemAsyncApi {
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "DestroyVSYS")
|
||||
ListenableFuture<Void> destroy(@QueryParam("vsysId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "DestroyVSYS")
|
||||
ListenableFuture<Void> destroy(@QueryParam("vsysId") String id);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetVSYSStatus")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<VSystemStatus> getStatus(@QueryParam("vsysId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetVSYSStatus")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<VSystemStatus> getStatus(@QueryParam("vsysId") String id);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetVSYSAttributes")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<VSystem> get(@QueryParam("vsysId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetVSYSAttributes")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<VSystem> get(@QueryParam("vsysId") String id);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetVSYSConfiguration")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<VSystemWithDetails> getDetails(
|
||||
@QueryParam("vsysId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "GetVSYSConfiguration")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<VSystemWithDetails> getDetails(
|
||||
@QueryParam("vsysId") String id);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "UpdateVSYSAttribute")
|
||||
ListenableFuture<Void> update(@QueryParam("vsysId") String id,
|
||||
@QueryParam("attributeName") String name,
|
||||
@QueryParam("attributeValue") String value);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "UpdateVSYSAttribute")
|
||||
ListenableFuture<Void> update(@QueryParam("vsysId") String id,
|
||||
@QueryParam("attributeName") String name,
|
||||
@QueryParam("attributeValue") String value);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "UpdateVSYSConfiguration")
|
||||
ListenableFuture<Void> updateConfiguration(@QueryParam("vsysId") String id,
|
||||
@QueryParam("configurationName") String name,
|
||||
@QueryParam("configurationValue") String value);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "UpdateVSYSConfiguration")
|
||||
ListenableFuture<Void> updateConfiguration(@QueryParam("vsysId") String id,
|
||||
@QueryParam("configurationName") String name,
|
||||
@QueryParam("configurationValue") String value);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "CreateVServer")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<String> createServer(
|
||||
@QueryParam("vserverName") String name,
|
||||
@QueryParam("vserverType") String type,
|
||||
@QueryParam("diskImageId") String diskImageId,
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("networkId") String networkId);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "CreateVServer")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<String> createServer(
|
||||
@QueryParam("vserverName") String name,
|
||||
@QueryParam("vserverType") String type,
|
||||
@QueryParam("diskImageId") String diskImageId,
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("networkId") String networkId);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "ListVServer")
|
||||
ListenableFuture<Set<VServer>> listServers(@QueryParam("vsysId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "ListVServer")
|
||||
ListenableFuture<Set<VServer>> listServers(@QueryParam("vsysId") String id);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "CreateVDisk")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<String> createDisk(@QueryParam("vsysId") String id,
|
||||
@QueryParam("vdiskName") String name, @QueryParam("size") int size);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "CreateVDisk")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<String> createDisk(@QueryParam("vsysId") String id,
|
||||
@QueryParam("vdiskName") String name, @QueryParam("size") int size);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "ListVDisk")
|
||||
ListenableFuture<Set<VDisk>> listDisks(@QueryParam("vsysId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "ListVDisk")
|
||||
ListenableFuture<Set<VDisk>> listDisks(@QueryParam("vsysId") String id);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "AllocatePublicIP")
|
||||
ListenableFuture<Void> allocatePublicIP(@QueryParam("vsysId") String id);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "AllocatePublicIP")
|
||||
ListenableFuture<Void> allocatePublicIP(@QueryParam("vsysId") String id);
|
||||
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
* @see VirtualDCAsyncApi#listPublicIPs()
|
||||
*/
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "ListPublicIP")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<Set<PublicIP>> listPublicIPs(
|
||||
@QueryParam("vsysId") String id);
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
* @see VirtualDCAsyncApi#listPublicIPs()
|
||||
*/
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "ListPublicIP")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<Set<PublicIP>> listPublicIPs(
|
||||
@QueryParam("vsysId") String id);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
// SLB is the only built-in server that can currently be created so
|
||||
// hard-code it
|
||||
@QueryParams(keys = { "Action", "efmType" }, values = { "CreateEFM", "SLB" })
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<String> createBuiltinServer(
|
||||
@QueryParam("efmName") String name,
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("networkId") String networkId);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
// SLB is the only built-in server that can currently be created so
|
||||
// hard-code it
|
||||
@QueryParams(keys = { "Action", "efmType" }, values = { "CreateEFM", "SLB" })
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<String> createBuiltinServer(
|
||||
@QueryParam("efmName") String name,
|
||||
@BinderParam(BindAlsoToSystemId.class) @QueryParam("networkId") String networkId);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "ListEFM")
|
||||
ListenableFuture<Set<BuiltinServer>> listBuiltinServers(
|
||||
@QueryParam("vsysId") String id, @QueryParam("efmType") String type);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "ListEFM")
|
||||
ListenableFuture<Set<BuiltinServer>> listBuiltinServers(
|
||||
@QueryParam("vsysId") String id, @QueryParam("efmType") String type);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "StandByConsole")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<String> standByConsole(@QueryParam("vsysId") String id,
|
||||
@QueryParam("networkId") String networkId);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "StandByConsole")
|
||||
@Transform(SingleElementResponseToElement.class)
|
||||
ListenableFuture<String> standByConsole(@QueryParam("vsysId") String id,
|
||||
@QueryParam("networkId") String networkId);
|
||||
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "RegisterPrivateVSYSDescriptor")
|
||||
ListenableFuture<Void> registerAsPrivateVSYSDescriptor(
|
||||
@QueryParam("vsysId") String id,
|
||||
@QueryParam("vsysDescriptorXMLFilePath") String vsysDescriptorXMLFilePath);
|
||||
@GET
|
||||
@JAXBResponseParser
|
||||
@QueryParams(keys = "Action", values = "RegisterPrivateVSYSDescriptor")
|
||||
ListenableFuture<Void> registerAsPrivateVSYSDescriptor(
|
||||
@QueryParam("vsysId") String id,
|
||||
@QueryParam("vsysDescriptorXMLFilePath") String vsysDescriptorXMLFilePath);
|
||||
}
|
||||
|
|
|
@ -18,18 +18,20 @@
|
|||
*/
|
||||
package org.jclouds.fujitsu.fgcp.xml;
|
||||
|
||||
import com.google.common.base.Strings;
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.ws.rs.core.MediaType;
|
||||
|
||||
import org.jclouds.fujitsu.fgcp.reference.RequestParameters;
|
||||
import org.jclouds.http.HttpRequest;
|
||||
import org.jclouds.rest.MapBinder;
|
||||
import org.jclouds.rest.binders.BindToStringPayload;
|
||||
|
||||
import javax.ws.rs.core.MediaType;
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
import com.google.common.base.Strings;
|
||||
|
||||
/**
|
||||
* Not currently used but leaving for reference when implementing multipart POST
|
||||
|
@ -38,59 +40,60 @@ import static com.google.common.base.Preconditions.checkNotNull;
|
|||
* @author Dies Koper
|
||||
*/
|
||||
public class BindParamsToXmlPayload extends BindToStringPayload implements
|
||||
MapBinder {
|
||||
MapBinder {
|
||||
|
||||
@Override
|
||||
public <R extends HttpRequest> R bindToRequest(R request,
|
||||
Map<String, Object> mapParams) {
|
||||
String action = checkNotNull(
|
||||
mapParams.remove(RequestParameters.ACTION),
|
||||
RequestParameters.ACTION).toString();
|
||||
String version = Strings.nullToEmpty((String) mapParams
|
||||
.remove(RequestParameters.VERSION));
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public <R extends HttpRequest> R bindToRequest(R request,
|
||||
Map<String, Object> mapParams) {
|
||||
String action = checkNotNull(
|
||||
mapParams.remove(RequestParameters.ACTION),
|
||||
RequestParameters.ACTION).toString();
|
||||
String version = Strings.nullToEmpty((String) mapParams
|
||||
.remove(RequestParameters.VERSION));
|
||||
|
||||
StringBuilder xml = new StringBuilder();
|
||||
xml.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n");
|
||||
xml.append("<OViSSRequest>\r\n");
|
||||
xml.append(" <Action>" + action + "</Action>\r\n");
|
||||
StringBuilder xml = new StringBuilder();
|
||||
xml.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n");
|
||||
xml.append("<OViSSRequest>\r\n");
|
||||
xml.append(" <Action>" + action + "</Action>\r\n");
|
||||
|
||||
for (Map.Entry<String, Object> entry : mapParams.entrySet()) {
|
||||
String key = entry.getKey();
|
||||
xml.append(" <" + key + ">" + checkNotNull(mapParams.get(key))
|
||||
+ "</" + key + ">\r\n");
|
||||
}
|
||||
for (Map.Entry<String, Object> entry : mapParams.entrySet()) {
|
||||
String key = entry.getKey();
|
||||
xml.append(" <" + key + ">" + checkNotNull(mapParams.get(key))
|
||||
+ "</" + key + ">\r\n");
|
||||
}
|
||||
|
||||
xml.append(" <Version>" + version + "</Version>\r\n");
|
||||
xml.append(" <Locale></Locale>\r\n"); // value inserted in
|
||||
// RequestAuthenticator#filter
|
||||
xml.append(" <AccessKeyId></AccessKeyId>\r\n"); // value inserted in
|
||||
// RequestAuthenticator#filter
|
||||
xml.append(" <Signature></Signature>\r\n"); // value inserted in
|
||||
// RequestAuthenticator#filter
|
||||
xml.append("</OViSSRequest>");
|
||||
xml.append(" <Version>" + version + "</Version>\r\n");
|
||||
xml.append(" <Locale></Locale>\r\n"); // value inserted in
|
||||
// RequestAuthenticator#filter
|
||||
xml.append(" <AccessKeyId></AccessKeyId>\r\n"); // value inserted in
|
||||
// RequestAuthenticator#filter
|
||||
xml.append(" <Signature></Signature>\r\n"); // value inserted in
|
||||
// RequestAuthenticator#filter
|
||||
xml.append("</OViSSRequest>");
|
||||
|
||||
request = super.bindToRequest(request, xml);
|
||||
request.getPayload().getContentMetadata()
|
||||
.setContentType(MediaType.TEXT_XML);
|
||||
request = super.bindToRequest(request, xml);
|
||||
request.getPayload().getContentMetadata()
|
||||
.setContentType(MediaType.TEXT_XML);
|
||||
|
||||
// remove version query param if set as it was moved to the xml body
|
||||
URI uri = request.getEndpoint();
|
||||
URI uriWithoutQueryParams;
|
||||
try {
|
||||
uriWithoutQueryParams = new URI(uri.getScheme(), uri.getUserInfo(),
|
||||
uri.getHost(), uri.getPort(), uri.getPath(), null,
|
||||
uri.getFragment());
|
||||
} catch (URISyntaxException e) {
|
||||
// should never happen as we're copying the components from a URI
|
||||
uriWithoutQueryParams = uri;
|
||||
}
|
||||
// remove version query param if set as it was moved to the xml body
|
||||
URI uri = request.getEndpoint();
|
||||
URI uriWithoutQueryParams;
|
||||
try {
|
||||
uriWithoutQueryParams = new URI(uri.getScheme(), uri.getUserInfo(),
|
||||
uri.getHost(), uri.getPort(), uri.getPath(), null,
|
||||
uri.getFragment());
|
||||
} catch (URISyntaxException e) {
|
||||
// should never happen as we're copying the components from a URI
|
||||
uriWithoutQueryParams = uri;
|
||||
}
|
||||
|
||||
return (R) request.toBuilder().endpoint(uriWithoutQueryParams).build();
|
||||
}
|
||||
return (R) request.toBuilder().endpoint(uriWithoutQueryParams).build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public <R extends HttpRequest> R bindToRequest(R request, Object toBind) {
|
||||
throw new IllegalArgumentException(
|
||||
"BindParamsToXmlPayload needs bind parameters");
|
||||
}
|
||||
@Override
|
||||
public <R extends HttpRequest> R bindToRequest(R request, Object toBind) {
|
||||
throw new IllegalArgumentException(
|
||||
"BindParamsToXmlPayload needs bind parameters");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -40,49 +40,49 @@ import org.jclouds.xml.XMLParser;
|
|||
*/
|
||||
@Singleton
|
||||
public class FGCPJAXBParser implements XMLParser {
|
||||
JAXBContext context;
|
||||
JAXBContext context;
|
||||
|
||||
public FGCPJAXBParser() throws JAXBException {
|
||||
context = JAXBContext.newInstance(VServerWithDetails.class.getPackage()
|
||||
.getName()
|
||||
+ ":"
|
||||
+ ListServerTypeResponse.class.getPackage().getName(),
|
||||
VServerWithDetails.class.getClassLoader());
|
||||
}
|
||||
public FGCPJAXBParser() throws JAXBException {
|
||||
context = JAXBContext.newInstance(VServerWithDetails.class.getPackage()
|
||||
.getName()
|
||||
+ ":"
|
||||
+ ListServerTypeResponse.class.getPackage().getName(),
|
||||
VServerWithDetails.class.getClassLoader());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toXML(final Object src) throws IOException {
|
||||
return toXML(src, src.getClass());
|
||||
}
|
||||
@Override
|
||||
public String toXML(final Object src) throws IOException {
|
||||
return toXML(src, src.getClass());
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> String toXML(final Object src, final Class<T> type)
|
||||
throws IOException {
|
||||
throw new UnsupportedOperationException(
|
||||
"only marshaling from XML is implemented");
|
||||
}
|
||||
@Override
|
||||
public <T> String toXML(final Object src, final Class<T> type)
|
||||
throws IOException {
|
||||
throw new UnsupportedOperationException(
|
||||
"only marshaling from XML is implemented");
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public <T> T fromXML(final String xml, final Class<T> type)
|
||||
throws IOException {
|
||||
T response = null;
|
||||
try {
|
||||
StringReader reader = new StringReader(xml);
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public <T> T fromXML(final String xml, final Class<T> type)
|
||||
throws IOException {
|
||||
T response = null;
|
||||
try {
|
||||
StringReader reader = new StringReader(xml);
|
||||
|
||||
Unmarshaller unmarshaller = context.createUnmarshaller();
|
||||
Unmarshaller unmarshaller = context.createUnmarshaller();
|
||||
|
||||
response = (T) unmarshaller.unmarshal(reader);
|
||||
} catch (Exception ex) {
|
||||
throw new IOException("Could not unmarshal document", ex);
|
||||
}
|
||||
response = (T) unmarshaller.unmarshal(reader);
|
||||
} catch (Exception ex) {
|
||||
throw new IOException("Could not unmarshal document", ex);
|
||||
}
|
||||
|
||||
if (((StatusQuerable) response).isError()) {
|
||||
throw new HttpException(
|
||||
((StatusQuerable) response).getResponseMessage());
|
||||
}
|
||||
if (((StatusQuerable) response).isError()) {
|
||||
throw new HttpException(
|
||||
((StatusQuerable) response).getResponseMessage());
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue