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

com.softlayer.api.service.network.storage.Group Maven / Gradle / Ivy

There is a newer version: 0.3.4
Show newest version
package com.softlayer.api.service.network.storage;

import com.softlayer.api.ApiClient;
import com.softlayer.api.ResponseHandler;
import com.softlayer.api.annotation.ApiMethod;
import com.softlayer.api.annotation.ApiProperty;
import com.softlayer.api.annotation.ApiType;
import com.softlayer.api.service.Account;
import com.softlayer.api.service.Entity;
import com.softlayer.api.service.container.network.storage.NetworkConnectionInformation;
import com.softlayer.api.service.network.Storage;
import com.softlayer.api.service.network.service.Resource;
import com.softlayer.api.service.network.storage.allowed.Host;
import com.softlayer.api.service.network.storage.iscsi.os.Type;
import java.util.ArrayList;
import java.util.GregorianCalendar;
import java.util.List;
import java.util.concurrent.Future;

/**
 * @see SoftLayer_Network_Storage_Group
 */
@ApiType("SoftLayer_Network_Storage_Group")
public class Group extends Entity {

    /**
     * The SoftLayer_Account which owns this group.
     */
    @ApiProperty
    protected Account account;

    public Account getAccount() {
        return account;
    }

    public void setAccount(Account account) {
        this.account = account;
    }

    /**
     * The allowed hosts list for this group.
     */
    @ApiProperty
    protected List allowedHosts;

    public List getAllowedHosts() {
        if (allowedHosts == null) {
            allowedHosts = new ArrayList();
        }
        return allowedHosts;
    }

    /**
     * The network storage volumes this group is attached to.
     */
    @ApiProperty
    protected List attachedVolumes;

    public List getAttachedVolumes() {
        if (attachedVolumes == null) {
            attachedVolumes = new ArrayList();
        }
        return attachedVolumes;
    }

    /**
     * The type which defines this group.
     */
    @ApiProperty
    protected com.softlayer.api.service.network.storage.group.Type groupType;

    public com.softlayer.api.service.network.storage.group.Type getGroupType() {
        return groupType;
    }

    public void setGroupType(com.softlayer.api.service.network.storage.group.Type groupType) {
        this.groupType = groupType;
    }

    /**
     * The OS Type this group is configured for.
     */
    @ApiProperty
    protected Type osType;

    public Type getOsType() {
        return osType;
    }

    public void setOsType(Type osType) {
        this.osType = osType;
    }

    /**
     * The network resource this group is created on.
     */
    @ApiProperty
    protected Resource serviceResource;

    public Resource getServiceResource() {
        return serviceResource;
    }

    public void setServiceResource(Resource serviceResource) {
        this.serviceResource = serviceResource;
    }

    /**
     * The account ID which owns this group
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Long accountId;

    public Long getAccountId() {
        return accountId;
    }

    public void setAccountId(Long accountId) {
        accountIdSpecified = true;
        this.accountId = accountId;
    }

    protected boolean accountIdSpecified;

    public boolean isAccountIdSpecified() {
        return accountIdSpecified;
    }

    public void unsetAccountId() {
        accountId = null;
        accountIdSpecified = false;
    }

    /**
     * The friendly name of this group
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected String alias;

    public String getAlias() {
        return alias;
    }

    public void setAlias(String alias) {
        aliasSpecified = true;
        this.alias = alias;
    }

    protected boolean aliasSpecified;

    public boolean isAliasSpecified() {
        return aliasSpecified;
    }

    public void unsetAlias() {
        alias = null;
        aliasSpecified = false;
    }

    /**
     * The date this group was created.
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected GregorianCalendar createDate;

    public GregorianCalendar getCreateDate() {
        return createDate;
    }

    public void setCreateDate(GregorianCalendar createDate) {
        createDateSpecified = true;
        this.createDate = createDate;
    }

    protected boolean createDateSpecified;

    public boolean isCreateDateSpecified() {
        return createDateSpecified;
    }

    public void unsetCreateDate() {
        createDate = null;
        createDateSpecified = false;
    }

    /**
     * The SoftLayer_Network_Storage_Group_Type which describes this group.
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Long groupTypeId;

    public Long getGroupTypeId() {
        return groupTypeId;
    }

    public void setGroupTypeId(Long groupTypeId) {
        groupTypeIdSpecified = true;
        this.groupTypeId = groupTypeId;
    }

    protected boolean groupTypeIdSpecified;

    public boolean isGroupTypeIdSpecified() {
        return groupTypeIdSpecified;
    }

    public void unsetGroupTypeId() {
        groupTypeId = null;
        groupTypeIdSpecified = false;
    }

    /**
     * The internal identifier of the group
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Long id;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        idSpecified = true;
        this.id = id;
    }

    protected boolean idSpecified;

    public boolean isIdSpecified() {
        return idSpecified;
    }

    public void unsetId() {
        id = null;
        idSpecified = false;
    }

    @ApiProperty(canBeNullOrNotSet = true)
    protected GregorianCalendar modifyDate;

    public GregorianCalendar getModifyDate() {
        return modifyDate;
    }

    public void setModifyDate(GregorianCalendar modifyDate) {
        modifyDateSpecified = true;
        this.modifyDate = modifyDate;
    }

    protected boolean modifyDateSpecified;

    public boolean isModifyDateSpecified() {
        return modifyDateSpecified;
    }

    public void unsetModifyDate() {
        modifyDate = null;
        modifyDateSpecified = false;
    }

    /**
     * A SoftLayer_Network_Storage_OS_Type Operating System designation that this group was created for.
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Long osTypeId;

    public Long getOsTypeId() {
        return osTypeId;
    }

    public void setOsTypeId(Long osTypeId) {
        osTypeIdSpecified = true;
        this.osTypeId = osTypeId;
    }

    protected boolean osTypeIdSpecified;

    public boolean isOsTypeIdSpecified() {
        return osTypeIdSpecified;
    }

    public void unsetOsTypeId() {
        osTypeId = null;
        osTypeIdSpecified = false;
    }

    /**
     * A SoftLayer_Network_Service_Resource that this group was created on.
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Long serviceResourceId;

    public Long getServiceResourceId() {
        return serviceResourceId;
    }

    public void setServiceResourceId(Long serviceResourceId) {
        serviceResourceIdSpecified = true;
        this.serviceResourceId = serviceResourceId;
    }

    protected boolean serviceResourceIdSpecified;

    public boolean isServiceResourceIdSpecified() {
        return serviceResourceIdSpecified;
    }

    public void unsetServiceResourceId() {
        serviceResourceId = null;
        serviceResourceIdSpecified = false;
    }

    /**
     * A count of the allowed hosts list for this group.
     */
    @ApiProperty
    protected Long allowedHostCount;

    public Long getAllowedHostCount() {
        return allowedHostCount;
    }

    public void setAllowedHostCount(Long allowedHostCount) {
        this.allowedHostCount = allowedHostCount;
    }

    /**
     * A count of the network storage volumes this group is attached to.
     */
    @ApiProperty
    protected Long attachedVolumeCount;

    public Long getAttachedVolumeCount() {
        return attachedVolumeCount;
    }

    public void setAttachedVolumeCount(Long attachedVolumeCount) {
        this.attachedVolumeCount = attachedVolumeCount;
    }

    public Service asService(ApiClient client) {
        return service(client, id);
    }

    public static Service service(ApiClient client) {
        return client.createService(Service.class, null);
    }

    public static Service service(ApiClient client, Long id) {
        return client.createService(Service.class, id == null ? null : id.toString());
    }

    /**
     * @see SoftLayer_Network_Storage_Group
     */
    @com.softlayer.api.annotation.ApiService("SoftLayer_Network_Storage_Group")
    public static interface Service extends com.softlayer.api.Service {

        public ServiceAsync asAsync();
        public Mask withNewMask();
        public Mask withMask();
        public void setMask(Mask mask);

        /**
         * Use this method to attach a SoftLayer_Network_Storage_Allowed_Host object to this group.  This will automatically enable access from this host to any SoftLayer_Network_Storage volumes currently attached to this group. 
         *
         * @see SoftLayer_Network_Storage_Group::addAllowedHost
         */
        @ApiMethod(instanceRequired = true)
        public Boolean addAllowedHost(Host allowedHost);

        /**
         * Use this method to attach a SoftLayer_Network_Storage volume to this group.  This will automatically enable access to this volume for any SoftLayer_Network_Storage_Allowed_Host objects currently attached to this group. 
         *
         * @see SoftLayer_Network_Storage_Group::attachToVolume
         */
        @ApiMethod(instanceRequired = true)
        public Boolean attachToVolume(Storage volume);

        /**
         * @see SoftLayer_Network_Storage_Group::createObject
         */
        @ApiMethod
        public Boolean createObject(Group templateObject);

        /**
         * @see SoftLayer_Network_Storage_Group::deleteObject
         */
        @ApiMethod(instanceRequired = true)
        public Boolean deleteObject();

        /**
         * @see SoftLayer_Network_Storage_Group::editObject
         */
        @ApiMethod(instanceRequired = true)
        public Boolean editObject(Group templateObject);

        /**
         * Use this method to retrieve all network storage groups. 
         *
         * @see SoftLayer_Network_Storage_Group::getAllObjects
         */
        @ApiMethod
        public List getAllObjects();

        /**
         * Use this method to retrieve network connection information for SoftLayer_Network_Storage_Allowed_Host objects within this group. 
         *
         * @see SoftLayer_Network_Storage_Group::getNetworkConnectionDetails
         */
        @ApiMethod(instanceRequired = true)
        public NetworkConnectionInformation getNetworkConnectionDetails();

        /**
         * @see SoftLayer_Network_Storage_Group::getObject
         */
        @ApiMethod(instanceRequired = true)
        public Group getObject();

        /**
         * Use this method to remove a SoftLayer_Network_Storage_Allowed_Host object from this group.  This will automatically disable access from this host to any SoftLayer_Network_Storage volumes currently attached to this group. 
         *
         * @see SoftLayer_Network_Storage_Group::removeAllowedHost
         */
        @ApiMethod(instanceRequired = true)
        public Boolean removeAllowedHost(Host allowedHost);

        /**
         * Use this method to remove a SoftLayer_Network_Storage volume from this group.  This will automatically disable access to this volume for any SoftLayer_Network_Storage_Allowed_Host objects currently attached to this group. 
         *
         * @see SoftLayer_Network_Storage_Group::removeFromVolume
         */
        @ApiMethod(instanceRequired = true)
        public Boolean removeFromVolume(Storage volume);

        /**
         * The SoftLayer_Account which owns this group.
         *
         * @see SoftLayer_Network_Storage_Group::getAccount
         */
        @ApiMethod(instanceRequired = true)
        public Account getAccount();

        /**
         * The allowed hosts list for this group.
         *
         * @see SoftLayer_Network_Storage_Group::getAllowedHosts
         */
        @ApiMethod(instanceRequired = true)
        public List getAllowedHosts();

        /**
         * The network storage volumes this group is attached to.
         *
         * @see SoftLayer_Network_Storage_Group::getAttachedVolumes
         */
        @ApiMethod(instanceRequired = true)
        public List getAttachedVolumes();

        /**
         * The type which defines this group.
         *
         * @see SoftLayer_Network_Storage_Group::getGroupType
         */
        @ApiMethod(instanceRequired = true)
        public com.softlayer.api.service.network.storage.group.Type getGroupType();

        /**
         * The OS Type this group is configured for.
         *
         * @see SoftLayer_Network_Storage_Group::getOsType
         */
        @ApiMethod(instanceRequired = true)
        public Type getOsType();

        /**
         * The network resource this group is created on.
         *
         * @see SoftLayer_Network_Storage_Group::getServiceResource
         */
        @ApiMethod(instanceRequired = true)
        public Resource getServiceResource();

    }

    public static interface ServiceAsync extends com.softlayer.api.ServiceAsync {

        public Mask withNewMask();
        public Mask withMask();
        public void setMask(Mask mask);

        /**
         * Async version of {@link Service#addAllowedHost}
         */
        public Future addAllowedHost(Host allowedHost);

        public Future addAllowedHost(Host allowedHost, ResponseHandler callback);

        /**
         * Async version of {@link Service#attachToVolume}
         */
        public Future attachToVolume(Storage volume);

        public Future attachToVolume(Storage volume, ResponseHandler callback);

        /**
         * Async version of {@link Service#createObject}
         */
        public Future createObject(Group templateObject);

        public Future createObject(Group templateObject, ResponseHandler callback);

        /**
         * Async version of {@link Service#deleteObject}
         */
        public Future deleteObject();

        public Future deleteObject(ResponseHandler callback);

        /**
         * Async version of {@link Service#editObject}
         */
        public Future editObject(Group templateObject);

        public Future editObject(Group templateObject, ResponseHandler callback);

        /**
         * Async version of {@link Service#getAllObjects}
         */
        public Future> getAllObjects();

        public Future getAllObjects(ResponseHandler> callback);

        /**
         * Async version of {@link Service#getNetworkConnectionDetails}
         */
        public Future getNetworkConnectionDetails();

        public Future getNetworkConnectionDetails(ResponseHandler callback);

        /**
         * Async version of {@link Service#getObject}
         */
        public Future getObject();

        public Future getObject(ResponseHandler callback);

        /**
         * Async version of {@link Service#removeAllowedHost}
         */
        public Future removeAllowedHost(Host allowedHost);

        public Future removeAllowedHost(Host allowedHost, ResponseHandler callback);

        /**
         * Async version of {@link Service#removeFromVolume}
         */
        public Future removeFromVolume(Storage volume);

        public Future removeFromVolume(Storage volume, ResponseHandler callback);

        /**
         * Async version of {@link Service#getAccount}
         */
        public Future getAccount();

        /**
         * Async callback version of {@link Service#getAccount}
         */
        public Future getAccount(ResponseHandler callback);

        /**
         * Async version of {@link Service#getAllowedHosts}
         */
        public Future> getAllowedHosts();

        /**
         * Async callback version of {@link Service#getAllowedHosts}
         */
        public Future getAllowedHosts(ResponseHandler> callback);

        /**
         * Async version of {@link Service#getAttachedVolumes}
         */
        public Future> getAttachedVolumes();

        /**
         * Async callback version of {@link Service#getAttachedVolumes}
         */
        public Future getAttachedVolumes(ResponseHandler> callback);

        /**
         * Async version of {@link Service#getGroupType}
         */
        public Future getGroupType();

        /**
         * Async callback version of {@link Service#getGroupType}
         */
        public Future getGroupType(ResponseHandler callback);

        /**
         * Async version of {@link Service#getOsType}
         */
        public Future getOsType();

        /**
         * Async callback version of {@link Service#getOsType}
         */
        public Future getOsType(ResponseHandler callback);

        /**
         * Async version of {@link Service#getServiceResource}
         */
        public Future getServiceResource();

        /**
         * Async callback version of {@link Service#getServiceResource}
         */
        public Future getServiceResource(ResponseHandler callback);

    }

    public static class Mask extends com.softlayer.api.service.Entity.Mask {

        public com.softlayer.api.service.Account.Mask account() {
            return withSubMask("account", com.softlayer.api.service.Account.Mask.class);
        }

        public com.softlayer.api.service.network.storage.allowed.Host.Mask allowedHosts() {
            return withSubMask("allowedHosts", com.softlayer.api.service.network.storage.allowed.Host.Mask.class);
        }

        public com.softlayer.api.service.network.Storage.Mask attachedVolumes() {
            return withSubMask("attachedVolumes", com.softlayer.api.service.network.Storage.Mask.class);
        }

        public com.softlayer.api.service.network.storage.group.Type.Mask groupType() {
            return withSubMask("groupType", com.softlayer.api.service.network.storage.group.Type.Mask.class);
        }

        public com.softlayer.api.service.network.storage.iscsi.os.Type.Mask osType() {
            return withSubMask("osType", com.softlayer.api.service.network.storage.iscsi.os.Type.Mask.class);
        }

        public com.softlayer.api.service.network.service.Resource.Mask serviceResource() {
            return withSubMask("serviceResource", com.softlayer.api.service.network.service.Resource.Mask.class);
        }

        public Mask accountId() {
            withLocalProperty("accountId");
            return this;
        }

        public Mask alias() {
            withLocalProperty("alias");
            return this;
        }

        public Mask createDate() {
            withLocalProperty("createDate");
            return this;
        }

        public Mask groupTypeId() {
            withLocalProperty("groupTypeId");
            return this;
        }

        public Mask id() {
            withLocalProperty("id");
            return this;
        }

        public Mask modifyDate() {
            withLocalProperty("modifyDate");
            return this;
        }

        public Mask osTypeId() {
            withLocalProperty("osTypeId");
            return this;
        }

        public Mask serviceResourceId() {
            withLocalProperty("serviceResourceId");
            return this;
        }

        public Mask allowedHostCount() {
            withLocalProperty("allowedHostCount");
            return this;
        }

        public Mask attachedVolumeCount() {
            withLocalProperty("attachedVolumeCount");
            return this;
        }

    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy