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.vcloud.domain;
20
21 import java.util.List;
22 import java.util.Map;
23
24 import javax.annotation.Nullable;
25
26 import org.jclouds.vcloud.domain.internal.CatalogImpl;
27
28 import com.google.inject.ImplementedBy;
29
30 /**
31 * @author Adrian Cole
32 */
33 @org.jclouds.vcloud.endpoints.Catalog
34 @ImplementedBy(CatalogImpl.class)
35 public interface Catalog extends ReferenceType, Map<String, ReferenceType> {
36 /**
37 * Reference to the org containing this vDC.
38 *
39 * @since vcloud api 1.0
40 * @return org, or null if this is a version before 1.0 where the org isn't present
41 */
42 ReferenceType getOrg();
43
44 /**
45 * optional description
46 *
47 * @since vcloud api 0.8
48 */
49 @Nullable
50 String getDescription();
51
52 /**
53 * read‐only element, true if the catalog is published
54 *
55 * @since vcloud api 1.0
56 */
57 boolean isPublished();
58
59 /**
60 * @return true, if the current user cannot modify the catalog
61 * @since vcloud api 1.0
62 */
63 boolean isReadOnly();
64
65 /**
66 * read‐only container for Task elements. Each element in the container represents a queued,
67 * running, or failed task owned by this object.
68 *
69 * @since vcloud api 1.0
70 */
71 List<Task> getTasks();
72 }