All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.ovirt.engine.sdk4.services.ClusterService Maven / Gradle / Ivy

There is a newer version: 4.5.1
Show newest version
/*
Copyright (c) 2015 Red Hat, Inc.
Licensed 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.ovirt.engine.sdk4.services;

import java.io.IOException;
import org.ovirt.engine.sdk4.Request;
import org.ovirt.engine.sdk4.Response;
import org.ovirt.engine.sdk4.Service;
import org.ovirt.engine.sdk4.builders.ClusterBuilder;
import org.ovirt.engine.sdk4.types.Cluster;

/**
 * A service to manage specific cluster.
 */
public interface ClusterService extends Service {
    /**
     * Get information about the cluster.
     * 
     * An example of getting a cluster:
     * 
     * [source]
     * ----
     * GET /ovirt-engine/api/clusters/123
     * ----
     * 
     * [source,xml]
     * ----
     * 
     *   
     *     
     *   
     *   Default
     *   The default server cluster
     *   
     *   
     *   
     *   
     *   
     *   
     *   false
     *   
     *     x86_64
     *     Intel Penryn Family
     *   
     *   
     *     migrate
     *   
     *   
     *     true
     *     
     *       false
     *       50
     *     
     *     
     *       false
     *     
     *   
     *   false
     *   false
     *   
     *     true
     *     true
     *   
     *   false
     *   
     *     
     *       100
     *     
     *     
     *       true
     *     
     *   
     *   
     *     inherit
     *     
     *       auto
     *     
     *     inherit
     *   
     *   false
     *   
     *     random
     *   
     *   
     *   false
     *   false
     *   false
     *   
     *     4
     *     0
     *   
     *   true
     *   
     * 
     * ----
     */
    public interface GetRequest extends Request {
        /**
         * Indicates if the results should be filtered according to the permissions of the user.
         */
        GetRequest filter(Boolean filter);
    }
    
    /**
     * Get information about the cluster.
     * 
     * An example of getting a cluster:
     * 
     * [source]
     * ----
     * GET /ovirt-engine/api/clusters/123
     * ----
     * 
     * [source,xml]
     * ----
     * 
     *   
     *     
     *   
     *   Default
     *   The default server cluster
     *   
     *   
     *   
     *   
     *   
     *   
     *   false
     *   
     *     x86_64
     *     Intel Penryn Family
     *   
     *   
     *     migrate
     *   
     *   
     *     true
     *     
     *       false
     *       50
     *     
     *     
     *       false
     *     
     *   
     *   false
     *   false
     *   
     *     true
     *     true
     *   
     *   false
     *   
     *     
     *       100
     *     
     *     
     *       true
     *     
     *   
     *   
     *     inherit
     *     
     *       auto
     *     
     *     inherit
     *   
     *   false
     *   
     *     random
     *   
     *   
     *   false
     *   false
     *   false
     *   
     *     4
     *     0
     *   
     *   true
     *   
     * 
     * ----
     */
    public interface GetResponse extends Response {
        Cluster cluster();
    }
    
    /**
     * Get information about the cluster.
     * 
     * An example of getting a cluster:
     * 
     * [source]
     * ----
     * GET /ovirt-engine/api/clusters/123
     * ----
     * 
     * [source,xml]
     * ----
     * 
     *   
     *     
     *   
     *   Default
     *   The default server cluster
     *   
     *   
     *   
     *   
     *   
     *   
     *   false
     *   
     *     x86_64
     *     Intel Penryn Family
     *   
     *   
     *     migrate
     *   
     *   
     *     true
     *     
     *       false
     *       50
     *     
     *     
     *       false
     *     
     *   
     *   false
     *   false
     *   
     *     true
     *     true
     *   
     *   false
     *   
     *     
     *       100
     *     
     *     
     *       true
     *     
     *   
     *   
     *     inherit
     *     
     *       auto
     *     
     *     inherit
     *   
     *   false
     *   
     *     random
     *   
     *   
     *   false
     *   false
     *   false
     *   
     *     4
     *     0
     *   
     *   true
     *   
     * 
     * ----
     */
    GetRequest get();
    
    /**
     * Removes cluster from the system.
     * 
     * [source]
     * ----
     * DELETE /ovirt-engine/api/clusters/00000000-0000-0000-0000-000000000000
     * ----
     */
    public interface RemoveRequest extends Request {
        /**
         * Indicates if the remove should be performed asynchronously.
         */
        RemoveRequest async(Boolean async);
    }
    
    /**
     * Removes cluster from the system.
     * 
     * [source]
     * ----
     * DELETE /ovirt-engine/api/clusters/00000000-0000-0000-0000-000000000000
     * ----
     */
    public interface RemoveResponse extends Response {
    }
    
    /**
     * Removes cluster from the system.
     * 
     * [source]
     * ----
     * DELETE /ovirt-engine/api/clusters/00000000-0000-0000-0000-000000000000
     * ----
     */
    RemoveRequest remove();
    
    public interface ResetEmulatedMachineRequest extends Request {
        /**
         * Indicates if the reset should be performed asynchronously.
         */
        ResetEmulatedMachineRequest async(Boolean async);
    }
    
    public interface ResetEmulatedMachineResponse extends Response {
    }
    
    ResetEmulatedMachineRequest resetEmulatedMachine();
    
    /**
     * Updates information about the cluster.
     * 
     * Only specified fields are updated, others remain unchanged.
     * 
     * E.g. update cluster's CPU:
     * 
     * [source]
     * ----
     * PUT /ovirt-engine/api/clusters/123
     * ----
     * 
     * With request body like:
     * 
     * [source,xml]
     * ----
     * 
     *   
     *     Intel Haswell-noTSX Family
     *   
     * 
     * ----
     */
    public interface UpdateRequest extends Request {
        /**
         * Indicates if the update should be performed asynchronously.
         */
        UpdateRequest async(Boolean async);
        UpdateRequest cluster(Cluster cluster);
        UpdateRequest cluster(ClusterBuilder cluster);
    }
    
    /**
     * Updates information about the cluster.
     * 
     * Only specified fields are updated, others remain unchanged.
     * 
     * E.g. update cluster's CPU:
     * 
     * [source]
     * ----
     * PUT /ovirt-engine/api/clusters/123
     * ----
     * 
     * With request body like:
     * 
     * [source,xml]
     * ----
     * 
     *   
     *     Intel Haswell-noTSX Family
     *   
     * 
     * ----
     */
    public interface UpdateResponse extends Response {
        Cluster cluster();
    }
    
    /**
     * Updates information about the cluster.
     * 
     * Only specified fields are updated, others remain unchanged.
     * 
     * E.g. update cluster's CPU:
     * 
     * [source]
     * ----
     * PUT /ovirt-engine/api/clusters/123
     * ----
     * 
     * With request body like:
     * 
     * [source,xml]
     * ----
     * 
     *   
     *     Intel Haswell-noTSX Family
     *   
     * 
     * ----
     */
    UpdateRequest update();
    
    /**
     * Reference to the service that manages affinity groups.
     */
    AffinityGroupsService affinityGroupsService();
    /**
     * Reference to the service that manages assigned CPU profiles for cluster.
     */
    AssignedCpuProfilesService cpuProfilesService();
    /**
     * Reference to the service that manages the Gluster hooks for cluster.
     */
    GlusterHooksService glusterHooksService();
    /**
     * Reference to the service that manages Gluster volumes for cluster.
     */
    GlusterVolumesService glusterVolumesService();
    /**
     * A sub collection with all the supported network filters for this cluster.
     */
    NetworkFiltersService networkFiltersService();
    /**
     * Reference to the service that manages assigned networks for cluster.
     */
    AssignedNetworksService networksService();
    /**
     * Reference to permissions.
     */
    AssignedPermissionsService permissionsService();
    /**
     * Service locator method, returns individual service on which the URI is dispatched.
     */
    Service service(String path);
}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy