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

com.softlayer.api.service.location.Datacenter Maven / Gradle / Ivy

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

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.Hardware;
import com.softlayer.api.service.Location;
import com.softlayer.api.service.brand.restriction.location.CustomerCountry;
import com.softlayer.api.service.location.group.Regional;
import com.softlayer.api.service.network.Subnet;
import com.softlayer.api.service.network.regional.internet.Registry;
import com.softlayer.api.service.sales.presale.Event;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Future;

/**
 * SoftLayer_Location_Datacenter extends the [[SoftLayer_Location]] data type to include datacenter-specific properties. 
 *
 * @see SoftLayer_Location_Datacenter
 */
@ApiType("SoftLayer_Location_Datacenter")
public class Datacenter extends Location {

    @ApiProperty
    protected List activeItemPresaleEvents;

    public List getActiveItemPresaleEvents() {
        if (activeItemPresaleEvents == null) {
            activeItemPresaleEvents = new ArrayList();
        }
        return activeItemPresaleEvents;
    }

    @ApiProperty
    protected List backendHardwareRouters;

    public List getBackendHardwareRouters() {
        if (backendHardwareRouters == null) {
            backendHardwareRouters = new ArrayList();
        }
        return backendHardwareRouters;
    }

    /**
     * Subnets which are directly bound to one or more routers in a given datacenter, and currently allow routing.
     */
    @ApiProperty
    protected List boundSubnets;

    public List getBoundSubnets() {
        if (boundSubnets == null) {
            boundSubnets = new ArrayList();
        }
        return boundSubnets;
    }

    /**
     * This references relationship between brands, locations and countries associated with a user's account that are ineligible when ordering products. For example, the India datacenter may not be available on this brand for customers that live in Great Britain.
     */
    @ApiProperty
    protected List brandCountryRestrictions;

    public List getBrandCountryRestrictions() {
        if (brandCountryRestrictions == null) {
            brandCountryRestrictions = new ArrayList();
        }
        return brandCountryRestrictions;
    }

    @ApiProperty
    protected List frontendHardwareRouters;

    public List getFrontendHardwareRouters() {
        if (frontendHardwareRouters == null) {
            frontendHardwareRouters = new ArrayList();
        }
        return frontendHardwareRouters;
    }

    @ApiProperty
    protected List hardwareRouters;

    public List getHardwareRouters() {
        if (hardwareRouters == null) {
            hardwareRouters = new ArrayList();
        }
        return hardwareRouters;
    }

    @ApiProperty
    protected List presaleEvents;

    public List getPresaleEvents() {
        if (presaleEvents == null) {
            presaleEvents = new ArrayList();
        }
        return presaleEvents;
    }

    /**
     * The regional group this datacenter belongs to.
     */
    @ApiProperty
    protected Regional regionalGroup;

    public Regional getRegionalGroup() {
        return regionalGroup;
    }

    public void setRegionalGroup(Regional regionalGroup) {
        this.regionalGroup = regionalGroup;
    }

    @ApiProperty
    protected Registry regionalInternetRegistry;

    public Registry getRegionalInternetRegistry() {
        return regionalInternetRegistry;
    }

    public void setRegionalInternetRegistry(Registry regionalInternetRegistry) {
        this.regionalInternetRegistry = regionalInternetRegistry;
    }

    /**
     * Retrieve all subnets that are eligible to be routed; those which the account has permission to associate with a vlan.
     */
    @ApiProperty
    protected List routableBoundSubnets;

    public List getRoutableBoundSubnets() {
        if (routableBoundSubnets == null) {
            routableBoundSubnets = new ArrayList();
        }
        return routableBoundSubnets;
    }

    /**
     * A count of 
     */
    @ApiProperty
    protected Long activeItemPresaleEventCount;

    public Long getActiveItemPresaleEventCount() {
        return activeItemPresaleEventCount;
    }

    public void setActiveItemPresaleEventCount(Long activeItemPresaleEventCount) {
        this.activeItemPresaleEventCount = activeItemPresaleEventCount;
    }

    /**
     * A count of 
     */
    @ApiProperty
    protected Long backendHardwareRouterCount;

    public Long getBackendHardwareRouterCount() {
        return backendHardwareRouterCount;
    }

    public void setBackendHardwareRouterCount(Long backendHardwareRouterCount) {
        this.backendHardwareRouterCount = backendHardwareRouterCount;
    }

    /**
     * A count of subnets which are directly bound to one or more routers in a given datacenter, and currently allow routing.
     */
    @ApiProperty
    protected Long boundSubnetCount;

    public Long getBoundSubnetCount() {
        return boundSubnetCount;
    }

    public void setBoundSubnetCount(Long boundSubnetCount) {
        this.boundSubnetCount = boundSubnetCount;
    }

    /**
     * A count of this references relationship between brands, locations and countries associated with a user's account that are ineligible when ordering products. For example, the India datacenter may not be available on this brand for customers that live in Great Britain.
     */
    @ApiProperty
    protected Long brandCountryRestrictionCount;

    public Long getBrandCountryRestrictionCount() {
        return brandCountryRestrictionCount;
    }

    public void setBrandCountryRestrictionCount(Long brandCountryRestrictionCount) {
        this.brandCountryRestrictionCount = brandCountryRestrictionCount;
    }

    /**
     * A count of 
     */
    @ApiProperty
    protected Long frontendHardwareRouterCount;

    public Long getFrontendHardwareRouterCount() {
        return frontendHardwareRouterCount;
    }

    public void setFrontendHardwareRouterCount(Long frontendHardwareRouterCount) {
        this.frontendHardwareRouterCount = frontendHardwareRouterCount;
    }

    /**
     * A count of 
     */
    @ApiProperty
    protected Long hardwareRouterCount;

    public Long getHardwareRouterCount() {
        return hardwareRouterCount;
    }

    public void setHardwareRouterCount(Long hardwareRouterCount) {
        this.hardwareRouterCount = hardwareRouterCount;
    }

    /**
     * A count of 
     */
    @ApiProperty
    protected Long presaleEventCount;

    public Long getPresaleEventCount() {
        return presaleEventCount;
    }

    public void setPresaleEventCount(Long presaleEventCount) {
        this.presaleEventCount = presaleEventCount;
    }

    /**
     * A count of retrieve all subnets that are eligible to be routed; those which the account has permission to associate with a vlan.
     */
    @ApiProperty
    protected Long routableBoundSubnetCount;

    public Long getRoutableBoundSubnetCount() {
        return routableBoundSubnetCount;
    }

    public void setRoutableBoundSubnetCount(Long routableBoundSubnetCount) {
        this.routableBoundSubnetCount = routableBoundSubnetCount;
    }

    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());
    }

    /**
     * SoftLayer_Location_Datacenter exposes functionality to access datacenter-specific portions of SoftLayer's backend network. SoftLayer maintains datacenters within it's location hierarchy. Datacenters are located in city locations and each contain server room locations, racks, then slots. Each slot location houses a piece of SoftLayer hardware. 
     *
     * @see SoftLayer_Location_Datacenter
     */
    @com.softlayer.api.annotation.ApiService("SoftLayer_Location_Datacenter")
    public static interface Service extends Location.Service {

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

        /**
         * @see SoftLayer_Location_Datacenter::getObject
         */
        @ApiMethod(value = "getObject", instanceRequired = true)
        public Datacenter getObjectForDatacenter();

        /**
         * Retrieve a graph of a SoftLayer datacenter's last 48 hours of network activity. Statistics graphs show traffic outbound from a datacenter on top and inbound traffic on the bottom followed by a legend of the network services tracked in the graph. getStatisticsGraphImage returns a PNG image of variable width and height depending on the number of services reported in the image. 
         *
         * @see SoftLayer_Location_Datacenter::getStatisticsGraphImage
         */
        @ApiMethod(instanceRequired = true)
        public byte[] getStatisticsGraphImage();

        /**
         * @see SoftLayer_Location_Datacenter::getActiveItemPresaleEvents
         */
        @ApiMethod(instanceRequired = true)
        public List getActiveItemPresaleEvents();

        /**
         * @see SoftLayer_Location_Datacenter::getBackendHardwareRouters
         */
        @ApiMethod(instanceRequired = true)
        public List getBackendHardwareRouters();

        /**
         * Subnets which are directly bound to one or more routers in a given datacenter, and currently allow routing.
         *
         * @see SoftLayer_Location_Datacenter::getBoundSubnets
         */
        @ApiMethod(instanceRequired = true)
        public List getBoundSubnets();

        /**
         * This references relationship between brands, locations and countries associated with a user's account that are ineligible when ordering products. For example, the India datacenter may not be available on this brand for customers that live in Great Britain.
         *
         * @see SoftLayer_Location_Datacenter::getBrandCountryRestrictions
         */
        @ApiMethod(instanceRequired = true)
        public List getBrandCountryRestrictions();

        /**
         * @see SoftLayer_Location_Datacenter::getFrontendHardwareRouters
         */
        @ApiMethod(instanceRequired = true)
        public List getFrontendHardwareRouters();

        /**
         * @see SoftLayer_Location_Datacenter::getHardwareRouters
         */
        @ApiMethod(instanceRequired = true)
        public List getHardwareRouters();

        /**
         * @see SoftLayer_Location_Datacenter::getPresaleEvents
         */
        @ApiMethod(instanceRequired = true)
        public List getPresaleEvents();

        /**
         * The regional group this datacenter belongs to.
         *
         * @see SoftLayer_Location_Datacenter::getRegionalGroup
         */
        @ApiMethod(instanceRequired = true)
        public Regional getRegionalGroup();

        /**
         * @see SoftLayer_Location_Datacenter::getRegionalInternetRegistry
         */
        @ApiMethod(instanceRequired = true)
        public Registry getRegionalInternetRegistry();

        /**
         * Retrieve all subnets that are eligible to be routed; those which the account has permission to associate with a vlan.
         *
         * @see SoftLayer_Location_Datacenter::getRoutableBoundSubnets
         */
        @ApiMethod(instanceRequired = true)
        public List getRoutableBoundSubnets();

    }

    public static interface ServiceAsync extends Location.ServiceAsync {

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

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

        public Future getObjectForDatacenter(ResponseHandler callback);

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

        public Future getStatisticsGraphImage(ResponseHandler callback);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    }

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

        public com.softlayer.api.service.sales.presale.Event.Mask activeItemPresaleEvents() {
            return withSubMask("activeItemPresaleEvents", com.softlayer.api.service.sales.presale.Event.Mask.class);
        }

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

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

        public com.softlayer.api.service.brand.restriction.location.CustomerCountry.Mask brandCountryRestrictions() {
            return withSubMask("brandCountryRestrictions", com.softlayer.api.service.brand.restriction.location.CustomerCountry.Mask.class);
        }

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

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

        public com.softlayer.api.service.sales.presale.Event.Mask presaleEvents() {
            return withSubMask("presaleEvents", com.softlayer.api.service.sales.presale.Event.Mask.class);
        }

        public com.softlayer.api.service.location.group.Regional.Mask regionalGroup() {
            return withSubMask("regionalGroup", com.softlayer.api.service.location.group.Regional.Mask.class);
        }

        public com.softlayer.api.service.network.regional.internet.Registry.Mask regionalInternetRegistry() {
            return withSubMask("regionalInternetRegistry", com.softlayer.api.service.network.regional.internet.Registry.Mask.class);
        }

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

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

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

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

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

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

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

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

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

    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy