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

org.meridor.perspective.openstack.Api Maven / Gradle / Ivy

package org.meridor.perspective.openstack;

import org.openstack4j.model.compute.*;
import org.openstack4j.model.compute.ext.AvailabilityZone;
import org.openstack4j.model.network.Network;

import java.util.List;
import java.util.Optional;
import java.util.Set;

public interface Api {

    // Project operations

    Set listComputeRegions();

    List listFlavors();

    List listNetworks();

    List listAvailabilityZones();

    List listKeypairs();

    AbsoluteLimit getQuota();

    //Instance operations

    String addInstance(ServerCreate serverConfig);

    boolean deleteInstance(String instanceId);

    boolean startInstance(String instanceId);

    boolean shutdownInstance(String instanceId);

    boolean rebootInstance(String instanceId);

    boolean hardRebootInstance(String instanceId);

    boolean resizeInstance(String instanceId, String flavorId);
    
    boolean confirmInstanceResize(String instanceId);
    
    boolean revertInstanceResize(String instanceId);

    boolean rebuildInstance(String instanceId, String imageId);

    boolean pauseInstance(String instanceId);
    
    boolean unpauseInstance(String instanceId);
    
    boolean suspendInstance(String instanceId);

    boolean resumeInstance(String instanceId);

    List listInstances();

    Optional getInstanceById(String instanceId);

    String getInstanceConsoleUrl(String instanceId, String consoleType);

    // Image operations

    String addImage(String instanceId, String imageName);

    void deleteImage(String imageId);

    List listImages();

    Optional getImageById(String imageId);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy