View Javadoc

1   /**
2    *
3    * Copyright (C) 2011 Cloud Conscious, LLC. <info@cloudconscious.com>
4    *
5    * ====================================================================
6    * Licensed under the Apache License, Version 2.0 (the "License");
7    * you may not use this file except in compliance with the License.
8    * You may obtain a copy of the License at
9    *
10   * http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing, software
13   * distributed under the License is distributed on an "AS IS" BASIS,
14   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   * See the License for the specific language governing permissions and
16   * limitations under the License.
17   * ====================================================================
18   */
19  package org.jclouds.compute.domain;
20  
21  import org.jclouds.compute.domain.internal.ComputeMetadataImpl;
22  import org.jclouds.domain.ResourceMetadata;
23  
24  import com.google.inject.ImplementedBy;
25  
26  /**
27   * @author Ivan Meredith
28   * @author Adrian Cole
29   */
30  @ImplementedBy(ComputeMetadataImpl.class)
31  public interface ComputeMetadata extends ResourceMetadata<ComputeType> {
32     /**
33      * Type of the resource, ex node, image, size
34      * 
35      */
36     @Override
37     public ComputeType getType();
38  
39     /**
40      * id of the server within the naming scope it was created. potentially generated by the service.
41      * 
42      */
43     @Override
44     public String getProviderId();
45  
46     /**
47      * user defined name of the server.
48      * 
49      */
50     @Override
51     public String getName();
52  
53     /**
54      * 
55      * A means to uniquely address this resource within a provider. For example, if the namespace of
56      * a node or image is region based, the id will likely include both the region and the
57      * provider-supplied id encoded to avoid collisions.
58      * 
59      */
60     public String getId();
61  
62  }