1 /**
2 * Licensed to jclouds, Inc. (jclouds) under one or more
3 * contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. jclouds licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. 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,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19 package org.jclouds.trmk.vcloud_0_8.domain;
20
21 import java.util.Map;
22
23 import org.jclouds.javax.annotation.Nullable;
24
25 import org.jclouds.trmk.vcloud_0_8.domain.internal.OrgImpl;
26 import org.jclouds.trmk.vcloud_0_8.endpoints.Keys;
27
28 import com.google.inject.ImplementedBy;
29
30 /**
31 * A vCloud organization is a high-level abstraction that provides a unit of
32 * administration for objects and resources. As viewed by a user, an
33 * organization (represented by an Org element) can contain Catalog, Network,
34 * and vDC elements. If there are any queued, running, or recently completed
35 * tasks owned by a member of the organization, it also contains a TasksList
36 * element. As viewed by an administrator, an organization also contains users,
37 * groups, and other information
38 *
39 * @author Adrian Cole
40 */
41 @ImplementedBy(OrgImpl.class)
42 public interface Org extends ReferenceType {
43 /**
44 * optional description
45 *
46 * @since vcloud api 0.8
47 */
48 @Nullable
49 String getDescription();
50
51 /**
52 * @since vcloud api 0.8
53 */
54 Map<String, ReferenceType> getCatalogs();
55
56 /**
57 * @since vcloud api 0.8
58 */
59 Map<String, ReferenceType> getVDCs();
60
61 /**
62 * If there are any queued, running, or recently completed tasks owned by a
63 * member of the organization, it also contains a TasksList.
64 *
65 * there are multiple tasks lists in a terremark org
66 *
67 */
68 Map<String, ReferenceType> getTasksLists();
69
70 @Keys
71 ReferenceType getKeys();
72
73 }