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

com.softlayer.api.service.product.Package Maven / Gradle / Ivy

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

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.Entity;
import com.softlayer.api.service.Location;
import com.softlayer.api.service.container.product.order.network.storage.hub.Datacenter;
import com.softlayer.api.service.container.product.order.network.storage.objectstorage.LocationGroup;
import com.softlayer.api.service.location.Region;
import com.softlayer.api.service.product.Item;
import com.softlayer.api.service.product.item.Category;
import com.softlayer.api.service.product.item.Price;
import com.softlayer.api.service.product.item.attribute.Type;
import com.softlayer.api.service.product.item.price.Premium;
import com.softlayer.api.service.product.item.resource.Conflict;
import com.softlayer.api.service.product.pkg.Attribute;
import com.softlayer.api.service.product.pkg.Locations;
import com.softlayer.api.service.product.pkg.Preset;
import com.softlayer.api.service.product.pkg.item.Prices;
import com.softlayer.api.service.product.pkg.order.Configuration;
import com.softlayer.api.service.product.pkg.order.Step;
import com.softlayer.api.service.resource.group.Template;
import com.softlayer.api.service.software.Description;
import com.softlayer.api.service.virtual.guest.block.device.template.Group;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Future;

/**
 * The SoftLayer_Product_Package data type contains information about packages from which orders can be generated. Packages contain general information regarding what is in them, where they are currently sold, availability, and pricing. 
 *
 * @see SoftLayer_Product_Package
 */
@ApiType("SoftLayer_Product_Package")
public class Package extends Entity {

    /**
     * The preset configurations available only for the authenticated account and this package.
     */
    @ApiProperty
    protected List accountRestrictedActivePresets;

    public List getAccountRestrictedActivePresets() {
        if (accountRestrictedActivePresets == null) {
            accountRestrictedActivePresets = new ArrayList();
        }
        return accountRestrictedActivePresets;
    }

    /**
     * The results from this call are similar to [[SoftLayer_Product_Package/getCategories|getCategories]], but these ONLY include account-restricted prices. Not all accounts have restricted pricing.
     */
    @ApiProperty
    protected List accountRestrictedCategories;

    public List getAccountRestrictedCategories() {
        if (accountRestrictedCategories == null) {
            accountRestrictedCategories = new ArrayList();
        }
        return accountRestrictedCategories;
    }

    /**
     * The flag to indicate if there are any restricted prices in a package for the currently-active account.
     */
    @ApiProperty
    protected Boolean accountRestrictedPricesFlag;

    public Boolean getAccountRestrictedPricesFlag() {
        return accountRestrictedPricesFlag;
    }

    public void setAccountRestrictedPricesFlag(Boolean accountRestrictedPricesFlag) {
        this.accountRestrictedPricesFlag = accountRestrictedPricesFlag;
    }

    /**
     * The available preset configurations for this package.
     */
    @ApiProperty
    protected List activePresets;

    public List getActivePresets() {
        if (activePresets == null) {
            activePresets = new ArrayList();
        }
        return activePresets;
    }

    /**
     * A collection of valid RAM items available for purchase in this package.
     */
    @ApiProperty
    protected List activeRamItems;

    public List getActiveRamItems() {
        if (activeRamItems == null) {
            activeRamItems = new ArrayList();
        }
        return activeRamItems;
    }

    /**
     * A collection of valid server items available for purchase in this package.
     */
    @ApiProperty
    protected List activeServerItems;

    public List getActiveServerItems() {
        if (activeServerItems == null) {
            activeServerItems = new ArrayList();
        }
        return activeServerItems;
    }

    /**
     * A collection of valid software items available for purchase in this package.
     */
    @ApiProperty
    protected List activeSoftwareItems;

    public List getActiveSoftwareItems() {
        if (activeSoftwareItems == null) {
            activeSoftwareItems = new ArrayList();
        }
        return activeSoftwareItems;
    }

    /**
     * A collection of [[SoftLayer_Product_Item_Price]] objects for pay-as-you-go usage.
     */
    @ApiProperty
    protected List activeUsagePrices;

    public List getActiveUsagePrices() {
        if (activeUsagePrices == null) {
            activeUsagePrices = new ArrayList();
        }
        return activeUsagePrices;
    }

    /**
     * This flag indicates that the package is an additional service.
     */
    @ApiProperty
    protected Boolean additionalServiceFlag;

    public Boolean getAdditionalServiceFlag() {
        return additionalServiceFlag;
    }

    public void setAdditionalServiceFlag(Boolean additionalServiceFlag) {
        this.additionalServiceFlag = additionalServiceFlag;
    }

    @ApiProperty
    protected List attributes;

    public List getAttributes() {
        if (attributes == null) {
            attributes = new ArrayList();
        }
        return attributes;
    }

    /**
     * A collection of valid locations for this package. (Deprecated - Use [[SoftLayer_Product_Package/getRegions|getRegions]])
     */
    @ApiProperty
    protected List availableLocations;

    public List getAvailableLocations() {
        if (availableLocations == null) {
            availableLocations = new ArrayList();
        }
        return availableLocations;
    }

    /**
     * The maximum number of available disk storage units associated with the servers in a package.
     */
    @ApiProperty
    protected Long availableStorageUnits;

    public Long getAvailableStorageUnits() {
        return availableStorageUnits;
    }

    public void setAvailableStorageUnits(Long availableStorageUnits) {
        this.availableStorageUnits = availableStorageUnits;
    }

    /**
     * This is a collection of categories ([[SoftLayer_Product_Item_Category]]) associated with a package which can be used for ordering. These categories have several objects prepopulated which are useful when determining the available products for purchase. The categories contain groups ([[SoftLayer_Product_Package_Item_Category_Group]]) that organize the products and prices by similar features. For example, operating systems will be grouped by their manufacturer and virtual server disks will be grouped by their disk type (SAN vs. local). Each group will contain prices ([[SoftLayer_Product_Item_Price]]) which you can use determine the cost of each product. Each price has a product ([[SoftLayer_Product_Item]]) which provides the name and other useful information about the server, service or software you may purchase.
     */
    @ApiProperty
    protected List categories;

    public List getCategories() {
        if (categories == null) {
            categories = new ArrayList();
        }
        return categories;
    }

    /**
     * The item categories associated with a package, including information detailing which item categories are required as part of a SoftLayer product order.
     */
    @ApiProperty
    protected List configuration;

    public List getConfiguration() {
        if (configuration == null) {
            configuration = new ArrayList();
        }
        return configuration;
    }

    /**
     * The default boot category code for the package.
     */
    @ApiProperty
    protected String defaultBootCategoryCode;

    public String getDefaultBootCategoryCode() {
        return defaultBootCategoryCode;
    }

    public void setDefaultBootCategoryCode(String defaultBootCategoryCode) {
        this.defaultBootCategoryCode = defaultBootCategoryCode;
    }

    /**
     * A collection of valid RAM items available for purchase in this package.
     */
    @ApiProperty
    protected List defaultRamItems;

    public List getDefaultRamItems() {
        if (defaultRamItems == null) {
            defaultRamItems = new ArrayList();
        }
        return defaultRamItems;
    }

    /**
     * The node type for a package in a solution deployment.
     */
    @ApiProperty
    protected String deploymentNodeType;

    public String getDeploymentNodeType() {
        return deploymentNodeType;
    }

    public void setDeploymentNodeType(String deploymentNodeType) {
        this.deploymentNodeType = deploymentNodeType;
    }

    /**
     * The packages that are allowed in a multi-server solution. (Deprecated)
     */
    @ApiProperty
    protected List deploymentPackages;

    public List getDeploymentPackages() {
        if (deploymentPackages == null) {
            deploymentPackages = new ArrayList();
        }
        return deploymentPackages;
    }

    /**
     * The solution deployment type.
     */
    @ApiProperty
    protected String deploymentType;

    public String getDeploymentType() {
        return deploymentType;
    }

    public void setDeploymentType(String deploymentType) {
        this.deploymentType = deploymentType;
    }

    /**
     * The package that represents a multi-server solution. (Deprecated)
     */
    @ApiProperty
    protected List deployments;

    public List getDeployments() {
        if (deployments == null) {
            deployments = new ArrayList();
        }
        return deployments;
    }

    /**
     * This flag indicates the package does not allow custom disk partitions.
     */
    @ApiProperty
    protected Boolean disallowCustomDiskPartitions;

    public Boolean getDisallowCustomDiskPartitions() {
        return disallowCustomDiskPartitions;
    }

    public void setDisallowCustomDiskPartitions(Boolean disallowCustomDiskPartitions) {
        this.disallowCustomDiskPartitions = disallowCustomDiskPartitions;
    }

    /**
     * The Softlayer order step is optionally step-based. This returns the first SoftLayer_Product_Package_Order_Step in the step-based order process.
     */
    @ApiProperty
    protected Step firstOrderStep;

    public Step getFirstOrderStep() {
        return firstOrderStep;
    }

    public void setFirstOrderStep(Step firstOrderStep) {
        this.firstOrderStep = firstOrderStep;
    }

    /**
     * Whether the package is a specialized network gateway appliance package.
     */
    @ApiProperty
    protected Boolean gatewayApplianceFlag;

    public Boolean getGatewayApplianceFlag() {
        return gatewayApplianceFlag;
    }

    public void setGatewayApplianceFlag(Boolean gatewayApplianceFlag) {
        this.gatewayApplianceFlag = gatewayApplianceFlag;
    }

    /**
     * This flag indicates that the package supports GPUs.
     */
    @ApiProperty
    protected Boolean gpuFlag;

    public Boolean getGpuFlag() {
        return gpuFlag;
    }

    public void setGpuFlag(Boolean gpuFlag) {
        this.gpuFlag = gpuFlag;
    }

    /**
     * Determines whether the package contains prices that can be ordered hourly.
     */
    @ApiProperty
    protected Boolean hourlyBillingAvailableFlag;

    public Boolean getHourlyBillingAvailableFlag() {
        return hourlyBillingAvailableFlag;
    }

    public void setHourlyBillingAvailableFlag(Boolean hourlyBillingAvailableFlag) {
        this.hourlyBillingAvailableFlag = hourlyBillingAvailableFlag;
    }

    /**
     * Packages with this flag do not allow monthly orders.
     */
    @ApiProperty
    protected Boolean hourlyOnlyOrders;

    public Boolean getHourlyOnlyOrders() {
        return hourlyOnlyOrders;
    }

    public void setHourlyOnlyOrders(Boolean hourlyOnlyOrders) {
        this.hourlyOnlyOrders = hourlyOnlyOrders;
    }

    /**
     * The item-item conflicts associated with a package.
     */
    @ApiProperty
    protected List itemConflicts;

    public List getItemConflicts() {
        if (itemConflicts == null) {
            itemConflicts = new ArrayList();
        }
        return itemConflicts;
    }

    /**
     * The item-location conflicts associated with a package.
     */
    @ApiProperty
    protected List itemLocationConflicts;

    public List getItemLocationConflicts() {
        if (itemLocationConflicts == null) {
            itemLocationConflicts = new ArrayList();
        }
        return itemLocationConflicts;
    }

    /**
     * cross reference for item prices
     */
    @ApiProperty
    protected List itemPriceReferences;

    public List getItemPriceReferences() {
        if (itemPriceReferences == null) {
            itemPriceReferences = new ArrayList();
        }
        return itemPriceReferences;
    }

    /**
     * A collection of SoftLayer_Product_Item_Prices that are valid for this package.
     */
    @ApiProperty
    protected List itemPrices;

    public List getItemPrices() {
        if (itemPrices == null) {
            itemPrices = new ArrayList();
        }
        return itemPrices;
    }

    /**
     * A collection of valid items available for purchase in this package.
     */
    @ApiProperty
    protected List items;

    public List getItems() {
        if (items == null) {
            items = new ArrayList();
        }
        return items;
    }

    /**
     * A collection of valid locations for this package. (Deprecated - Use [[SoftLayer_Product_Package/getRegions|getRegions]])
     */
    @ApiProperty
    protected List locations;

    public List getLocations() {
        if (locations == null) {
            locations = new ArrayList();
        }
        return locations;
    }

    /**
     * The lowest server [[SoftLayer_Product_Item_Price]] related to this package.
     */
    @ApiProperty
    protected Price lowestServerPrice;

    public Price getLowestServerPrice() {
        return lowestServerPrice;
    }

    public void setLowestServerPrice(Price lowestServerPrice) {
        this.lowestServerPrice = lowestServerPrice;
    }

    /**
     * The maximum available network speed associated with the package.
     */
    @ApiProperty
    protected Long maximumPortSpeed;

    public Long getMaximumPortSpeed() {
        return maximumPortSpeed;
    }

    public void setMaximumPortSpeed(Long maximumPortSpeed) {
        this.maximumPortSpeed = maximumPortSpeed;
    }

    /**
     * The minimum available network speed associated with the package.
     */
    @ApiProperty
    protected Long minimumPortSpeed;

    public Long getMinimumPortSpeed() {
        return minimumPortSpeed;
    }

    public void setMinimumPortSpeed(Long minimumPortSpeed) {
        this.minimumPortSpeed = minimumPortSpeed;
    }

    /**
     * This flag indicates that this is a MongoDB engineered package. (Deprecated)
     */
    @ApiProperty
    protected Boolean mongoDbEngineeredFlag;

    public Boolean getMongoDbEngineeredFlag() {
        return mongoDbEngineeredFlag;
    }

    public void setMongoDbEngineeredFlag(Boolean mongoDbEngineeredFlag) {
        this.mongoDbEngineeredFlag = mongoDbEngineeredFlag;
    }

    /**
     * Services ordered from this package cannot have upgrades or downgrades performed.
     */
    @ApiProperty
    protected Boolean noUpgradesFlag;

    public Boolean getNoUpgradesFlag() {
        return noUpgradesFlag;
    }

    public void setNoUpgradesFlag(Boolean noUpgradesFlag) {
        this.noUpgradesFlag = noUpgradesFlag;
    }

    /**
     * Whether the package is not in compliance with EU support.
     */
    @ApiProperty
    protected Boolean nonEuCompliantFlag;

    public Boolean getNonEuCompliantFlag() {
        return nonEuCompliantFlag;
    }

    public void setNonEuCompliantFlag(Boolean nonEuCompliantFlag) {
        this.nonEuCompliantFlag = nonEuCompliantFlag;
    }

    /**
     * The premium price modifiers associated with the [[SoftLayer_Product_Item_Price]] and [[SoftLayer_Location]] objects in a package.
     */
    @ApiProperty
    protected List orderPremiums;

    public List getOrderPremiums() {
        if (orderPremiums == null) {
            orderPremiums = new ArrayList();
        }
        return orderPremiums;
    }

    /**
     * This flag indicates if the package may be available in PoP locations in addition to Datacenters.
     */
    @ApiProperty
    protected Boolean popLocationAvailabilityFlag;

    public Boolean getPopLocationAvailabilityFlag() {
        return popLocationAvailabilityFlag;
    }

    public void setPopLocationAvailabilityFlag(Boolean popLocationAvailabilityFlag) {
        this.popLocationAvailabilityFlag = popLocationAvailabilityFlag;
    }

    /**
     * This flag indicates the package is pre-configured. (Deprecated)
     */
    @ApiProperty
    protected Boolean preconfiguredFlag;

    public Boolean getPreconfiguredFlag() {
        return preconfiguredFlag;
    }

    public void setPreconfiguredFlag(Boolean preconfiguredFlag) {
        this.preconfiguredFlag = preconfiguredFlag;
    }

    /**
     * Whether the package requires the user to define a preset configuration.
     */
    @ApiProperty
    protected Boolean presetConfigurationRequiredFlag;

    public Boolean getPresetConfigurationRequiredFlag() {
        return presetConfigurationRequiredFlag;
    }

    public void setPresetConfigurationRequiredFlag(Boolean presetConfigurationRequiredFlag) {
        this.presetConfigurationRequiredFlag = presetConfigurationRequiredFlag;
    }

    /**
     * Whether the package prevents the user from specifying a Vlan.
     */
    @ApiProperty
    protected Boolean preventVlanSelectionFlag;

    public Boolean getPreventVlanSelectionFlag() {
        return preventVlanSelectionFlag;
    }

    public void setPreventVlanSelectionFlag(Boolean preventVlanSelectionFlag) {
        this.preventVlanSelectionFlag = preventVlanSelectionFlag;
    }

    /**
     * This flag indicates the package is for a private hosted cloud deployment. (Deprecated)
     */
    @ApiProperty
    protected Boolean privateHostedCloudPackageFlag;

    public Boolean getPrivateHostedCloudPackageFlag() {
        return privateHostedCloudPackageFlag;
    }

    public void setPrivateHostedCloudPackageFlag(Boolean privateHostedCloudPackageFlag) {
        this.privateHostedCloudPackageFlag = privateHostedCloudPackageFlag;
    }

    /**
     * The server role of the private hosted cloud deployment. (Deprecated)
     */
    @ApiProperty
    protected String privateHostedCloudPackageType;

    public String getPrivateHostedCloudPackageType() {
        return privateHostedCloudPackageType;
    }

    public void setPrivateHostedCloudPackageType(String privateHostedCloudPackageType) {
        this.privateHostedCloudPackageType = privateHostedCloudPackageType;
    }

    /**
     * Whether the package only has access to the private network.
     */
    @ApiProperty
    protected Boolean privateNetworkOnlyFlag;

    public Boolean getPrivateNetworkOnlyFlag() {
        return privateNetworkOnlyFlag;
    }

    public void setPrivateNetworkOnlyFlag(Boolean privateNetworkOnlyFlag) {
        this.privateNetworkOnlyFlag = privateNetworkOnlyFlag;
    }

    /**
     * Whether the package is a specialized mass storage QuantaStor package. (Deprecated)
     */
    @ApiProperty
    protected Boolean quantaStorPackageFlag;

    public Boolean getQuantaStorPackageFlag() {
        return quantaStorPackageFlag;
    }

    public void setQuantaStorPackageFlag(Boolean quantaStorPackageFlag) {
        this.quantaStorPackageFlag = quantaStorPackageFlag;
    }

    /**
     * This flag indicates the package does not allow different disks with RAID.
     */
    @ApiProperty
    protected Boolean raidDiskRestrictionFlag;

    public Boolean getRaidDiskRestrictionFlag() {
        return raidDiskRestrictionFlag;
    }

    public void setRaidDiskRestrictionFlag(Boolean raidDiskRestrictionFlag) {
        this.raidDiskRestrictionFlag = raidDiskRestrictionFlag;
    }

    /**
     * This flag determines if the package contains a redundant power supply product.
     */
    @ApiProperty
    protected Boolean redundantPowerFlag;

    public Boolean getRedundantPowerFlag() {
        return redundantPowerFlag;
    }

    public void setRedundantPowerFlag(Boolean redundantPowerFlag) {
        this.redundantPowerFlag = redundantPowerFlag;
    }

    /**
     * The regional locations that a package is available in.
     */
    @ApiProperty
    protected List regions;

    public List getRegions() {
        if (regions == null) {
            regions = new ArrayList();
        }
        return regions;
    }

    /**
     * The resource group template that describes a multi-server solution. (Deprecated)
     */
    @ApiProperty
    protected Template resourceGroupTemplate;

    public Template getResourceGroupTemplate() {
        return resourceGroupTemplate;
    }

    public void setResourceGroupTemplate(Template resourceGroupTemplate) {
        this.resourceGroupTemplate = resourceGroupTemplate;
    }

    /**
     * The top level category code for this service offering.
     */
    @ApiProperty
    protected String topLevelItemCategoryCode;

    public String getTopLevelItemCategoryCode() {
        return topLevelItemCategoryCode;
    }

    public void setTopLevelItemCategoryCode(String topLevelItemCategoryCode) {
        this.topLevelItemCategoryCode = topLevelItemCategoryCode;
    }

    /**
     * The type of service offering. This property can be used to help filter packages.
     */
    @ApiProperty
    protected com.softlayer.api.service.product.pkg.Type type;

    public com.softlayer.api.service.product.pkg.Type getType() {
        return type;
    }

    public void setType(com.softlayer.api.service.product.pkg.Type type) {
        this.type = type;
    }

    /**
     * A generic description of the processor type and count. This includes HTML, so you may want to strip these tags if you plan to use it.
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected String description;

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        descriptionSpecified = true;
        this.description = description;
    }

    protected boolean descriptionSpecified;

    public boolean isDescriptionSpecified() {
        return descriptionSpecified;
    }

    public void unsetDescription() {
        description = null;
        descriptionSpecified = false;
    }

    /**
     * This is only needed for step-based order verification. We use this for the order forms, but it is not required. This step is the first SoftLayer_Product_Package_Step for this package. Use this for for filtering which item categories are returned as a part of SoftLayer_Product_Package_Order_Configuration. 
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Long firstOrderStepId;

    public Long getFirstOrderStepId() {
        return firstOrderStepId;
    }

    public void setFirstOrderStepId(Long firstOrderStepId) {
        firstOrderStepIdSpecified = true;
        this.firstOrderStepId = firstOrderStepId;
    }

    protected boolean firstOrderStepIdSpecified;

    public boolean isFirstOrderStepIdSpecified() {
        return firstOrderStepIdSpecified;
    }

    public void unsetFirstOrderStepId() {
        firstOrderStepId = null;
        firstOrderStepIdSpecified = false;
    }

    /**
     * A package's internal identifier. Everything regarding a SoftLayer_Product_Package is tied back to this id. 
     */
    @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 Long isActive;

    public Long getIsActive() {
        return isActive;
    }

    public void setIsActive(Long isActive) {
        isActiveSpecified = true;
        this.isActive = isActive;
    }

    protected boolean isActiveSpecified;

    public boolean isIsActiveSpecified() {
        return isActiveSpecified;
    }

    public void unsetIsActive() {
        isActive = null;
        isActiveSpecified = false;
    }

    /**
     * A unique key name for the package.
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected String keyName;

    public String getKeyName() {
        return keyName;
    }

    public void setKeyName(String keyName) {
        keyNameSpecified = true;
        this.keyName = keyName;
    }

    protected boolean keyNameSpecified;

    public boolean isKeyNameSpecified() {
        return keyNameSpecified;
    }

    public void unsetKeyName() {
        keyName = null;
        keyNameSpecified = false;
    }

    /**
     * The description of the package. For server packages, this is usually a detailed description of processor type and count.
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        nameSpecified = true;
        this.name = name;
    }

    protected boolean nameSpecified;

    public boolean isNameSpecified() {
        return nameSpecified;
    }

    public void unsetName() {
        name = null;
        nameSpecified = false;
    }

    /**
     * This currently contains no information but is here for future use.
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected String subDescription;

    public String getSubDescription() {
        return subDescription;
    }

    public void setSubDescription(String subDescription) {
        subDescriptionSpecified = true;
        this.subDescription = subDescription;
    }

    protected boolean subDescriptionSpecified;

    public boolean isSubDescriptionSpecified() {
        return subDescriptionSpecified;
    }

    public void unsetSubDescription() {
        subDescription = null;
        subDescriptionSpecified = false;
    }

    /**
     * The server unit size this package will match to.
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Long unitSize;

    public Long getUnitSize() {
        return unitSize;
    }

    public void setUnitSize(Long unitSize) {
        unitSizeSpecified = true;
        this.unitSize = unitSize;
    }

    protected boolean unitSizeSpecified;

    public boolean isUnitSizeSpecified() {
        return unitSizeSpecified;
    }

    public void unsetUnitSize() {
        unitSize = null;
        unitSizeSpecified = false;
    }

    /**
     * A count of the preset configurations available only for the authenticated account and this package.
     */
    @ApiProperty
    protected Long accountRestrictedActivePresetCount;

    public Long getAccountRestrictedActivePresetCount() {
        return accountRestrictedActivePresetCount;
    }

    public void setAccountRestrictedActivePresetCount(Long accountRestrictedActivePresetCount) {
        this.accountRestrictedActivePresetCount = accountRestrictedActivePresetCount;
    }

    /**
     * A count of the results from this call are similar to [[SoftLayer_Product_Package/getCategories|getCategories]], but these ONLY include account-restricted prices. Not all accounts have restricted pricing.
     */
    @ApiProperty
    protected Long accountRestrictedCategoryCount;

    public Long getAccountRestrictedCategoryCount() {
        return accountRestrictedCategoryCount;
    }

    public void setAccountRestrictedCategoryCount(Long accountRestrictedCategoryCount) {
        this.accountRestrictedCategoryCount = accountRestrictedCategoryCount;
    }

    /**
     * A count of the available preset configurations for this package.
     */
    @ApiProperty
    protected Long activePresetCount;

    public Long getActivePresetCount() {
        return activePresetCount;
    }

    public void setActivePresetCount(Long activePresetCount) {
        this.activePresetCount = activePresetCount;
    }

    /**
     * A count of a collection of valid RAM items available for purchase in this package.
     */
    @ApiProperty
    protected Long activeRamItemCount;

    public Long getActiveRamItemCount() {
        return activeRamItemCount;
    }

    public void setActiveRamItemCount(Long activeRamItemCount) {
        this.activeRamItemCount = activeRamItemCount;
    }

    /**
     * A count of a collection of valid server items available for purchase in this package.
     */
    @ApiProperty
    protected Long activeServerItemCount;

    public Long getActiveServerItemCount() {
        return activeServerItemCount;
    }

    public void setActiveServerItemCount(Long activeServerItemCount) {
        this.activeServerItemCount = activeServerItemCount;
    }

    /**
     * A count of a collection of valid software items available for purchase in this package.
     */
    @ApiProperty
    protected Long activeSoftwareItemCount;

    public Long getActiveSoftwareItemCount() {
        return activeSoftwareItemCount;
    }

    public void setActiveSoftwareItemCount(Long activeSoftwareItemCount) {
        this.activeSoftwareItemCount = activeSoftwareItemCount;
    }

    /**
     * A count of a collection of [[SoftLayer_Product_Item_Price]] objects for pay-as-you-go usage.
     */
    @ApiProperty
    protected Long activeUsagePriceCount;

    public Long getActiveUsagePriceCount() {
        return activeUsagePriceCount;
    }

    public void setActiveUsagePriceCount(Long activeUsagePriceCount) {
        this.activeUsagePriceCount = activeUsagePriceCount;
    }

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

    public Long getAttributeCount() {
        return attributeCount;
    }

    public void setAttributeCount(Long attributeCount) {
        this.attributeCount = attributeCount;
    }

    /**
     * A count of a collection of valid locations for this package. (Deprecated - Use [[SoftLayer_Product_Package/getRegions|getRegions]])
     */
    @ApiProperty
    protected Long availableLocationCount;

    public Long getAvailableLocationCount() {
        return availableLocationCount;
    }

    public void setAvailableLocationCount(Long availableLocationCount) {
        this.availableLocationCount = availableLocationCount;
    }

    /**
     * A count of the item categories associated with a package, including information detailing which item categories are required as part of a SoftLayer product order.
     */
    @ApiProperty
    protected Long configurationCount;

    public Long getConfigurationCount() {
        return configurationCount;
    }

    public void setConfigurationCount(Long configurationCount) {
        this.configurationCount = configurationCount;
    }

    /**
     * A count of a collection of valid RAM items available for purchase in this package.
     */
    @ApiProperty
    protected Long defaultRamItemCount;

    public Long getDefaultRamItemCount() {
        return defaultRamItemCount;
    }

    public void setDefaultRamItemCount(Long defaultRamItemCount) {
        this.defaultRamItemCount = defaultRamItemCount;
    }

    /**
     * A count of the package that represents a multi-server solution. (Deprecated)
     */
    @ApiProperty
    protected Long deploymentCount;

    public Long getDeploymentCount() {
        return deploymentCount;
    }

    public void setDeploymentCount(Long deploymentCount) {
        this.deploymentCount = deploymentCount;
    }

    /**
     * A count of the packages that are allowed in a multi-server solution. (Deprecated)
     */
    @ApiProperty
    protected Long deploymentPackageCount;

    public Long getDeploymentPackageCount() {
        return deploymentPackageCount;
    }

    public void setDeploymentPackageCount(Long deploymentPackageCount) {
        this.deploymentPackageCount = deploymentPackageCount;
    }

    /**
     * A count of a collection of valid items available for purchase in this package.
     */
    @ApiProperty
    protected Long itemCount;

    public Long getItemCount() {
        return itemCount;
    }

    public void setItemCount(Long itemCount) {
        this.itemCount = itemCount;
    }

    /**
     * A count of a collection of SoftLayer_Product_Item_Prices that are valid for this package.
     */
    @ApiProperty
    protected Long itemPriceCount;

    public Long getItemPriceCount() {
        return itemPriceCount;
    }

    public void setItemPriceCount(Long itemPriceCount) {
        this.itemPriceCount = itemPriceCount;
    }

    /**
     * A count of cross reference for item prices
     */
    @ApiProperty
    protected Long itemPriceReferenceCount;

    public Long getItemPriceReferenceCount() {
        return itemPriceReferenceCount;
    }

    public void setItemPriceReferenceCount(Long itemPriceReferenceCount) {
        this.itemPriceReferenceCount = itemPriceReferenceCount;
    }

    /**
     * A count of a collection of valid locations for this package. (Deprecated - Use [[SoftLayer_Product_Package/getRegions|getRegions]])
     */
    @ApiProperty
    protected Long locationCount;

    public Long getLocationCount() {
        return locationCount;
    }

    public void setLocationCount(Long locationCount) {
        this.locationCount = locationCount;
    }

    /**
     * A count of the premium price modifiers associated with the [[SoftLayer_Product_Item_Price]] and [[SoftLayer_Location]] objects in a package.
     */
    @ApiProperty
    protected Long orderPremiumCount;

    public Long getOrderPremiumCount() {
        return orderPremiumCount;
    }

    public void setOrderPremiumCount(Long orderPremiumCount) {
        this.orderPremiumCount = orderPremiumCount;
    }

    /**
     * A count of the regional locations that a package is available in.
     */
    @ApiProperty
    protected Long regionCount;

    public Long getRegionCount() {
        return regionCount;
    }

    public void setRegionCount(Long regionCount) {
        this.regionCount = regionCount;
    }

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

    /**
     * Every SoftLayer_Product_Package contains information related products and services that SoftLayer sells. The configuration of this package reveals which categories are required to place an order for this package. Every package has items, item prices, locations, regions, and a configuration. This service is the starting point for ordering servers, and other services we provide. 
     *
     * @see SoftLayer_Product_Package
     */
    @com.softlayer.api.annotation.ApiService("SoftLayer_Product_Package")
    public static interface Service extends com.softlayer.api.Service {

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

        /**
         * Return a list of Items in the package with their active prices.
         *
         * @see SoftLayer_Product_Package::getActiveItems
         */
        @ApiMethod(instanceRequired = true)
        public List getActiveItems();

        /**
         * This method is deprecated and should not be used in production code. 
*
* This method will return the [[SoftLayer_Product_Package]] objects from which you can order a bare metal server, virtual server, service (such as CDN or Object Storage) or other software filtered by an attribute type associated with the package. Once you have the package you want to order from, you may query one of various endpoints from that package to get specific information about its products and pricing. See [[SoftLayer_Product_Package/getCategories|getCategories]] or [[SoftLayer_Product_Package/getItems|getItems]] for more information. * * @see SoftLayer_Product_Package::getActivePackagesByAttribute */ @ApiMethod public List getActivePackagesByAttribute(String attributeKeyName); /** * [DEPRECATED] This method pulls all the active private hosted cloud packages. This will give you a basic description of the packages that are currently active and from which you can order private hosted cloud configurations. * * @see SoftLayer_Product_Package::getActivePrivateHostedCloudPackages */ @ApiMethod public List getActivePrivateHostedCloudPackages(); /** * This method returns a collection of active usage rate [[SoftLayer_Product_Item_Price]] objects for the current package and specified datacenter. Optionally you can retrieve the active usage rate prices for a particular [[SoftLayer_Product_Item_Category]] by specifying a category code as the first parameter. This information is useful so that you can see "pay as you go" rates (if any) for the current package, location and optionally category. * * @see SoftLayer_Product_Package::getActiveUsageRatePrices */ @ApiMethod(instanceRequired = true) public List getActiveUsageRatePrices(Long locationId, String categoryCode); /** * This method pulls all the active packages. This will give you a basic description of the packages that are currently active * * @see SoftLayer_Product_Package::getAllObjects */ @ApiMethod public List getAllObjects(); /** * @see SoftLayer_Product_Package::getAvailablePackagesForImageTemplate */ @ApiMethod public List getAvailablePackagesForImageTemplate(Group imageTemplate); /** * @see SoftLayer_Product_Package::getCdnItems */ @ApiMethod(instanceRequired = true) public List getCdnItems(); /** * @see SoftLayer_Product_Package::getCloudStorageItems */ @ApiMethod(instanceRequired = true) public List getCloudStorageItems(Long provider); /** * Returns a collection of SoftLayer_Product_Item_Attribute_Type objects. These item attribute types specifically deal with when an item, SoftLayer_Product_Item, from the product catalog may no longer be available. The keynames for these attribute types start with 'UNAVAILABLE_AFTER_DATE_*', where the '*' may represent any string. For example, 'UNAVAILABLE_AFTER_DATE_NEW_ORDERS', signifies that the item is not available for new orders. There is a catch all attribute type, 'UNAVAILABLE_AFTER_DATE_ALL'. If an item has one of these availability attributes set, the value should be a valid date in MM/DD/YYYY, indicating the date after which the item will no longer be available. * * @see SoftLayer_Product_Package::getItemAvailabilityTypes */ @ApiMethod public List getItemAvailabilityTypes(); /** * Return a collection of SoftLayer_Item_Price objects from a collection of SoftLayer_Software_Description * * @see SoftLayer_Product_Package::getItemPricesFromSoftwareDescriptions */ @ApiMethod(instanceRequired = true) public List getItemPricesFromSoftwareDescriptions(List softwareDescriptions, Boolean includeTranslationsFlag, Boolean returnAllPricesFlag); /** * Return a collection of [[SoftLayer_Product_Item]] objects from a [[SoftLayer_Virtual_Guest_Block_Device_Template_Group]] object * * @see SoftLayer_Product_Package::getItemsFromImageTemplate */ @ApiMethod(instanceRequired = true) public List getItemsFromImageTemplate(Group imageTemplate); /** * @see SoftLayer_Product_Package::getMessageQueueItems */ @ApiMethod(instanceRequired = true) public List getMessageQueueItems(); /** * @see SoftLayer_Product_Package::getObject */ @ApiMethod(instanceRequired = true) public Package getObject(); /** * This method will return a collection of [[SoftLayer_Container_Product_Order_Network_Storage_Hub_Datacenter]] objects which contain a datacenter location and all the associated active usage rate prices where object storage is available. This method is really only applicable to the object storage additional service package which has a [[SoftLayer_Product_Package_Type]] of '''ADDITIONAL_SERVICES_OBJECT_STORAGE'''. This information is useful so that you can see the "pay as you go" rates per datacenter. * * @see SoftLayer_Product_Package::getObjectStorageDatacenters */ @ApiMethod(instanceRequired = true) public List getObjectStorageDatacenters(); /** * This method will return a collection of [[SoftLayer_Container_Product_Order_Network_Storage_ObjectStorage_LocationGroup]] objects which contain a location group and all the associated active usage rate prices where object storage is available. This method is really only applicable to the object storage additional service package which has a [[SoftLayer_Product_Package_Type]] of '''ADDITIONAL_SERVICES_OBJECT_STORAGE'''. This information is useful so that you can see the "pay as you go" rates per location group. * * @see SoftLayer_Product_Package::getObjectStorageLocationGroups */ @ApiMethod(instanceRequired = true) public List getObjectStorageLocationGroups(); /** * This call is similar to [[SoftLayer_Product_Package/getCategories|getCategories]], except that it does not include account-restricted pricing. Not all accounts have restricted pricing. * * @see SoftLayer_Product_Package::getStandardCategories */ @ApiMethod(instanceRequired = true) public List getStandardCategories(); /** * The preset configurations available only for the authenticated account and this package. * * @see SoftLayer_Product_Package::getAccountRestrictedActivePresets */ @ApiMethod(instanceRequired = true) public List getAccountRestrictedActivePresets(); /** * The results from this call are similar to [[SoftLayer_Product_Package/getCategories|getCategories]], but these ONLY include account-restricted prices. Not all accounts have restricted pricing. * * @see SoftLayer_Product_Package::getAccountRestrictedCategories */ @ApiMethod(instanceRequired = true) public List getAccountRestrictedCategories(); /** * The flag to indicate if there are any restricted prices in a package for the currently-active account. * * @see SoftLayer_Product_Package::getAccountRestrictedPricesFlag */ @ApiMethod(instanceRequired = true) public Boolean getAccountRestrictedPricesFlag(); /** * The available preset configurations for this package. * * @see SoftLayer_Product_Package::getActivePresets */ @ApiMethod(instanceRequired = true) public List getActivePresets(); /** * A collection of valid RAM items available for purchase in this package. * * @see SoftLayer_Product_Package::getActiveRamItems */ @ApiMethod(instanceRequired = true) public List getActiveRamItems(); /** * A collection of valid server items available for purchase in this package. * * @see SoftLayer_Product_Package::getActiveServerItems */ @ApiMethod(instanceRequired = true) public List getActiveServerItems(); /** * A collection of valid software items available for purchase in this package. * * @see SoftLayer_Product_Package::getActiveSoftwareItems */ @ApiMethod(instanceRequired = true) public List getActiveSoftwareItems(); /** * A collection of [[SoftLayer_Product_Item_Price]] objects for pay-as-you-go usage. * * @see SoftLayer_Product_Package::getActiveUsagePrices */ @ApiMethod(instanceRequired = true) public List getActiveUsagePrices(); /** * This flag indicates that the package is an additional service. * * @see SoftLayer_Product_Package::getAdditionalServiceFlag */ @ApiMethod(instanceRequired = true) public Boolean getAdditionalServiceFlag(); /** * @see SoftLayer_Product_Package::getAttributes */ @ApiMethod(instanceRequired = true) public List getAttributes(); /** * A collection of valid locations for this package. (Deprecated - Use [[SoftLayer_Product_Package/getRegions|getRegions]]) * * @see SoftLayer_Product_Package::getAvailableLocations */ @ApiMethod(instanceRequired = true) public List getAvailableLocations(); /** * The maximum number of available disk storage units associated with the servers in a package. * * @see SoftLayer_Product_Package::getAvailableStorageUnits */ @ApiMethod(instanceRequired = true) public Long getAvailableStorageUnits(); /** * This is a collection of categories ([[SoftLayer_Product_Item_Category]]) associated with a package which can be used for ordering. These categories have several objects prepopulated which are useful when determining the available products for purchase. The categories contain groups ([[SoftLayer_Product_Package_Item_Category_Group]]) that organize the products and prices by similar features. For example, operating systems will be grouped by their manufacturer and virtual server disks will be grouped by their disk type (SAN vs. local). Each group will contain prices ([[SoftLayer_Product_Item_Price]]) which you can use determine the cost of each product. Each price has a product ([[SoftLayer_Product_Item]]) which provides the name and other useful information about the server, service or software you may purchase. * * @see SoftLayer_Product_Package::getCategories */ @ApiMethod(instanceRequired = true) public List getCategories(); /** * The item categories associated with a package, including information detailing which item categories are required as part of a SoftLayer product order. * * @see SoftLayer_Product_Package::getConfiguration */ @ApiMethod(instanceRequired = true) public List getConfiguration(); /** * The default boot category code for the package. * * @see SoftLayer_Product_Package::getDefaultBootCategoryCode */ @ApiMethod(instanceRequired = true) public String getDefaultBootCategoryCode(); /** * A collection of valid RAM items available for purchase in this package. * * @see SoftLayer_Product_Package::getDefaultRamItems */ @ApiMethod(instanceRequired = true) public List getDefaultRamItems(); /** * The node type for a package in a solution deployment. * * @see SoftLayer_Product_Package::getDeploymentNodeType */ @ApiMethod(instanceRequired = true) public String getDeploymentNodeType(); /** * The packages that are allowed in a multi-server solution. (Deprecated) * * @see SoftLayer_Product_Package::getDeploymentPackages */ @ApiMethod(instanceRequired = true) public List getDeploymentPackages(); /** * The solution deployment type. * * @see SoftLayer_Product_Package::getDeploymentType */ @ApiMethod(instanceRequired = true) public String getDeploymentType(); /** * The package that represents a multi-server solution. (Deprecated) * * @see SoftLayer_Product_Package::getDeployments */ @ApiMethod(instanceRequired = true) public List getDeployments(); /** * This flag indicates the package does not allow custom disk partitions. * * @see SoftLayer_Product_Package::getDisallowCustomDiskPartitions */ @ApiMethod(instanceRequired = true) public Boolean getDisallowCustomDiskPartitions(); /** * The Softlayer order step is optionally step-based. This returns the first SoftLayer_Product_Package_Order_Step in the step-based order process. * * @see SoftLayer_Product_Package::getFirstOrderStep */ @ApiMethod(instanceRequired = true) public Step getFirstOrderStep(); /** * Whether the package is a specialized network gateway appliance package. * * @see SoftLayer_Product_Package::getGatewayApplianceFlag */ @ApiMethod(instanceRequired = true) public Boolean getGatewayApplianceFlag(); /** * This flag indicates that the package supports GPUs. * * @see SoftLayer_Product_Package::getGpuFlag */ @ApiMethod(instanceRequired = true) public Boolean getGpuFlag(); /** * Determines whether the package contains prices that can be ordered hourly. * * @see SoftLayer_Product_Package::getHourlyBillingAvailableFlag */ @ApiMethod(instanceRequired = true) public Boolean getHourlyBillingAvailableFlag(); /** * Packages with this flag do not allow monthly orders. * * @see SoftLayer_Product_Package::getHourlyOnlyOrders */ @ApiMethod(instanceRequired = true) public Boolean getHourlyOnlyOrders(); /** * The item-item conflicts associated with a package. * * @see SoftLayer_Product_Package::getItemConflicts */ @ApiMethod(instanceRequired = true) public List getItemConflicts(); /** * The item-location conflicts associated with a package. * * @see SoftLayer_Product_Package::getItemLocationConflicts */ @ApiMethod(instanceRequired = true) public List getItemLocationConflicts(); /** * cross reference for item prices * * @see SoftLayer_Product_Package::getItemPriceReferences */ @ApiMethod(instanceRequired = true) public List getItemPriceReferences(); /** * A collection of SoftLayer_Product_Item_Prices that are valid for this package. * * @see SoftLayer_Product_Package::getItemPrices */ @ApiMethod(instanceRequired = true) public List getItemPrices(); /** * A collection of valid items available for purchase in this package. * * @see SoftLayer_Product_Package::getItems */ @ApiMethod(instanceRequired = true) public List getItems(); /** * A collection of valid locations for this package. (Deprecated - Use [[SoftLayer_Product_Package/getRegions|getRegions]]) * * @see SoftLayer_Product_Package::getLocations */ @ApiMethod(instanceRequired = true) public List getLocations(); /** * The lowest server [[SoftLayer_Product_Item_Price]] related to this package. * * @see SoftLayer_Product_Package::getLowestServerPrice */ @ApiMethod(instanceRequired = true) public Price getLowestServerPrice(); /** * The maximum available network speed associated with the package. * * @see SoftLayer_Product_Package::getMaximumPortSpeed */ @ApiMethod(instanceRequired = true) public Long getMaximumPortSpeed(); /** * The minimum available network speed associated with the package. * * @see SoftLayer_Product_Package::getMinimumPortSpeed */ @ApiMethod(instanceRequired = true) public Long getMinimumPortSpeed(); /** * This flag indicates that this is a MongoDB engineered package. (Deprecated) * * @see SoftLayer_Product_Package::getMongoDbEngineeredFlag */ @ApiMethod(instanceRequired = true) public Boolean getMongoDbEngineeredFlag(); /** * Services ordered from this package cannot have upgrades or downgrades performed. * * @see SoftLayer_Product_Package::getNoUpgradesFlag */ @ApiMethod(instanceRequired = true) public Boolean getNoUpgradesFlag(); /** * Whether the package is not in compliance with EU support. * * @see SoftLayer_Product_Package::getNonEuCompliantFlag */ @ApiMethod(instanceRequired = true) public Boolean getNonEuCompliantFlag(); /** * The premium price modifiers associated with the [[SoftLayer_Product_Item_Price]] and [[SoftLayer_Location]] objects in a package. * * @see SoftLayer_Product_Package::getOrderPremiums */ @ApiMethod(instanceRequired = true) public List getOrderPremiums(); /** * This flag indicates if the package may be available in PoP locations in addition to Datacenters. * * @see SoftLayer_Product_Package::getPopLocationAvailabilityFlag */ @ApiMethod(instanceRequired = true) public Boolean getPopLocationAvailabilityFlag(); /** * This flag indicates the package is pre-configured. (Deprecated) * * @see SoftLayer_Product_Package::getPreconfiguredFlag */ @ApiMethod(instanceRequired = true) public Boolean getPreconfiguredFlag(); /** * Whether the package requires the user to define a preset configuration. * * @see SoftLayer_Product_Package::getPresetConfigurationRequiredFlag */ @ApiMethod(instanceRequired = true) public Boolean getPresetConfigurationRequiredFlag(); /** * Whether the package prevents the user from specifying a Vlan. * * @see SoftLayer_Product_Package::getPreventVlanSelectionFlag */ @ApiMethod(instanceRequired = true) public Boolean getPreventVlanSelectionFlag(); /** * This flag indicates the package is for a private hosted cloud deployment. (Deprecated) * * @see SoftLayer_Product_Package::getPrivateHostedCloudPackageFlag */ @ApiMethod(instanceRequired = true) public Boolean getPrivateHostedCloudPackageFlag(); /** * The server role of the private hosted cloud deployment. (Deprecated) * * @see SoftLayer_Product_Package::getPrivateHostedCloudPackageType */ @ApiMethod(instanceRequired = true) public String getPrivateHostedCloudPackageType(); /** * Whether the package only has access to the private network. * * @see SoftLayer_Product_Package::getPrivateNetworkOnlyFlag */ @ApiMethod(instanceRequired = true) public Boolean getPrivateNetworkOnlyFlag(); /** * Whether the package is a specialized mass storage QuantaStor package. (Deprecated) * * @see SoftLayer_Product_Package::getQuantaStorPackageFlag */ @ApiMethod(instanceRequired = true) public Boolean getQuantaStorPackageFlag(); /** * This flag indicates the package does not allow different disks with RAID. * * @see SoftLayer_Product_Package::getRaidDiskRestrictionFlag */ @ApiMethod(instanceRequired = true) public Boolean getRaidDiskRestrictionFlag(); /** * This flag determines if the package contains a redundant power supply product. * * @see SoftLayer_Product_Package::getRedundantPowerFlag */ @ApiMethod(instanceRequired = true) public Boolean getRedundantPowerFlag(); /** * The regional locations that a package is available in. * * @see SoftLayer_Product_Package::getRegions */ @ApiMethod(instanceRequired = true) public List getRegions(); /** * The resource group template that describes a multi-server solution. (Deprecated) * * @see SoftLayer_Product_Package::getResourceGroupTemplate */ @ApiMethod(instanceRequired = true) public Template getResourceGroupTemplate(); /** * The top level category code for this service offering. * * @see SoftLayer_Product_Package::getTopLevelItemCategoryCode */ @ApiMethod(instanceRequired = true) public String getTopLevelItemCategoryCode(); /** * The type of service offering. This property can be used to help filter packages. * * @see SoftLayer_Product_Package::getType */ @ApiMethod(instanceRequired = true) public com.softlayer.api.service.product.pkg.Type getType(); } 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#getActiveItems} */ public Future> getActiveItems(); public Future getActiveItems(ResponseHandler> callback); /** * Async version of {@link Service#getActivePackagesByAttribute} */ public Future> getActivePackagesByAttribute(String attributeKeyName); public Future getActivePackagesByAttribute(String attributeKeyName, ResponseHandler> callback); /** * Async version of {@link Service#getActivePrivateHostedCloudPackages} */ public Future> getActivePrivateHostedCloudPackages(); public Future getActivePrivateHostedCloudPackages(ResponseHandler> callback); /** * Async version of {@link Service#getActiveUsageRatePrices} */ public Future> getActiveUsageRatePrices(Long locationId, String categoryCode); public Future getActiveUsageRatePrices(Long locationId, String categoryCode, ResponseHandler> callback); /** * Async version of {@link Service#getAllObjects} */ public Future> getAllObjects(); public Future getAllObjects(ResponseHandler> callback); /** * Async version of {@link Service#getAvailablePackagesForImageTemplate} */ public Future> getAvailablePackagesForImageTemplate(Group imageTemplate); public Future getAvailablePackagesForImageTemplate(Group imageTemplate, ResponseHandler> callback); /** * Async version of {@link Service#getCdnItems} */ public Future> getCdnItems(); public Future getCdnItems(ResponseHandler> callback); /** * Async version of {@link Service#getCloudStorageItems} */ public Future> getCloudStorageItems(Long provider); public Future getCloudStorageItems(Long provider, ResponseHandler> callback); /** * Async version of {@link Service#getItemAvailabilityTypes} */ public Future> getItemAvailabilityTypes(); public Future getItemAvailabilityTypes(ResponseHandler> callback); /** * Async version of {@link Service#getItemPricesFromSoftwareDescriptions} */ public Future> getItemPricesFromSoftwareDescriptions(List softwareDescriptions, Boolean includeTranslationsFlag, Boolean returnAllPricesFlag); public Future getItemPricesFromSoftwareDescriptions(List softwareDescriptions, Boolean includeTranslationsFlag, Boolean returnAllPricesFlag, ResponseHandler> callback); /** * Async version of {@link Service#getItemsFromImageTemplate} */ public Future> getItemsFromImageTemplate(Group imageTemplate); public Future getItemsFromImageTemplate(Group imageTemplate, ResponseHandler> callback); /** * Async version of {@link Service#getMessageQueueItems} */ public Future> getMessageQueueItems(); public Future getMessageQueueItems(ResponseHandler> callback); /** * Async version of {@link Service#getObject} */ public Future getObject(); public Future getObject(ResponseHandler callback); /** * Async version of {@link Service#getObjectStorageDatacenters} */ public Future> getObjectStorageDatacenters(); public Future getObjectStorageDatacenters(ResponseHandler> callback); /** * Async version of {@link Service#getObjectStorageLocationGroups} */ public Future> getObjectStorageLocationGroups(); public Future getObjectStorageLocationGroups(ResponseHandler> callback); /** * Async version of {@link Service#getStandardCategories} */ public Future> getStandardCategories(); public Future getStandardCategories(ResponseHandler> callback); /** * Async version of {@link Service#getAccountRestrictedActivePresets} */ public Future> getAccountRestrictedActivePresets(); /** * Async callback version of {@link Service#getAccountRestrictedActivePresets} */ public Future getAccountRestrictedActivePresets(ResponseHandler> callback); /** * Async version of {@link Service#getAccountRestrictedCategories} */ public Future> getAccountRestrictedCategories(); /** * Async callback version of {@link Service#getAccountRestrictedCategories} */ public Future getAccountRestrictedCategories(ResponseHandler> callback); /** * Async version of {@link Service#getAccountRestrictedPricesFlag} */ public Future getAccountRestrictedPricesFlag(); /** * Async callback version of {@link Service#getAccountRestrictedPricesFlag} */ public Future getAccountRestrictedPricesFlag(ResponseHandler callback); /** * Async version of {@link Service#getActivePresets} */ public Future> getActivePresets(); /** * Async callback version of {@link Service#getActivePresets} */ public Future getActivePresets(ResponseHandler> callback); /** * Async version of {@link Service#getActiveRamItems} */ public Future> getActiveRamItems(); /** * Async callback version of {@link Service#getActiveRamItems} */ public Future getActiveRamItems(ResponseHandler> callback); /** * Async version of {@link Service#getActiveServerItems} */ public Future> getActiveServerItems(); /** * Async callback version of {@link Service#getActiveServerItems} */ public Future getActiveServerItems(ResponseHandler> callback); /** * Async version of {@link Service#getActiveSoftwareItems} */ public Future> getActiveSoftwareItems(); /** * Async callback version of {@link Service#getActiveSoftwareItems} */ public Future getActiveSoftwareItems(ResponseHandler> callback); /** * Async version of {@link Service#getActiveUsagePrices} */ public Future> getActiveUsagePrices(); /** * Async callback version of {@link Service#getActiveUsagePrices} */ public Future getActiveUsagePrices(ResponseHandler> callback); /** * Async version of {@link Service#getAdditionalServiceFlag} */ public Future getAdditionalServiceFlag(); /** * Async callback version of {@link Service#getAdditionalServiceFlag} */ public Future getAdditionalServiceFlag(ResponseHandler callback); /** * Async version of {@link Service#getAttributes} */ public Future> getAttributes(); /** * Async callback version of {@link Service#getAttributes} */ public Future getAttributes(ResponseHandler> callback); /** * Async version of {@link Service#getAvailableLocations} */ public Future> getAvailableLocations(); /** * Async callback version of {@link Service#getAvailableLocations} */ public Future getAvailableLocations(ResponseHandler> callback); /** * Async version of {@link Service#getAvailableStorageUnits} */ public Future getAvailableStorageUnits(); /** * Async callback version of {@link Service#getAvailableStorageUnits} */ public Future getAvailableStorageUnits(ResponseHandler callback); /** * Async version of {@link Service#getCategories} */ public Future> getCategories(); /** * Async callback version of {@link Service#getCategories} */ public Future getCategories(ResponseHandler> callback); /** * Async version of {@link Service#getConfiguration} */ public Future> getConfiguration(); /** * Async callback version of {@link Service#getConfiguration} */ public Future getConfiguration(ResponseHandler> callback); /** * Async version of {@link Service#getDefaultBootCategoryCode} */ public Future getDefaultBootCategoryCode(); /** * Async callback version of {@link Service#getDefaultBootCategoryCode} */ public Future getDefaultBootCategoryCode(ResponseHandler callback); /** * Async version of {@link Service#getDefaultRamItems} */ public Future> getDefaultRamItems(); /** * Async callback version of {@link Service#getDefaultRamItems} */ public Future getDefaultRamItems(ResponseHandler> callback); /** * Async version of {@link Service#getDeploymentNodeType} */ public Future getDeploymentNodeType(); /** * Async callback version of {@link Service#getDeploymentNodeType} */ public Future getDeploymentNodeType(ResponseHandler callback); /** * Async version of {@link Service#getDeploymentPackages} */ public Future> getDeploymentPackages(); /** * Async callback version of {@link Service#getDeploymentPackages} */ public Future getDeploymentPackages(ResponseHandler> callback); /** * Async version of {@link Service#getDeploymentType} */ public Future getDeploymentType(); /** * Async callback version of {@link Service#getDeploymentType} */ public Future getDeploymentType(ResponseHandler callback); /** * Async version of {@link Service#getDeployments} */ public Future> getDeployments(); /** * Async callback version of {@link Service#getDeployments} */ public Future getDeployments(ResponseHandler> callback); /** * Async version of {@link Service#getDisallowCustomDiskPartitions} */ public Future getDisallowCustomDiskPartitions(); /** * Async callback version of {@link Service#getDisallowCustomDiskPartitions} */ public Future getDisallowCustomDiskPartitions(ResponseHandler callback); /** * Async version of {@link Service#getFirstOrderStep} */ public Future getFirstOrderStep(); /** * Async callback version of {@link Service#getFirstOrderStep} */ public Future getFirstOrderStep(ResponseHandler callback); /** * Async version of {@link Service#getGatewayApplianceFlag} */ public Future getGatewayApplianceFlag(); /** * Async callback version of {@link Service#getGatewayApplianceFlag} */ public Future getGatewayApplianceFlag(ResponseHandler callback); /** * Async version of {@link Service#getGpuFlag} */ public Future getGpuFlag(); /** * Async callback version of {@link Service#getGpuFlag} */ public Future getGpuFlag(ResponseHandler callback); /** * Async version of {@link Service#getHourlyBillingAvailableFlag} */ public Future getHourlyBillingAvailableFlag(); /** * Async callback version of {@link Service#getHourlyBillingAvailableFlag} */ public Future getHourlyBillingAvailableFlag(ResponseHandler callback); /** * Async version of {@link Service#getHourlyOnlyOrders} */ public Future getHourlyOnlyOrders(); /** * Async callback version of {@link Service#getHourlyOnlyOrders} */ public Future getHourlyOnlyOrders(ResponseHandler callback); /** * Async version of {@link Service#getItemConflicts} */ public Future> getItemConflicts(); /** * Async callback version of {@link Service#getItemConflicts} */ public Future getItemConflicts(ResponseHandler> callback); /** * Async version of {@link Service#getItemLocationConflicts} */ public Future> getItemLocationConflicts(); /** * Async callback version of {@link Service#getItemLocationConflicts} */ public Future getItemLocationConflicts(ResponseHandler> callback); /** * Async version of {@link Service#getItemPriceReferences} */ public Future> getItemPriceReferences(); /** * Async callback version of {@link Service#getItemPriceReferences} */ public Future getItemPriceReferences(ResponseHandler> callback); /** * Async version of {@link Service#getItemPrices} */ public Future> getItemPrices(); /** * Async callback version of {@link Service#getItemPrices} */ public Future getItemPrices(ResponseHandler> callback); /** * Async version of {@link Service#getItems} */ public Future> getItems(); /** * Async callback version of {@link Service#getItems} */ public Future getItems(ResponseHandler> callback); /** * Async version of {@link Service#getLocations} */ public Future> getLocations(); /** * Async callback version of {@link Service#getLocations} */ public Future getLocations(ResponseHandler> callback); /** * Async version of {@link Service#getLowestServerPrice} */ public Future getLowestServerPrice(); /** * Async callback version of {@link Service#getLowestServerPrice} */ public Future getLowestServerPrice(ResponseHandler callback); /** * Async version of {@link Service#getMaximumPortSpeed} */ public Future getMaximumPortSpeed(); /** * Async callback version of {@link Service#getMaximumPortSpeed} */ public Future getMaximumPortSpeed(ResponseHandler callback); /** * Async version of {@link Service#getMinimumPortSpeed} */ public Future getMinimumPortSpeed(); /** * Async callback version of {@link Service#getMinimumPortSpeed} */ public Future getMinimumPortSpeed(ResponseHandler callback); /** * Async version of {@link Service#getMongoDbEngineeredFlag} */ public Future getMongoDbEngineeredFlag(); /** * Async callback version of {@link Service#getMongoDbEngineeredFlag} */ public Future getMongoDbEngineeredFlag(ResponseHandler callback); /** * Async version of {@link Service#getNoUpgradesFlag} */ public Future getNoUpgradesFlag(); /** * Async callback version of {@link Service#getNoUpgradesFlag} */ public Future getNoUpgradesFlag(ResponseHandler callback); /** * Async version of {@link Service#getNonEuCompliantFlag} */ public Future getNonEuCompliantFlag(); /** * Async callback version of {@link Service#getNonEuCompliantFlag} */ public Future getNonEuCompliantFlag(ResponseHandler callback); /** * Async version of {@link Service#getOrderPremiums} */ public Future> getOrderPremiums(); /** * Async callback version of {@link Service#getOrderPremiums} */ public Future getOrderPremiums(ResponseHandler> callback); /** * Async version of {@link Service#getPopLocationAvailabilityFlag} */ public Future getPopLocationAvailabilityFlag(); /** * Async callback version of {@link Service#getPopLocationAvailabilityFlag} */ public Future getPopLocationAvailabilityFlag(ResponseHandler callback); /** * Async version of {@link Service#getPreconfiguredFlag} */ public Future getPreconfiguredFlag(); /** * Async callback version of {@link Service#getPreconfiguredFlag} */ public Future getPreconfiguredFlag(ResponseHandler callback); /** * Async version of {@link Service#getPresetConfigurationRequiredFlag} */ public Future getPresetConfigurationRequiredFlag(); /** * Async callback version of {@link Service#getPresetConfigurationRequiredFlag} */ public Future getPresetConfigurationRequiredFlag(ResponseHandler callback); /** * Async version of {@link Service#getPreventVlanSelectionFlag} */ public Future getPreventVlanSelectionFlag(); /** * Async callback version of {@link Service#getPreventVlanSelectionFlag} */ public Future getPreventVlanSelectionFlag(ResponseHandler callback); /** * Async version of {@link Service#getPrivateHostedCloudPackageFlag} */ public Future getPrivateHostedCloudPackageFlag(); /** * Async callback version of {@link Service#getPrivateHostedCloudPackageFlag} */ public Future getPrivateHostedCloudPackageFlag(ResponseHandler callback); /** * Async version of {@link Service#getPrivateHostedCloudPackageType} */ public Future getPrivateHostedCloudPackageType(); /** * Async callback version of {@link Service#getPrivateHostedCloudPackageType} */ public Future getPrivateHostedCloudPackageType(ResponseHandler callback); /** * Async version of {@link Service#getPrivateNetworkOnlyFlag} */ public Future getPrivateNetworkOnlyFlag(); /** * Async callback version of {@link Service#getPrivateNetworkOnlyFlag} */ public Future getPrivateNetworkOnlyFlag(ResponseHandler callback); /** * Async version of {@link Service#getQuantaStorPackageFlag} */ public Future getQuantaStorPackageFlag(); /** * Async callback version of {@link Service#getQuantaStorPackageFlag} */ public Future getQuantaStorPackageFlag(ResponseHandler callback); /** * Async version of {@link Service#getRaidDiskRestrictionFlag} */ public Future getRaidDiskRestrictionFlag(); /** * Async callback version of {@link Service#getRaidDiskRestrictionFlag} */ public Future getRaidDiskRestrictionFlag(ResponseHandler callback); /** * Async version of {@link Service#getRedundantPowerFlag} */ public Future getRedundantPowerFlag(); /** * Async callback version of {@link Service#getRedundantPowerFlag} */ public Future getRedundantPowerFlag(ResponseHandler callback); /** * Async version of {@link Service#getRegions} */ public Future> getRegions(); /** * Async callback version of {@link Service#getRegions} */ public Future getRegions(ResponseHandler> callback); /** * Async version of {@link Service#getResourceGroupTemplate} */ public Future