/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package org.apache.brooklyn.location.jclouds; import java.util.Map; import java.util.Set; import org.jclouds.compute.ComputeService; import org.jclouds.compute.ComputeServiceContext; import org.jclouds.compute.RunNodesException; import org.jclouds.compute.RunScriptOnNodesException; import org.jclouds.compute.domain.ComputeMetadata; import org.jclouds.compute.domain.ExecResponse; import org.jclouds.compute.domain.Hardware; import org.jclouds.compute.domain.Image; import org.jclouds.compute.domain.NodeMetadata; import org.jclouds.compute.domain.Template; import org.jclouds.compute.domain.TemplateBuilder; import org.jclouds.compute.extensions.ImageExtension; import org.jclouds.compute.extensions.SecurityGroupExtension; import org.jclouds.compute.options.RunScriptOptions; import org.jclouds.compute.options.TemplateOptions; import org.jclouds.domain.Location; import org.jclouds.scriptbuilder.domain.Statement; import com.google.common.base.Optional; import com.google.common.base.Predicate; import com.google.common.util.concurrent.ListenableFuture; public class DelegatingComputeService implements ComputeService { private final ComputeService delegate; public DelegatingComputeService(ComputeService delegate) { this.delegate = delegate; } @Override public ComputeServiceContext getContext() { return delegate.getContext(); } @Override public TemplateBuilder templateBuilder() { return delegate.templateBuilder(); } @Override public TemplateOptions templateOptions() { return delegate.templateOptions(); } @Override public Set<? extends Hardware> listHardwareProfiles() { return delegate.listHardwareProfiles(); } @Override public Set<? extends Image> listImages() { return delegate.listImages(); } @Override public Image getImage(String id) { return delegate.getImage(id); } @Override public Set<? extends ComputeMetadata> listNodes() { return delegate.listNodes(); } @Override public Set<? extends NodeMetadata> listNodesByIds(Iterable<String> ids) { return delegate.listNodesByIds(ids); } @Override public Set<? extends Location> listAssignableLocations() { return delegate.listAssignableLocations(); } @Override public Set<? extends NodeMetadata> createNodesInGroup(String group, int count, Template template) throws RunNodesException { return delegate.createNodesInGroup(group, count, template); } @Override public Set<? extends NodeMetadata> createNodesInGroup(String group, int count, TemplateOptions templateOptions) throws RunNodesException { return delegate.createNodesInGroup(group, count, templateOptions); } @Override public Set<? extends NodeMetadata> createNodesInGroup(String group, int count) throws RunNodesException { return delegate.createNodesInGroup(group, count); } @Override public void resumeNode(String id) { delegate.resumeNode(id); } @Override public Set<? extends NodeMetadata> resumeNodesMatching(Predicate<NodeMetadata> filter) { return delegate.resumeNodesMatching(filter); } @Override public void suspendNode(String id) { delegate.suspendNode(id); } @Override public Set<? extends NodeMetadata> suspendNodesMatching(Predicate<NodeMetadata> filter) { return delegate.suspendNodesMatching(filter); } @Override public void destroyNode(String id) { delegate.destroyNode(id); } @Override public Set<? extends NodeMetadata> destroyNodesMatching(Predicate<NodeMetadata> filter) { return delegate.destroyNodesMatching(filter); } @Override public void rebootNode(String id) { delegate.rebootNode(id); } @Override public Set<? extends NodeMetadata> rebootNodesMatching(Predicate<NodeMetadata> filter) { return delegate.rebootNodesMatching(filter); } @Override public NodeMetadata getNodeMetadata(String id) { return delegate.getNodeMetadata(id); } @Override public Set<? extends NodeMetadata> listNodesDetailsMatching(Predicate<ComputeMetadata> filter) { return delegate.listNodesDetailsMatching(filter); } @Override public Map<? extends NodeMetadata, ExecResponse> runScriptOnNodesMatching(Predicate<NodeMetadata> filter, String runScript) throws RunScriptOnNodesException { return delegate.runScriptOnNodesMatching(filter, runScript); } @Override public Map<? extends NodeMetadata, ExecResponse> runScriptOnNodesMatching(Predicate<NodeMetadata> filter, Statement runScript) throws RunScriptOnNodesException { return delegate.runScriptOnNodesMatching(filter, runScript); } @Override public Map<? extends NodeMetadata, ExecResponse> runScriptOnNodesMatching(Predicate<NodeMetadata> filter, String runScript, RunScriptOptions options) throws RunScriptOnNodesException { return delegate.runScriptOnNodesMatching(filter, runScript, options); } @Override public Map<? extends NodeMetadata, ExecResponse> runScriptOnNodesMatching(Predicate<NodeMetadata> filter, Statement runScript, RunScriptOptions options) throws RunScriptOnNodesException { return delegate.runScriptOnNodesMatching(filter, runScript, options); } @Override public ExecResponse runScriptOnNode(String id, Statement runScript, RunScriptOptions options) { return delegate.runScriptOnNode(id, runScript, options); } @Override public ListenableFuture<ExecResponse> submitScriptOnNode(String id, String runScript, RunScriptOptions options) { return delegate.submitScriptOnNode(id, runScript, options); } @Override public ListenableFuture<ExecResponse> submitScriptOnNode(String id, Statement runScript, RunScriptOptions options) { return delegate.submitScriptOnNode(id, runScript, options); } @Override public ExecResponse runScriptOnNode(String id, Statement runScript) { return delegate.runScriptOnNode(id, runScript); } @Override public ExecResponse runScriptOnNode(String id, String runScript, RunScriptOptions options) { return delegate.runScriptOnNode(id, runScript, options); } @Override public ExecResponse runScriptOnNode(String id, String runScript) { return delegate.runScriptOnNode(id, runScript); } @Override public Optional<ImageExtension> getImageExtension() { return delegate.getImageExtension(); } @Override public Optional<SecurityGroupExtension> getSecurityGroupExtension() { return delegate.getSecurityGroupExtension(); } }