1/** 2 * Copyright 2016 IBM Corp. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17/** 18 * AUTOMATICALLY GENERATED CODE - DO NOT MODIFY 19 */ 20 21package datatypes 22 23// A Catalog is defined as a set of prices for products that SoftLayer offers for sale. These prices are organized into packages which represent the different servers and services that SoftLayer offers. 24type Product_Catalog struct { 25 Entity 26 27 // A count of brands using this Catalog 28 BrandCount *uint `json:"brandCount,omitempty" xmlrpc:"brandCount,omitempty"` 29 30 // Brands using this Catalog 31 Brands []Brand `json:"brands,omitempty" xmlrpc:"brands,omitempty"` 32 33 // The Key Name of the Catalog, used for direct references 34 KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"` 35 36 // A count of packages available in this catalog 37 PackageCount *uint `json:"packageCount,omitempty" xmlrpc:"packageCount,omitempty"` 38 39 // Packages available in this catalog 40 Packages []Product_Package `json:"packages,omitempty" xmlrpc:"packages,omitempty"` 41 42 // A count of prices available in this catalog 43 PriceCount *uint `json:"priceCount,omitempty" xmlrpc:"priceCount,omitempty"` 44 45 // Prices available in this catalog 46 Prices []Product_Item_Price `json:"prices,omitempty" xmlrpc:"prices,omitempty"` 47 48 // A count of products available in catalog 49 ProductCount *uint `json:"productCount,omitempty" xmlrpc:"productCount,omitempty"` 50 51 // Products available in catalog 52 Products []Product_Item `json:"products,omitempty" xmlrpc:"products,omitempty"` 53} 54 55// The SoftLayer_Product_Catalog_Item_Price type assigns an Item Price to a Catalog. This relation defines the composition of Item Prices in a Catalog. 56type Product_Catalog_Item_Price struct { 57 Entity 58 59 // Catalog being assigned 60 Catalog *Product_Catalog `json:"catalog,omitempty" xmlrpc:"catalog,omitempty"` 61 62 // The id of the Catalog the Item Price is part of. 63 CatalogId *int `json:"catalogId,omitempty" xmlrpc:"catalogId,omitempty"` 64 65 // The time the Item Price was defined in the Catalog 66 CreateDate *Time `json:"createDate,omitempty" xmlrpc:"createDate,omitempty"` 67 68 // The time the Item Price was changed for the Catalog 69 ModifyDate *Time `json:"modifyDate,omitempty" xmlrpc:"modifyDate,omitempty"` 70 71 // Price being assigned 72 Price *Product_Item_Price `json:"price,omitempty" xmlrpc:"price,omitempty"` 73 74 // The id of the Item Price that is part of the Catalog. 75 PriceId *int `json:"priceId,omitempty" xmlrpc:"priceId,omitempty"` 76} 77 78// The SoftLayer_Product_Group data type contains product group relationship. 79type Product_Group struct { 80 Entity 81 82 // The name of the product group. 83 Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"` 84} 85 86// The SoftLayer_Product_Item data type contains general information relating to a single SoftLayer product. 87type Product_Item struct { 88 Entity 89 90 // A count of 91 ActivePresaleEventCount *uint `json:"activePresaleEventCount,omitempty" xmlrpc:"activePresaleEventCount,omitempty"` 92 93 // no documentation yet 94 ActivePresaleEvents []Sales_Presale_Event `json:"activePresaleEvents,omitempty" xmlrpc:"activePresaleEvents,omitempty"` 95 96 // A count of active usage based prices. 97 ActiveUsagePriceCount *uint `json:"activeUsagePriceCount,omitempty" xmlrpc:"activeUsagePriceCount,omitempty"` 98 99 // Active usage based prices. 100 ActiveUsagePrices []Product_Item_Price `json:"activeUsagePrices,omitempty" xmlrpc:"activeUsagePrices,omitempty"` 101 102 // A count of the attribute values for a product item. These are additional properties that give extra information about the product being sold. 103 AttributeCount *uint `json:"attributeCount,omitempty" xmlrpc:"attributeCount,omitempty"` 104 105 // The attribute values for a product item. These are additional properties that give extra information about the product being sold. 106 Attributes []Product_Item_Attribute `json:"attributes,omitempty" xmlrpc:"attributes,omitempty"` 107 108 // A count of attributes that govern when an item may no longer be available. 109 AvailabilityAttributeCount *uint `json:"availabilityAttributeCount,omitempty" xmlrpc:"availabilityAttributeCount,omitempty"` 110 111 // Attributes that govern when an item may no longer be available. 112 AvailabilityAttributes []Product_Item_Attribute `json:"availabilityAttributes,omitempty" xmlrpc:"availabilityAttributes,omitempty"` 113 114 // An item's special billing type, if applicable. 115 BillingType *string `json:"billingType,omitempty" xmlrpc:"billingType,omitempty"` 116 117 // An item's included product item references. Some items have other items included in them that we specifically detail. They are here called Bundled Items. An example is Plesk unlimited. It as a bundled item labeled 'SiteBuilder'. These are the SoftLayer_Product_Item_Bundles objects. See the SoftLayer_Product_Item::bundleItems property for bundle of SoftLayer_Product_Item of objects. 118 Bundle []Product_Item_Bundles `json:"bundle,omitempty" xmlrpc:"bundle,omitempty"` 119 120 // A count of an item's included product item references. Some items have other items included in them that we specifically detail. They are here called Bundled Items. An example is Plesk unlimited. It as a bundled item labeled 'SiteBuilder'. These are the SoftLayer_Product_Item_Bundles objects. See the SoftLayer_Product_Item::bundleItems property for bundle of SoftLayer_Product_Item of objects. 121 BundleCount *uint `json:"bundleCount,omitempty" xmlrpc:"bundleCount,omitempty"` 122 123 // A count of an item's included products. Some items have other items included in them that we specifically detail. They are here called Bundled Items. An example is Plesk unlimited. It as a bundled item labeled 'SiteBuilder'. These are the SoftLayer_Product_Item objects. 124 BundleItemCount *uint `json:"bundleItemCount,omitempty" xmlrpc:"bundleItemCount,omitempty"` 125 126 // An item's included products. Some items have other items included in them that we specifically detail. They are here called Bundled Items. An example is Plesk unlimited. It as a bundled item labeled 'SiteBuilder'. These are the SoftLayer_Product_Item objects. 127 BundleItems []Product_Item `json:"bundleItems,omitempty" xmlrpc:"bundleItems,omitempty"` 128 129 // Some Product Items have capacity information such as RAM and bandwidth, and others. This provides the numerical representation of the capacity given in the description of this product item. 130 Capacity *Float64 `json:"capacity,omitempty" xmlrpc:"capacity,omitempty"` 131 132 // When the product capacity is best described as a range, this holds the ceiling of the range. 133 CapacityMaximum *string `json:"capacityMaximum,omitempty" xmlrpc:"capacityMaximum,omitempty"` 134 135 // When the product capacity is best described as a range, this holds the floor of the range. 136 CapacityMinimum *string `json:"capacityMinimum,omitempty" xmlrpc:"capacityMinimum,omitempty"` 137 138 // This flag indicates that this product is restricted by a capacity on a related product. 139 CapacityRestrictedProductFlag *bool `json:"capacityRestrictedProductFlag,omitempty" xmlrpc:"capacityRestrictedProductFlag,omitempty"` 140 141 // An item's associated item categories. 142 Categories []Product_Item_Category `json:"categories,omitempty" xmlrpc:"categories,omitempty"` 143 144 // A count of an item's associated item categories. 145 CategoryCount *uint `json:"categoryCount,omitempty" xmlrpc:"categoryCount,omitempty"` 146 147 // A count of some product items have configuration templates which can be used to during provisioning of that product. 148 ConfigurationTemplateCount *uint `json:"configurationTemplateCount,omitempty" xmlrpc:"configurationTemplateCount,omitempty"` 149 150 // Some product items have configuration templates which can be used to during provisioning of that product. 151 ConfigurationTemplates []Configuration_Template `json:"configurationTemplates,omitempty" xmlrpc:"configurationTemplates,omitempty"` 152 153 // An item's conflicts. For example, McAfee LinuxShield cannot be ordered with Windows. It was not meant for that operating system and as such is a conflict. 154 Conflicts []Product_Item_Resource_Conflict `json:"conflicts,omitempty" xmlrpc:"conflicts,omitempty"` 155 156 // This flag indicates that this product is restricted by the number of cores on the compute instance. This is deprecated. Use [[SoftLayer_Product_Item/getCapacityRestrictedProductFlag|getCapacityRestrictedProductFlag]] 157 CoreRestrictedItemFlag *bool `json:"coreRestrictedItemFlag,omitempty" xmlrpc:"coreRestrictedItemFlag,omitempty"` 158 159 // A product's description 160 Description *string `json:"description,omitempty" xmlrpc:"description,omitempty"` 161 162 // Some product items have a downgrade path. This is the first product item in the downgrade path. 163 DowngradeItem *Product_Item `json:"downgradeItem,omitempty" xmlrpc:"downgradeItem,omitempty"` 164 165 // A count of some product items have a downgrade path. These are those product items. 166 DowngradeItemCount *uint `json:"downgradeItemCount,omitempty" xmlrpc:"downgradeItemCount,omitempty"` 167 168 // Some product items have a downgrade path. These are those product items. 169 DowngradeItems []Product_Item `json:"downgradeItems,omitempty" xmlrpc:"downgradeItems,omitempty"` 170 171 // An item's category conflicts. For example, 10 Gbps redundant network functionality cannot be ordered with a secondary GPU and as such is a conflict. 172 GlobalCategoryConflicts []Product_Item_Resource_Conflict `json:"globalCategoryConflicts,omitempty" xmlrpc:"globalCategoryConflicts,omitempty"` 173 174 // The hardware generic component model ID of the product. 175 HardwareGenericComponentId *int `json:"hardwareGenericComponentId,omitempty" xmlrpc:"hardwareGenericComponentId,omitempty"` 176 177 // The generic hardware component that this item represents. 178 HardwareGenericComponentModel *Hardware_Component_Model_Generic `json:"hardwareGenericComponentModel,omitempty" xmlrpc:"hardwareGenericComponentModel,omitempty"` 179 180 // no documentation yet 181 HideFromPortalFlag *bool `json:"hideFromPortalFlag,omitempty" xmlrpc:"hideFromPortalFlag,omitempty"` 182 183 // A product's internal identification number 184 Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"` 185 186 // no documentation yet 187 IneligibleForAccountDiscountFlag *bool `json:"ineligibleForAccountDiscountFlag,omitempty" xmlrpc:"ineligibleForAccountDiscountFlag,omitempty"` 188 189 // DEPRECATED. An item's inventory status per datacenter. 190 Inventory []Product_Package_Inventory `json:"inventory,omitempty" xmlrpc:"inventory,omitempty"` 191 192 // A count of dEPRECATED. An item's inventory status per datacenter. 193 InventoryCount *uint `json:"inventoryCount,omitempty" xmlrpc:"inventoryCount,omitempty"` 194 195 // Flag to indicate the server product is engineered for a multi-server solution. (Deprecated) 196 IsEngineeredServerProduct *bool `json:"isEngineeredServerProduct,omitempty" xmlrpc:"isEngineeredServerProduct,omitempty"` 197 198 // An item's primary item category. 199 ItemCategory *Product_Item_Category `json:"itemCategory,omitempty" xmlrpc:"itemCategory,omitempty"` 200 201 // A products tax category internal identification number 202 ItemTaxCategoryId *int `json:"itemTaxCategoryId,omitempty" xmlrpc:"itemTaxCategoryId,omitempty"` 203 204 // A unique key name for the product. 205 KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"` 206 207 // no documentation yet 208 LocalDiskFlag *bool `json:"localDiskFlag,omitempty" xmlrpc:"localDiskFlag,omitempty"` 209 210 // An item's location conflicts. For example, Dual Path network functionality cannot be ordered in WDC and as such is a conflict. 211 LocationConflicts []Product_Item_Resource_Conflict `json:"locationConflicts,omitempty" xmlrpc:"locationConflicts,omitempty"` 212 213 // Detailed product description 214 LongDescription *string `json:"longDescription,omitempty" xmlrpc:"longDescription,omitempty"` 215 216 // The minimum number of bays that support NVMe SSDs. 217 MinimumNvmeBays *int `json:"minimumNvmeBays,omitempty" xmlrpc:"minimumNvmeBays,omitempty"` 218 219 // Indicates whether an item is a NVMe SSD. 220 NvmeDiskFlag *bool `json:"nvmeDiskFlag,omitempty" xmlrpc:"nvmeDiskFlag,omitempty"` 221 222 // no documentation yet 223 ObjectStorageClusterGeolocationType *string `json:"objectStorageClusterGeolocationType,omitempty" xmlrpc:"objectStorageClusterGeolocationType,omitempty"` 224 225 // no documentation yet 226 ObjectStorageItemFlag *bool `json:"objectStorageItemFlag,omitempty" xmlrpc:"objectStorageItemFlag,omitempty"` 227 228 // no documentation yet 229 ObjectStorageServiceClass *string `json:"objectStorageServiceClass,omitempty" xmlrpc:"objectStorageServiceClass,omitempty"` 230 231 // A count of a collection of all the SoftLayer_Product_Package(s) in which this item exists. 232 PackageCount *uint `json:"packageCount,omitempty" xmlrpc:"packageCount,omitempty"` 233 234 // A collection of all the SoftLayer_Product_Package(s) in which this item exists. 235 Packages []Product_Package `json:"packages,omitempty" xmlrpc:"packages,omitempty"` 236 237 // The number of cores that a processor has. 238 PhysicalCoreCapacity *string `json:"physicalCoreCapacity,omitempty" xmlrpc:"physicalCoreCapacity,omitempty"` 239 240 // A count of 241 PresaleEventCount *uint `json:"presaleEventCount,omitempty" xmlrpc:"presaleEventCount,omitempty"` 242 243 // no documentation yet 244 PresaleEvents []Sales_Presale_Event `json:"presaleEvents,omitempty" xmlrpc:"presaleEvents,omitempty"` 245 246 // A count of a product item's prices. 247 PriceCount *uint `json:"priceCount,omitempty" xmlrpc:"priceCount,omitempty"` 248 249 // A product item's prices. 250 Prices []Product_Item_Price `json:"prices,omitempty" xmlrpc:"prices,omitempty"` 251 252 // If an item must be ordered with another item, it will have a requirement item here. 253 Requirements []Product_Item_Requirement `json:"requirements,omitempty" xmlrpc:"requirements,omitempty"` 254 255 // A count of an item's rules. This includes the requirements and conflicts to resources that an item has. 256 RuleCount *uint `json:"ruleCount,omitempty" xmlrpc:"ruleCount,omitempty"` 257 258 // An item's rules. This includes the requirements and conflicts to resources that an item has. 259 Rules []Product_Item_Rule `json:"rules,omitempty" xmlrpc:"rules,omitempty"` 260 261 // The SoftLayer_Software_Description tied to this item. This will only be populated for software items. 262 SoftwareDescription *Software_Description `json:"softwareDescription,omitempty" xmlrpc:"softwareDescription,omitempty"` 263 264 // The unique identifier of the SoftLayer_Software_Description tied to this item. 265 SoftwareDescriptionId *int `json:"softwareDescriptionId,omitempty" xmlrpc:"softwareDescriptionId,omitempty"` 266 267 // An item's tax category, if applicable. 268 TaxCategory *Product_Item_Tax_Category `json:"taxCategory,omitempty" xmlrpc:"taxCategory,omitempty"` 269 270 // A count of third-party policy assignments for this product. 271 ThirdPartyPolicyAssignmentCount *uint `json:"thirdPartyPolicyAssignmentCount,omitempty" xmlrpc:"thirdPartyPolicyAssignmentCount,omitempty"` 272 273 // Third-party policy assignments for this product. 274 ThirdPartyPolicyAssignments []Product_Item_Policy_Assignment `json:"thirdPartyPolicyAssignments,omitempty" xmlrpc:"thirdPartyPolicyAssignments,omitempty"` 275 276 // The 3rd party vendor for a support subscription item. (Deprecated) 277 ThirdPartySupportVendor *string `json:"thirdPartySupportVendor,omitempty" xmlrpc:"thirdPartySupportVendor,omitempty"` 278 279 // The total number of physical processing cores (excluding virtual cores / hyperthreads) for this server. 280 TotalPhysicalCoreCapacity *int `json:"totalPhysicalCoreCapacity,omitempty" xmlrpc:"totalPhysicalCoreCapacity,omitempty"` 281 282 // Shows the total number of cores. This is deprecated. Use [[SoftLayer_Product_Item/getCapacity|getCapacity]] for guest_core products and [[SoftLayer_Product_Item/getTotalPhysicalCoreCapacity|getTotalPhysicalCoreCapacity]] for server products 283 TotalPhysicalCoreCount *int `json:"totalPhysicalCoreCount,omitempty" xmlrpc:"totalPhysicalCoreCount,omitempty"` 284 285 // The total number of processors for this server. 286 TotalProcessorCapacity *int `json:"totalProcessorCapacity,omitempty" xmlrpc:"totalProcessorCapacity,omitempty"` 287 288 // The unit of measurement that a product item is measured in. 289 Units *string `json:"units,omitempty" xmlrpc:"units,omitempty"` 290 291 // Some product items have an upgrade path. This is the next product item in the upgrade path. 292 UpgradeItem *Product_Item `json:"upgradeItem,omitempty" xmlrpc:"upgradeItem,omitempty"` 293 294 // A count of some product items have an upgrade path. These are those upgrade product items. 295 UpgradeItemCount *uint `json:"upgradeItemCount,omitempty" xmlrpc:"upgradeItemCount,omitempty"` 296 297 // A products upgrade item's internal identification number 298 UpgradeItemId *int `json:"upgradeItemId,omitempty" xmlrpc:"upgradeItemId,omitempty"` 299 300 // Some product items have an upgrade path. These are those upgrade product items. 301 UpgradeItems []Product_Item `json:"upgradeItems,omitempty" xmlrpc:"upgradeItems,omitempty"` 302} 303 304// The [[SoftLayer_Product_Item_Attribute]] data type allows us to describe a [[SoftLayer_Product_Item]] by attaching specific attributes, which may dictate how it interacts with other products and services. Most, if not all, of these attributes are geared towards internal usage, so customers should rarely be concerned with them. 305type Product_Item_Attribute struct { 306 Entity 307 308 // This represents the attribute type of this product attribute. 309 AttributeType *Product_Item_Attribute_Type `json:"attributeType,omitempty" xmlrpc:"attributeType,omitempty"` 310 311 // This represents the attribute type's key name of this product attribute. 312 AttributeTypeKeyName *string `json:"attributeTypeKeyName,omitempty" xmlrpc:"attributeTypeKeyName,omitempty"` 313 314 // This is the primary key value for the product attribute. 315 Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"` 316 317 // This represents the product that an attribute is tied to. 318 Item *Product_Item `json:"item,omitempty" xmlrpc:"item,omitempty"` 319 320 // This is a foreign key value for the [[SoftLayer_Product_Item_Attribute_Type]]. 321 ItemAttributeTypeId *int `json:"itemAttributeTypeId,omitempty" xmlrpc:"itemAttributeTypeId,omitempty"` 322 323 // This is a foreign key value for the [[SoftLayer_Product_Item]]. 324 ItemId *int `json:"itemId,omitempty" xmlrpc:"itemId,omitempty"` 325 326 // This is the value for the attribute. 327 Value *string `json:"value,omitempty" xmlrpc:"value,omitempty"` 328} 329 330// The [[SoftLayer_Product_Item_Attribute_Type]] data type defines the available type of product attributes that are available. This allows for convenient reference to a [[SoftLayer_Product_Item_Attribute|product attribute]] by a unique key name value. 331type Product_Item_Attribute_Type struct { 332 Entity 333 334 // This is the unique identifier of the attribute type. 335 KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"` 336 337 // This is the user-friendly readable name of the attribute type. 338 Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"` 339} 340 341// The SoftLayer_Product_Item_Billing_Type data type models special billing types for non-monthly billed items in the SoftLayer product catalog. 342type Product_Item_Billing_Type struct { 343 Entity 344 345 // A keyword describing a SoftLayer product item billing type. 346 Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"` 347} 348 349// The SoftLayer_Product_Item_Bundles contains item to price cross references Relates a category, price and item to a bundle. Match bundle ids to see all items and prices in a particular bundle. 350type Product_Item_Bundles struct { 351 Entity 352 353 // Item in bundle. 354 BundleItem *Product_Item `json:"bundleItem,omitempty" xmlrpc:"bundleItem,omitempty"` 355 356 // Identifier for bundle. 357 BundleItemId *int `json:"bundleItemId,omitempty" xmlrpc:"bundleItemId,omitempty"` 358 359 // Category bundle falls in. 360 Category *Product_Item_Category `json:"category,omitempty" xmlrpc:"category,omitempty"` 361 362 // Identifier for record. 363 Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"` 364 365 // Price of item in bundle 366 ItemPrice *Product_Item_Price `json:"itemPrice,omitempty" xmlrpc:"itemPrice,omitempty"` 367 368 // Identifier for price. 369 ItemPriceId *int `json:"itemPriceId,omitempty" xmlrpc:"itemPriceId,omitempty"` 370} 371 372// The SoftLayer_Product_Item_Category data type contains general category information for prices. 373type Product_Item_Category struct { 374 Entity 375 376 // A count of the billing items associated with an account that share a category code with an item category's category code. 377 BillingItemCount *uint `json:"billingItemCount,omitempty" xmlrpc:"billingItemCount,omitempty"` 378 379 // The billing items associated with an account that share a category code with an item category's category code. 380 BillingItems []Billing_Item `json:"billingItems,omitempty" xmlrpc:"billingItems,omitempty"` 381 382 // The code used to identify this category. 383 CategoryCode *string `json:"categoryCode,omitempty" xmlrpc:"categoryCode,omitempty"` 384 385 // This invoice item's "item category group". 386 Group *Product_Item_Category_Group `json:"group,omitempty" xmlrpc:"group,omitempty"` 387 388 // A count of a collection of service offering category groups. Each group contains a collection of items associated with this category. 389 GroupCount *uint `json:"groupCount,omitempty" xmlrpc:"groupCount,omitempty"` 390 391 // A collection of service offering category groups. Each group contains a collection of items associated with this category. 392 Groups []Product_Package_Item_Category_Group `json:"groups,omitempty" xmlrpc:"groups,omitempty"` 393 394 // identifier for category. 395 Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"` 396 397 // The friendly, descriptive name of the category as seen on the order forms and on invoices. 398 Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"` 399 400 // A count of any unique options associated with an item category. 401 OrderOptionCount *uint `json:"orderOptionCount,omitempty" xmlrpc:"orderOptionCount,omitempty"` 402 403 // Any unique options associated with an item category. 404 OrderOptions []Product_Item_Category_Order_Option_Type `json:"orderOptions,omitempty" xmlrpc:"orderOptions,omitempty"` 405 406 // A count of a list of configuration available in this category.' 407 PackageConfigurationCount *uint `json:"packageConfigurationCount,omitempty" xmlrpc:"packageConfigurationCount,omitempty"` 408 409 // A list of configuration available in this category.' 410 PackageConfigurations []Product_Package_Order_Configuration `json:"packageConfigurations,omitempty" xmlrpc:"packageConfigurations,omitempty"` 411 412 // A count of a list of preset configurations this category is used in.' 413 PresetConfigurationCount *uint `json:"presetConfigurationCount,omitempty" xmlrpc:"presetConfigurationCount,omitempty"` 414 415 // A list of preset configurations this category is used in.' 416 PresetConfigurations []Product_Package_Preset_Configuration `json:"presetConfigurations,omitempty" xmlrpc:"presetConfigurations,omitempty"` 417 418 // Quantity that can be ordered. If 0, it will inherit the quantity from the server quantity ordered. Otherwise it can be specified with the order separately 419 QuantityLimit *int `json:"quantityLimit,omitempty" xmlrpc:"quantityLimit,omitempty"` 420 421 // A count of the questions that are associated with an item category. 422 QuestionCount *uint `json:"questionCount,omitempty" xmlrpc:"questionCount,omitempty"` 423 424 // A count of the question references that are associated with an item category. 425 QuestionReferenceCount *uint `json:"questionReferenceCount,omitempty" xmlrpc:"questionReferenceCount,omitempty"` 426 427 // The question references that are associated with an item category. 428 QuestionReferences []Product_Item_Category_Question_Xref `json:"questionReferences,omitempty" xmlrpc:"questionReferences,omitempty"` 429 430 // The questions that are associated with an item category. 431 Questions []Product_Item_Category_Question `json:"questions,omitempty" xmlrpc:"questions,omitempty"` 432 433 // The sort order of the category. It may be used to affect the order in which the category may appear in lists (on order forms and invoices). 434 SortOrder *int `json:"sortOrder,omitempty" xmlrpc:"sortOrder,omitempty"` 435} 436 437// The SoftLayer_Product_Item_Category_Group data type contains general category group information. 438type Product_Item_Category_Group struct { 439 Entity 440 441 // identifier for category group. 442 Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"` 443 444 // The friendly, descriptive name of the category group as seen on the order forms and on invoices. 445 Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"` 446} 447 448// The SoftLayer_Product_Item_Category_Order_Option_Type data type contains options that can be applied to orders for prices. 449type Product_Item_Category_Order_Option_Type struct { 450 Entity 451 452 // An item category order type's description. 453 Description *string `json:"description,omitempty" xmlrpc:"description,omitempty"` 454 455 // An item category order type's unique identifier. 456 Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"` 457 458 // A simple description for an item category order type. 459 Keyname *string `json:"keyname,omitempty" xmlrpc:"keyname,omitempty"` 460 461 // An item category order type's name. 462 Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"` 463 464 // The value of the item category type's option. 465 Value *string `json:"value,omitempty" xmlrpc:"value,omitempty"` 466} 467 468// The SoftLayer_Product_Item_Category_Question data type represents a single question to be answered by an end user. The question may or may not be required which can be located by looking at the 'required' property on the item category references. The answerValueExpression property is a regular expression that is used to validate the answer to the question. The description and valueExample properties can be used to get an idea of the type of answer that should be provided. 469type Product_Item_Category_Question struct { 470 Entity 471 472 // The type of answer expected. 473 AnswerValueExpression *string `json:"answerValueExpression,omitempty" xmlrpc:"answerValueExpression,omitempty"` 474 475 // The description for the question. 476 Description *string `json:"description,omitempty" xmlrpc:"description,omitempty"` 477 478 // The type of field that should be used in an HTML form to accept an answer from an end user. 479 FieldType *Product_Item_Category_Question_Field_Type `json:"fieldType,omitempty" xmlrpc:"fieldType,omitempty"` 480 481 // The type of field to use. 482 FieldTypeId *int `json:"fieldTypeId,omitempty" xmlrpc:"fieldTypeId,omitempty"` 483 484 // identifier for category. 485 Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"` 486 487 // A count of the link between an item category and an item category question. 488 ItemCategoryReferenceCount *uint `json:"itemCategoryReferenceCount,omitempty" xmlrpc:"itemCategoryReferenceCount,omitempty"` 489 490 // The link between an item category and an item category question. 491 ItemCategoryReferences []Product_Item_Category_Question_Xref `json:"itemCategoryReferences,omitempty" xmlrpc:"itemCategoryReferences,omitempty"` 492 493 // The keyname for the question. 494 KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"` 495 496 // The question for the category. 497 Question *string `json:"question,omitempty" xmlrpc:"question,omitempty"` 498 499 // An example and/or explanation of what the answer for the question is expected to look like. 500 ValueExample *string `json:"valueExample,omitempty" xmlrpc:"valueExample,omitempty"` 501} 502 503// The SoftLayer_Product_Item_Category_Question_Field_Type data type represents the recommended type of field that should be rendered on an HTML form. 504type Product_Item_Category_Question_Field_Type struct { 505 Entity 506 507 // Identifier for the question type. 508 Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"` 509 510 // Keyname for the question field type. 511 KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"` 512 513 // Short name for the question field type. 514 Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"` 515} 516 517// The SoftLayer_Product_Item_Category_Question_Xref data type represents a link between an item category and an item category question. It also contains a 'required' field that designates if the question is required to be answered for the given item category. 518type Product_Item_Category_Question_Xref struct { 519 Entity 520 521 // Identifier for category question xref record. 522 Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"` 523 524 // The product item category that this reference points to. 525 ItemCategory *Product_Item_Category `json:"itemCategory,omitempty" xmlrpc:"itemCategory,omitempty"` 526 527 // Identifier for item category. 528 ItemCategoryId *int `json:"itemCategoryId,omitempty" xmlrpc:"itemCategoryId,omitempty"` 529 530 // Identifier for the question. 531 LocationId *int `json:"locationId,omitempty" xmlrpc:"locationId,omitempty"` 532 533 // The item category question that this reference points to. 534 Question *Product_Item_Category_Question `json:"question,omitempty" xmlrpc:"question,omitempty"` 535 536 // Identifier for the question. 537 QuestionId *int `json:"questionId,omitempty" xmlrpc:"questionId,omitempty"` 538 539 // Flag to indicate whether an answer is required for the question.. 540 Required *bool `json:"required,omitempty" xmlrpc:"required,omitempty"` 541} 542 543// no documentation yet 544type Product_Item_Overage_Price struct { 545 Entity 546 547 // no documentation yet 548 DefaultOverageItem *Product_Item `json:"defaultOverageItem,omitempty" xmlrpc:"defaultOverageItem,omitempty"` 549 550 // no documentation yet 551 Item *Product_Item `json:"item,omitempty" xmlrpc:"item,omitempty"` 552} 553 554// Represents the assignment of a policy to a product. The existence of a record means that the associated product is subject to the terms defined in the document content of the policy. 555type Product_Item_Policy_Assignment struct { 556 Entity 557 558 // no documentation yet 559 Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"` 560 561 // The name of the assigned policy. 562 PolicyName *string `json:"policyName,omitempty" xmlrpc:"policyName,omitempty"` 563 564 // The [[SoftLayer_Product_Item]] for this policy assignment. 565 Product *Product_Item `json:"product,omitempty" xmlrpc:"product,omitempty"` 566 567 // no documentation yet 568 ProductId *int `json:"productId,omitempty" xmlrpc:"productId,omitempty"` 569} 570 571// The SoftLayer_Product_Item_Price data type contains general information relating to a single SoftLayer product item price. You can find out what packages each price is in as well as which category under which this price is sold. All prices are returned in floating point values measured in US Dollars ($USD). 572type Product_Item_Price struct { 573 Entity 574 575 // A count of the account that the item price is restricted to. 576 AccountRestrictionCount *uint `json:"accountRestrictionCount,omitempty" xmlrpc:"accountRestrictionCount,omitempty"` 577 578 // The account that the item price is restricted to. 579 AccountRestrictions []Product_Item_Price_Account_Restriction `json:"accountRestrictions,omitempty" xmlrpc:"accountRestrictions,omitempty"` 580 581 // A count of 582 AttributeCount *uint `json:"attributeCount,omitempty" xmlrpc:"attributeCount,omitempty"` 583 584 // no documentation yet 585 Attributes []Product_Item_Price_Attribute `json:"attributes,omitempty" xmlrpc:"attributes,omitempty"` 586 587 // Signifies pricing that is only available on a bare metal reserved capacity order. 588 BareMetalReservedCapacityFlag *bool `json:"bareMetalReservedCapacityFlag,omitempty" xmlrpc:"bareMetalReservedCapacityFlag,omitempty"` 589 590 // Whether the price is for Big Data OS/Journal disks only. (Deprecated) 591 BigDataOsJournalDiskFlag *bool `json:"bigDataOsJournalDiskFlag,omitempty" xmlrpc:"bigDataOsJournalDiskFlag,omitempty"` 592 593 // A count of cross reference for bundles 594 BundleReferenceCount *uint `json:"bundleReferenceCount,omitempty" xmlrpc:"bundleReferenceCount,omitempty"` 595 596 // cross reference for bundles 597 BundleReferences []Product_Item_Bundles `json:"bundleReferences,omitempty" xmlrpc:"bundleReferences,omitempty"` 598 599 // The maximum capacity value for which this price is suitable. 600 CapacityRestrictionMaximum *string `json:"capacityRestrictionMaximum,omitempty" xmlrpc:"capacityRestrictionMaximum,omitempty"` 601 602 // The minimum capacity value for which this price is suitable. 603 CapacityRestrictionMinimum *string `json:"capacityRestrictionMinimum,omitempty" xmlrpc:"capacityRestrictionMinimum,omitempty"` 604 605 // The type of capacity restriction by which this price must abide. 606 CapacityRestrictionType *string `json:"capacityRestrictionType,omitempty" xmlrpc:"capacityRestrictionType,omitempty"` 607 608 // All categories which this item is a member. 609 Categories []Product_Item_Category `json:"categories,omitempty" xmlrpc:"categories,omitempty"` 610 611 // A count of all categories which this item is a member. 612 CategoryCount *uint `json:"categoryCount,omitempty" xmlrpc:"categoryCount,omitempty"` 613 614 // This flag is used by the getUpgradeItemPrices methods available on various resources to indicate if a product price is used for the current billing item. 615 CurrentPriceFlag *bool `json:"currentPriceFlag,omitempty" xmlrpc:"currentPriceFlag,omitempty"` 616 617 // Signifies pricing that is only available on a dedicated host virtual server order. 618 DedicatedHostInstanceFlag *bool `json:"dedicatedHostInstanceFlag,omitempty" xmlrpc:"dedicatedHostInstanceFlag,omitempty"` 619 620 // Whether this price defines a software license for its product item. 621 DefinedSoftwareLicenseFlag *bool `json:"definedSoftwareLicenseFlag,omitempty" xmlrpc:"definedSoftwareLicenseFlag,omitempty"` 622 623 // Eligibility strategy to assess if a customer can order using this price. 624 EligibilityStrategy *string `json:"eligibilityStrategy,omitempty" xmlrpc:"eligibilityStrategy,omitempty"` 625 626 // The hourly price for this item, should this item be part of an hourly pricing package. 627 HourlyRecurringFee *Float64 `json:"hourlyRecurringFee,omitempty" xmlrpc:"hourlyRecurringFee,omitempty"` 628 629 // The unique identifier of a Product Item Price. 630 Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"` 631 632 // The product item a price is tied to. 633 Item *Product_Item `json:"item,omitempty" xmlrpc:"item,omitempty"` 634 635 // The unique identifier for a product Item 636 ItemId *int `json:"itemId,omitempty" xmlrpc:"itemId,omitempty"` 637 638 // The labor fee for a product item price. 639 LaborFee *Float64 `json:"laborFee,omitempty" xmlrpc:"laborFee,omitempty"` 640 641 // The id of the [[SoftLayer_Location_Group_Pricing]] that this price is part of. If set to null, the price is considered a standard price, which can be used with any location when ordering. 642 // 643 // During order [[SoftLayer_Product_Order/verifyOrder|verification]] and [[SoftLayer_Product_Order/placeOrder|placement]], if a standard price is used, that price may be replaced with a location based price, which does not have this property set to null. The location based price must be part of a [[SoftLayer_Location_Group_Pricing]] that has the location being ordered in order for this to happen. 644 LocationGroupId *int `json:"locationGroupId,omitempty" xmlrpc:"locationGroupId,omitempty"` 645 646 // On sale flag. 647 OnSaleFlag *bool `json:"onSaleFlag,omitempty" xmlrpc:"onSaleFlag,omitempty"` 648 649 // The one time fee for a product item price. 650 OneTimeFee *Float64 `json:"oneTimeFee,omitempty" xmlrpc:"oneTimeFee,omitempty"` 651 652 // A price's total tax amount of the one time fees (oneTimeFee, laborFee, and setupFee). This is only populated after the order is verified via SoftLayer_Product_Order::verifyOrder() 653 OneTimeFeeTax *Float64 `json:"oneTimeFeeTax,omitempty" xmlrpc:"oneTimeFeeTax,omitempty"` 654 655 // Order options for the category that this price is associated with. 656 OrderOptions []Product_Item_Category_Order_Option_Type `json:"orderOptions,omitempty" xmlrpc:"orderOptions,omitempty"` 657 658 // A count of 659 OrderPremiumCount *uint `json:"orderPremiumCount,omitempty" xmlrpc:"orderPremiumCount,omitempty"` 660 661 // no documentation yet 662 OrderPremiums []Product_Item_Price_Premium `json:"orderPremiums,omitempty" xmlrpc:"orderPremiums,omitempty"` 663 664 // A count of a price's packages under which this item is sold. 665 PackageCount *uint `json:"packageCount,omitempty" xmlrpc:"packageCount,omitempty"` 666 667 // A count of cross reference for packages 668 PackageReferenceCount *uint `json:"packageReferenceCount,omitempty" xmlrpc:"packageReferenceCount,omitempty"` 669 670 // cross reference for packages 671 PackageReferences []Product_Package_Item_Prices `json:"packageReferences,omitempty" xmlrpc:"packageReferences,omitempty"` 672 673 // A price's packages under which this item is sold. 674 Packages []Product_Package `json:"packages,omitempty" xmlrpc:"packages,omitempty"` 675 676 // A count of a list of preset configurations this price is used in.' 677 PresetConfigurationCount *uint `json:"presetConfigurationCount,omitempty" xmlrpc:"presetConfigurationCount,omitempty"` 678 679 // A list of preset configurations this price is used in.' 680 PresetConfigurations []Product_Package_Preset_Configuration `json:"presetConfigurations,omitempty" xmlrpc:"presetConfigurations,omitempty"` 681 682 // The type keyname of this price which can be STANDARD, TIERED, or TERM. 683 PriceType *string `json:"priceType,omitempty" xmlrpc:"priceType,omitempty"` 684 685 // The pricing location group that this price is applicable for. Prices that have a pricing location group will only be available for ordering with the locations specified on the location group. 686 PricingLocationGroup *Location_Group_Pricing `json:"pricingLocationGroup,omitempty" xmlrpc:"pricingLocationGroup,omitempty"` 687 688 // A recurring fee is a fee that happens every billing period. This fee is represented as a floating point decimal in US dollars ($USD). 689 ProratedRecurringFee *Float64 `json:"proratedRecurringFee,omitempty" xmlrpc:"proratedRecurringFee,omitempty"` 690 691 // A price's tax amount of the recurring fee. This is only populated after the order is verified via SoftLayer_Product_Order::verifyOrder() 692 ProratedRecurringFeeTax *Float64 `json:"proratedRecurringFeeTax,omitempty" xmlrpc:"proratedRecurringFeeTax,omitempty"` 693 694 // no documentation yet 695 Quantity *int `json:"quantity,omitempty" xmlrpc:"quantity,omitempty"` 696 697 // A recurring fee is a fee that happens every billing period. This fee is represented as a floating point decimal in US dollars ($USD). 698 RecurringFee *Float64 `json:"recurringFee,omitempty" xmlrpc:"recurringFee,omitempty"` 699 700 // A price's tax amount of the recurring fee. This is only populated after the order is verified via SoftLayer_Product_Order::verifyOrder() 701 RecurringFeeTax *Float64 `json:"recurringFeeTax,omitempty" xmlrpc:"recurringFeeTax,omitempty"` 702 703 // The number of server cores required to order this item. This is deprecated. Use [[SoftLayer_Product_Item_Price/getCapacityRestrictionMinimum|getCapacityRestrictionMinimum]] and [[SoftLayer_Product_Item_Price/getCapacityRestrictionMaximum|getCapacityRestrictionMaximum]] 704 RequiredCoreCount *int `json:"requiredCoreCount,omitempty" xmlrpc:"requiredCoreCount,omitempty"` 705 706 // Signifies pricing that is only available on a reserved capacity virtual server order. 707 ReservedCapacityInstanceFlag *bool `json:"reservedCapacityInstanceFlag,omitempty" xmlrpc:"reservedCapacityInstanceFlag,omitempty"` 708 709 // The setup fee associated with a product item price. 710 SetupFee *Float64 `json:"setupFee,omitempty" xmlrpc:"setupFee,omitempty"` 711 712 // Used for ordering items on sales orders. 713 Sort *int `json:"sort,omitempty" xmlrpc:"sort,omitempty"` 714 715 // The number of months a term lasts for a term-based price 716 TermLength *int `json:"termLength,omitempty" xmlrpc:"termLength,omitempty"` 717 718 // The minimum threshold for which this tiered usage price begins to apply. The unit for the price is defined by the item to which this belongs, see [[SoftLayer_Product_Item::$units]]. 719 TierMinimumThreshold *int `json:"tierMinimumThreshold,omitempty" xmlrpc:"tierMinimumThreshold,omitempty"` 720 721 // The rate for a usage based item 722 UsageRate *Float64 `json:"usageRate,omitempty" xmlrpc:"usageRate,omitempty"` 723} 724 725// The SoftLayer_Product_Item_Price data type gives more information about the item price restrictions. An item price may be restricted to one or more accounts. If the item price is restricted to an account, only that account will see the restriction details. 726type Product_Item_Price_Account_Restriction struct { 727 Entity 728 729 // The account the item price is restricted to. 730 Account *Account `json:"account,omitempty" xmlrpc:"account,omitempty"` 731 732 // The account id for the item price account restriction. 733 AccountId *int `json:"accountId,omitempty" xmlrpc:"accountId,omitempty"` 734 735 // The unique identifier for the item price account restriction. 736 Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"` 737 738 // The item price that has the account restriction. 739 ItemPrice *Product_Item_Price `json:"itemPrice,omitempty" xmlrpc:"itemPrice,omitempty"` 740 741 // The item price id for the item price account restriction. 742 ItemPriceId *int `json:"itemPriceId,omitempty" xmlrpc:"itemPriceId,omitempty"` 743} 744 745// no documentation yet 746type Product_Item_Price_Attribute struct { 747 Entity 748 749 // no documentation yet 750 Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"` 751 752 // no documentation yet 753 ItemPrice *Product_Item_Price `json:"itemPrice,omitempty" xmlrpc:"itemPrice,omitempty"` 754 755 // no documentation yet 756 ItemPriceAttributeType *Product_Item_Price_Attribute_Type `json:"itemPriceAttributeType,omitempty" xmlrpc:"itemPriceAttributeType,omitempty"` 757 758 // no documentation yet 759 ItemPriceAttributeTypeId *int `json:"itemPriceAttributeTypeId,omitempty" xmlrpc:"itemPriceAttributeTypeId,omitempty"` 760 761 // no documentation yet 762 ItemPriceId *int `json:"itemPriceId,omitempty" xmlrpc:"itemPriceId,omitempty"` 763 764 // no documentation yet 765 Value *string `json:"value,omitempty" xmlrpc:"value,omitempty"` 766} 767 768// no documentation yet 769type Product_Item_Price_Attribute_Type struct { 770 Entity 771 772 // no documentation yet 773 Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"` 774 775 // no documentation yet 776 Keyname *string `json:"keyname,omitempty" xmlrpc:"keyname,omitempty"` 777} 778 779// no documentation yet 780type Product_Item_Price_Premium struct { 781 Entity 782 783 // no documentation yet 784 HourlyModifier *Float64 `json:"hourlyModifier,omitempty" xmlrpc:"hourlyModifier,omitempty"` 785 786 // no documentation yet 787 ItemPrice *Product_Item_Price `json:"itemPrice,omitempty" xmlrpc:"itemPrice,omitempty"` 788 789 // no documentation yet 790 ItemPriceId *int `json:"itemPriceId,omitempty" xmlrpc:"itemPriceId,omitempty"` 791 792 // no documentation yet 793 Location *Location `json:"location,omitempty" xmlrpc:"location,omitempty"` 794 795 // no documentation yet 796 LocationId *int `json:"locationId,omitempty" xmlrpc:"locationId,omitempty"` 797 798 // no documentation yet 799 MonthlyModifier *Float64 `json:"monthlyModifier,omitempty" xmlrpc:"monthlyModifier,omitempty"` 800 801 // no documentation yet 802 Package *Product_Package `json:"package,omitempty" xmlrpc:"package,omitempty"` 803 804 // no documentation yet 805 PackageId *int `json:"packageId,omitempty" xmlrpc:"packageId,omitempty"` 806} 807 808// The SoftLayer_Product_Item_Requirement data type contains information relating to what requirements, if any, exist for an item. The requiredItemId local property is the item id that is required. 809type Product_Item_Requirement struct { 810 Entity 811 812 // Identifier for this record. 813 Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"` 814 815 // Item requirement applies to. 816 Item *Product_Item `json:"item,omitempty" xmlrpc:"item,omitempty"` 817 818 // This is the id of the item affected by the requirement. 819 ItemId *int `json:"itemId,omitempty" xmlrpc:"itemId,omitempty"` 820 821 // This is a custom message to display to the user when this requirement shortfall arises. 822 Message *string `json:"message,omitempty" xmlrpc:"message,omitempty"` 823 824 // The product containing the requirement. 825 Product *Product_Item `json:"product,omitempty" xmlrpc:"product,omitempty"` 826 827 // This is the id of the item required. 828 RequiredItemId *int `json:"requiredItemId,omitempty" xmlrpc:"requiredItemId,omitempty"` 829} 830 831// no documentation yet 832type Product_Item_Resource_Conflict struct { 833 Entity 834 835 // no documentation yet 836 Item *Product_Item `json:"item,omitempty" xmlrpc:"item,omitempty"` 837 838 // The unique identifier of the item that contains the conflict. 839 ItemId *int `json:"itemId,omitempty" xmlrpc:"itemId,omitempty"` 840 841 // An optional conflict message. 842 Message *string `json:"message,omitempty" xmlrpc:"message,omitempty"` 843 844 // no documentation yet 845 Package *Product_Package `json:"package,omitempty" xmlrpc:"package,omitempty"` 846 847 // The unique identifier of the service offering that is associated with the conflict. 848 PackageId *int `json:"packageId,omitempty" xmlrpc:"packageId,omitempty"` 849 850 // The unique identifier of the conflicting type. 851 ResourceTableId *int `json:"resourceTableId,omitempty" xmlrpc:"resourceTableId,omitempty"` 852} 853 854// no documentation yet 855type Product_Item_Resource_Conflict_Item struct { 856 Product_Item_Resource_Conflict 857 858 // A product item that conflicts with another product item. 859 Resource *Product_Item `json:"resource,omitempty" xmlrpc:"resource,omitempty"` 860} 861 862// no documentation yet 863type Product_Item_Resource_Conflict_Item_Category struct { 864 Product_Item_Resource_Conflict 865 866 // An item category that conflicts with a product item. 867 Resource *Product_Item_Category `json:"resource,omitempty" xmlrpc:"resource,omitempty"` 868} 869 870// no documentation yet 871type Product_Item_Resource_Conflict_Location struct { 872 Product_Item_Resource_Conflict 873 874 // A location that conflicts with a product item. 875 Resource *Location `json:"resource,omitempty" xmlrpc:"resource,omitempty"` 876} 877 878// The item rule data type represents a rule that must be followed when the item assigned to the rule is ordered. The type and operation applied to the resources of the rule will affect how the rule is checked during ordering. 879type Product_Item_Rule struct { 880 Entity 881 882 // The product item that a rule applies to. 883 Item *Product_Item `json:"item,omitempty" xmlrpc:"item,omitempty"` 884 885 // A count of 886 ItemCategoryResourceCount *uint `json:"itemCategoryResourceCount,omitempty" xmlrpc:"itemCategoryResourceCount,omitempty"` 887 888 // no documentation yet 889 ItemCategoryResources []Product_Item_Rule_Resource_Item_Category `json:"itemCategoryResources,omitempty" xmlrpc:"itemCategoryResources,omitempty"` 890 891 // The unique identifier of the item that the rule applies to. 892 ItemId *int `json:"itemId,omitempty" xmlrpc:"itemId,omitempty"` 893 894 // A count of 895 ItemResourceCount *uint `json:"itemResourceCount,omitempty" xmlrpc:"itemResourceCount,omitempty"` 896 897 // no documentation yet 898 ItemResources []Product_Item_Rule_Resource_Item `json:"itemResources,omitempty" xmlrpc:"itemResources,omitempty"` 899 900 // A count of 901 LocationResourceCount *uint `json:"locationResourceCount,omitempty" xmlrpc:"locationResourceCount,omitempty"` 902 903 // no documentation yet 904 LocationResources []Product_Item_Rule_Resource_Location `json:"locationResources,omitempty" xmlrpc:"locationResources,omitempty"` 905 906 // An optional message shown for when the rule is found to be invalid when ordering. 907 Message *string `json:"message,omitempty" xmlrpc:"message,omitempty"` 908 909 // no documentation yet 910 Operation *string `json:"operation,omitempty" xmlrpc:"operation,omitempty"` 911 912 // The package that a rule is applicable to when ordering. If no package exists, the rule applies to any package. 913 Package *Product_Package `json:"package,omitempty" xmlrpc:"package,omitempty"` 914 915 // The unique identifier of the service offering that is associated with the rule. 916 PackageId *int `json:"packageId,omitempty" xmlrpc:"packageId,omitempty"` 917 918 // A count of 919 PermissionResourceCount *uint `json:"permissionResourceCount,omitempty" xmlrpc:"permissionResourceCount,omitempty"` 920 921 // no documentation yet 922 PermissionResources []Product_Item_Rule_Resource_Permission `json:"permissionResources,omitempty" xmlrpc:"permissionResources,omitempty"` 923 924 // A count of resources for this rule that are validated when ordering. 925 ResourceCount *uint `json:"resourceCount,omitempty" xmlrpc:"resourceCount,omitempty"` 926 927 // Resources for this rule that are validated when ordering. 928 Resources []Product_Item_Rule_Resource `json:"resources,omitempty" xmlrpc:"resources,omitempty"` 929 930 // The type a rule is. The type affects how the rule is validated when ordering. 931 Type *Product_Item_Rule_Type `json:"type,omitempty" xmlrpc:"type,omitempty"` 932 933 // The unique identifier of the type of resource rule. 934 TypeId *int `json:"typeId,omitempty" xmlrpc:"typeId,omitempty"` 935} 936 937// The item rule resource data type represents a resource that is part of an item rule. The item rule resource is used when its item rule is checked on an order. 938type Product_Item_Rule_Resource struct { 939 Entity 940 941 // no documentation yet 942 Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"` 943 944 // The unique identifier of the resource. 945 ResourceTableId *int `json:"resourceTableId,omitempty" xmlrpc:"resourceTableId,omitempty"` 946 947 // no documentation yet 948 Rule *Product_Item_Rule `json:"rule,omitempty" xmlrpc:"rule,omitempty"` 949 950 // The unique identifier of the rule this resource is included in. 951 RuleId *int `json:"ruleId,omitempty" xmlrpc:"ruleId,omitempty"` 952} 953 954// no documentation yet 955type Product_Item_Rule_Resource_Item struct { 956 Product_Item_Rule_Resource 957 958 // A product item that the associated rule applies to. 959 Resource *Product_Item `json:"resource,omitempty" xmlrpc:"resource,omitempty"` 960} 961 962// no documentation yet 963type Product_Item_Rule_Resource_Item_Category struct { 964 Product_Item_Rule_Resource 965 966 // An item category that the associated rule applies to. 967 Resource *Product_Item_Category `json:"resource,omitempty" xmlrpc:"resource,omitempty"` 968} 969 970// no documentation yet 971type Product_Item_Rule_Resource_Location struct { 972 Product_Item_Rule_Resource 973 974 // A location that the associated rule applies to. 975 Resource *Location `json:"resource,omitempty" xmlrpc:"resource,omitempty"` 976} 977 978// no documentation yet 979type Product_Item_Rule_Resource_Permission struct { 980 Product_Item_Rule_Resource 981 982 // A user permission that the associated rule applies to. 983 Resource *User_Customer_CustomerPermission_Permission `json:"resource,omitempty" xmlrpc:"resource,omitempty"` 984} 985 986// The item rule type data type represents the type of an item rule. 987type Product_Item_Rule_Type struct { 988 Entity 989 990 // The identifier for the item rule type. 991 KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"` 992} 993 994// The SoftLayer_Product_Item_Server_Group data type details the type of compute service a [[SoftLayer_Product_Item (type)|SoftLayer_Product_Item]] or [[SoftLayer_Product_Package_Preset (type)|SoftLayer_Product_Package_Preset]] belongs to. 995type Product_Item_Server_Group struct { 996 Entity 997 998 // The server group's string identifier 999 KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"` 1000 1001 // The server group's friendly name 1002 Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"` 1003} 1004 1005// The SoftLayer_Product_Item_Tax_Category data type contains the tax categories that are associated with products. 1006type Product_Item_Tax_Category struct { 1007 Entity 1008 1009 // An internal identifier for each tax category. 1010 Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"` 1011 1012 // A count of 1013 ItemCount *uint `json:"itemCount,omitempty" xmlrpc:"itemCount,omitempty"` 1014 1015 // no documentation yet 1016 Items []Product_Item `json:"items,omitempty" xmlrpc:"items,omitempty"` 1017 1018 // The key name of the tax category. 1019 KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"` 1020 1021 // The name of the tax category. 1022 Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"` 1023 1024 // The status of the tax category. 1025 StatusFlag *int `json:"statusFlag,omitempty" xmlrpc:"statusFlag,omitempty"` 1026} 1027 1028// no documentation yet 1029type Product_Order struct { 1030 Entity 1031} 1032 1033// 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. 1034type Product_Package struct { 1035 Entity 1036 1037 // A count of the preset configurations available only for the authenticated account and this package. 1038 AccountRestrictedActivePresetCount *uint `json:"accountRestrictedActivePresetCount,omitempty" xmlrpc:"accountRestrictedActivePresetCount,omitempty"` 1039 1040 // The preset configurations available only for the authenticated account and this package. 1041 AccountRestrictedActivePresets []Product_Package_Preset `json:"accountRestrictedActivePresets,omitempty" xmlrpc:"accountRestrictedActivePresets,omitempty"` 1042 1043 // 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. 1044 AccountRestrictedCategories []Product_Item_Category `json:"accountRestrictedCategories,omitempty" xmlrpc:"accountRestrictedCategories,omitempty"` 1045 1046 // 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. 1047 AccountRestrictedCategoryCount *uint `json:"accountRestrictedCategoryCount,omitempty" xmlrpc:"accountRestrictedCategoryCount,omitempty"` 1048 1049 // The flag to indicate if there are any restricted prices in a package for the currently-active account. 1050 AccountRestrictedPricesFlag *bool `json:"accountRestrictedPricesFlag,omitempty" xmlrpc:"accountRestrictedPricesFlag,omitempty"` 1051 1052 // A count of the available preset configurations for this package. 1053 ActivePresetCount *uint `json:"activePresetCount,omitempty" xmlrpc:"activePresetCount,omitempty"` 1054 1055 // The available preset configurations for this package. 1056 ActivePresets []Product_Package_Preset `json:"activePresets,omitempty" xmlrpc:"activePresets,omitempty"` 1057 1058 // A count of a collection of valid RAM items available for purchase in this package. 1059 ActiveRamItemCount *uint `json:"activeRamItemCount,omitempty" xmlrpc:"activeRamItemCount,omitempty"` 1060 1061 // A collection of valid RAM items available for purchase in this package. 1062 ActiveRamItems []Product_Item `json:"activeRamItems,omitempty" xmlrpc:"activeRamItems,omitempty"` 1063 1064 // A count of a collection of valid server items available for purchase in this package. 1065 ActiveServerItemCount *uint `json:"activeServerItemCount,omitempty" xmlrpc:"activeServerItemCount,omitempty"` 1066 1067 // A collection of valid server items available for purchase in this package. 1068 ActiveServerItems []Product_Item `json:"activeServerItems,omitempty" xmlrpc:"activeServerItems,omitempty"` 1069 1070 // A count of a collection of valid software items available for purchase in this package. 1071 ActiveSoftwareItemCount *uint `json:"activeSoftwareItemCount,omitempty" xmlrpc:"activeSoftwareItemCount,omitempty"` 1072 1073 // A collection of valid software items available for purchase in this package. 1074 ActiveSoftwareItems []Product_Item `json:"activeSoftwareItems,omitempty" xmlrpc:"activeSoftwareItems,omitempty"` 1075 1076 // A count of a collection of [[SoftLayer_Product_Item_Price]] objects for pay-as-you-go usage. 1077 ActiveUsagePriceCount *uint `json:"activeUsagePriceCount,omitempty" xmlrpc:"activeUsagePriceCount,omitempty"` 1078 1079 // A collection of [[SoftLayer_Product_Item_Price]] objects for pay-as-you-go usage. 1080 ActiveUsagePrices []Product_Item_Price `json:"activeUsagePrices,omitempty" xmlrpc:"activeUsagePrices,omitempty"` 1081 1082 // This flag indicates that the package is an additional service. 1083 AdditionalServiceFlag *bool `json:"additionalServiceFlag,omitempty" xmlrpc:"additionalServiceFlag,omitempty"` 1084 1085 // A count of 1086 AttributeCount *uint `json:"attributeCount,omitempty" xmlrpc:"attributeCount,omitempty"` 1087 1088 // no documentation yet 1089 Attributes []Product_Package_Attribute `json:"attributes,omitempty" xmlrpc:"attributes,omitempty"` 1090 1091 // A count of a collection of valid locations for this package. (Deprecated - Use [[SoftLayer_Product_Package/getRegions|getRegions]]) 1092 AvailableLocationCount *uint `json:"availableLocationCount,omitempty" xmlrpc:"availableLocationCount,omitempty"` 1093 1094 // A collection of valid locations for this package. (Deprecated - Use [[SoftLayer_Product_Package/getRegions|getRegions]]) 1095 AvailableLocations []Product_Package_Locations `json:"availableLocations,omitempty" xmlrpc:"availableLocations,omitempty"` 1096 1097 // The maximum number of available disk storage units associated with the servers in a package. 1098 AvailableStorageUnits *uint `json:"availableStorageUnits,omitempty" xmlrpc:"availableStorageUnits,omitempty"` 1099 1100 // 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. 1101 Categories []Product_Item_Category `json:"categories,omitempty" xmlrpc:"categories,omitempty"` 1102 1103 // The item categories associated with a package, including information detailing which item categories are required as part of a SoftLayer product order. 1104 Configuration []Product_Package_Order_Configuration `json:"configuration,omitempty" xmlrpc:"configuration,omitempty"` 1105 1106 // 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. 1107 ConfigurationCount *uint `json:"configurationCount,omitempty" xmlrpc:"configurationCount,omitempty"` 1108 1109 // The default boot category code for the package. 1110 DefaultBootCategoryCode *string `json:"defaultBootCategoryCode,omitempty" xmlrpc:"defaultBootCategoryCode,omitempty"` 1111 1112 // A count of a collection of valid RAM items available for purchase in this package. 1113 DefaultRamItemCount *uint `json:"defaultRamItemCount,omitempty" xmlrpc:"defaultRamItemCount,omitempty"` 1114 1115 // A collection of valid RAM items available for purchase in this package. 1116 DefaultRamItems []Product_Item `json:"defaultRamItems,omitempty" xmlrpc:"defaultRamItems,omitempty"` 1117 1118 // A count of the package that represents a multi-server solution. (Deprecated) 1119 DeploymentCount *uint `json:"deploymentCount,omitempty" xmlrpc:"deploymentCount,omitempty"` 1120 1121 // The node type for a package in a solution deployment. 1122 DeploymentNodeType *string `json:"deploymentNodeType,omitempty" xmlrpc:"deploymentNodeType,omitempty"` 1123 1124 // A count of the packages that are allowed in a multi-server solution. (Deprecated) 1125 DeploymentPackageCount *uint `json:"deploymentPackageCount,omitempty" xmlrpc:"deploymentPackageCount,omitempty"` 1126 1127 // The packages that are allowed in a multi-server solution. (Deprecated) 1128 DeploymentPackages []Product_Package `json:"deploymentPackages,omitempty" xmlrpc:"deploymentPackages,omitempty"` 1129 1130 // The solution deployment type. 1131 DeploymentType *string `json:"deploymentType,omitempty" xmlrpc:"deploymentType,omitempty"` 1132 1133 // The package that represents a multi-server solution. (Deprecated) 1134 Deployments []Product_Package `json:"deployments,omitempty" xmlrpc:"deployments,omitempty"` 1135 1136 // 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. 1137 Description *string `json:"description,omitempty" xmlrpc:"description,omitempty"` 1138 1139 // This flag indicates the package does not allow custom disk partitions. 1140 DisallowCustomDiskPartitions *bool `json:"disallowCustomDiskPartitions,omitempty" xmlrpc:"disallowCustomDiskPartitions,omitempty"` 1141 1142 // The Softlayer order step is optionally step-based. This returns the first SoftLayer_Product_Package_Order_Step in the step-based order process. 1143 FirstOrderStep *Product_Package_Order_Step `json:"firstOrderStep,omitempty" xmlrpc:"firstOrderStep,omitempty"` 1144 1145 // 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. 1146 FirstOrderStepId *int `json:"firstOrderStepId,omitempty" xmlrpc:"firstOrderStepId,omitempty"` 1147 1148 // Whether the package is a specialized network gateway appliance package. 1149 GatewayApplianceFlag *bool `json:"gatewayApplianceFlag,omitempty" xmlrpc:"gatewayApplianceFlag,omitempty"` 1150 1151 // This flag indicates that the package supports GPUs. 1152 GpuFlag *bool `json:"gpuFlag,omitempty" xmlrpc:"gpuFlag,omitempty"` 1153 1154 // Determines whether the package contains prices that can be ordered hourly. 1155 HourlyBillingAvailableFlag *bool `json:"hourlyBillingAvailableFlag,omitempty" xmlrpc:"hourlyBillingAvailableFlag,omitempty"` 1156 1157 // Packages with this flag do not allow monthly orders. 1158 HourlyOnlyOrders *bool `json:"hourlyOnlyOrders,omitempty" xmlrpc:"hourlyOnlyOrders,omitempty"` 1159 1160 // A package's internal identifier. Everything regarding a SoftLayer_Product_Package is tied back to this id. 1161 Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"` 1162 1163 // no documentation yet 1164 IsActive *int `json:"isActive,omitempty" xmlrpc:"isActive,omitempty"` 1165 1166 // The item-item conflicts associated with a package. 1167 ItemConflicts []Product_Item_Resource_Conflict `json:"itemConflicts,omitempty" xmlrpc:"itemConflicts,omitempty"` 1168 1169 // A count of a collection of valid items available for purchase in this package. 1170 ItemCount *uint `json:"itemCount,omitempty" xmlrpc:"itemCount,omitempty"` 1171 1172 // The item-location conflicts associated with a package. 1173 ItemLocationConflicts []Product_Item_Resource_Conflict `json:"itemLocationConflicts,omitempty" xmlrpc:"itemLocationConflicts,omitempty"` 1174 1175 // A count of a collection of SoftLayer_Product_Item_Prices that are valid for this package. 1176 ItemPriceCount *uint `json:"itemPriceCount,omitempty" xmlrpc:"itemPriceCount,omitempty"` 1177 1178 // A count of cross reference for item prices 1179 ItemPriceReferenceCount *uint `json:"itemPriceReferenceCount,omitempty" xmlrpc:"itemPriceReferenceCount,omitempty"` 1180 1181 // cross reference for item prices 1182 ItemPriceReferences []Product_Package_Item_Prices `json:"itemPriceReferences,omitempty" xmlrpc:"itemPriceReferences,omitempty"` 1183 1184 // A collection of SoftLayer_Product_Item_Prices that are valid for this package. 1185 ItemPrices []Product_Item_Price `json:"itemPrices,omitempty" xmlrpc:"itemPrices,omitempty"` 1186 1187 // A collection of valid items available for purchase in this package. 1188 Items []Product_Item `json:"items,omitempty" xmlrpc:"items,omitempty"` 1189 1190 // A unique key name for the package. 1191 KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"` 1192 1193 // A count of a collection of valid locations for this package. (Deprecated - Use [[SoftLayer_Product_Package/getRegions|getRegions]]) 1194 LocationCount *uint `json:"locationCount,omitempty" xmlrpc:"locationCount,omitempty"` 1195 1196 // A collection of valid locations for this package. (Deprecated - Use [[SoftLayer_Product_Package/getRegions|getRegions]]) 1197 Locations []Location `json:"locations,omitempty" xmlrpc:"locations,omitempty"` 1198 1199 // The lowest server [[SoftLayer_Product_Item_Price]] related to this package. 1200 LowestServerPrice *Product_Item_Price `json:"lowestServerPrice,omitempty" xmlrpc:"lowestServerPrice,omitempty"` 1201 1202 // The maximum available network speed associated with the package. 1203 MaximumPortSpeed *uint `json:"maximumPortSpeed,omitempty" xmlrpc:"maximumPortSpeed,omitempty"` 1204 1205 // The minimum available network speed associated with the package. 1206 MinimumPortSpeed *uint `json:"minimumPortSpeed,omitempty" xmlrpc:"minimumPortSpeed,omitempty"` 1207 1208 // This flag indicates that this is a MongoDB engineered package. (Deprecated) 1209 MongoDbEngineeredFlag *bool `json:"mongoDbEngineeredFlag,omitempty" xmlrpc:"mongoDbEngineeredFlag,omitempty"` 1210 1211 // The description of the package. For server packages, this is usually a detailed description of processor type and count. 1212 Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"` 1213 1214 // Services ordered from this package cannot have upgrades or downgrades performed. 1215 NoUpgradesFlag *bool `json:"noUpgradesFlag,omitempty" xmlrpc:"noUpgradesFlag,omitempty"` 1216 1217 // Whether the package is not in compliance with EU support. 1218 NonEuCompliantFlag *bool `json:"nonEuCompliantFlag,omitempty" xmlrpc:"nonEuCompliantFlag,omitempty"` 1219 1220 // A count of the premium price modifiers associated with the [[SoftLayer_Product_Item_Price]] and [[SoftLayer_Location]] objects in a package. 1221 OrderPremiumCount *uint `json:"orderPremiumCount,omitempty" xmlrpc:"orderPremiumCount,omitempty"` 1222 1223 // The premium price modifiers associated with the [[SoftLayer_Product_Item_Price]] and [[SoftLayer_Location]] objects in a package. 1224 OrderPremiums []Product_Item_Price_Premium `json:"orderPremiums,omitempty" xmlrpc:"orderPremiums,omitempty"` 1225 1226 // This flag indicates if the package may be available in PoP locations in addition to Datacenters. 1227 PopLocationAvailabilityFlag *bool `json:"popLocationAvailabilityFlag,omitempty" xmlrpc:"popLocationAvailabilityFlag,omitempty"` 1228 1229 // This flag indicates the package is pre-configured. (Deprecated) 1230 PreconfiguredFlag *bool `json:"preconfiguredFlag,omitempty" xmlrpc:"preconfiguredFlag,omitempty"` 1231 1232 // Whether the package requires the user to define a preset configuration. 1233 PresetConfigurationRequiredFlag *bool `json:"presetConfigurationRequiredFlag,omitempty" xmlrpc:"presetConfigurationRequiredFlag,omitempty"` 1234 1235 // Whether the package prevents the user from specifying a Vlan. 1236 PreventVlanSelectionFlag *bool `json:"preventVlanSelectionFlag,omitempty" xmlrpc:"preventVlanSelectionFlag,omitempty"` 1237 1238 // This flag indicates the package is for a private hosted cloud deployment. (Deprecated) 1239 PrivateHostedCloudPackageFlag *bool `json:"privateHostedCloudPackageFlag,omitempty" xmlrpc:"privateHostedCloudPackageFlag,omitempty"` 1240 1241 // The server role of the private hosted cloud deployment. (Deprecated) 1242 PrivateHostedCloudPackageType *string `json:"privateHostedCloudPackageType,omitempty" xmlrpc:"privateHostedCloudPackageType,omitempty"` 1243 1244 // Whether the package only has access to the private network. 1245 PrivateNetworkOnlyFlag *bool `json:"privateNetworkOnlyFlag,omitempty" xmlrpc:"privateNetworkOnlyFlag,omitempty"` 1246 1247 // Whether the package is a specialized mass storage QuantaStor package. (Deprecated) 1248 QuantaStorPackageFlag *bool `json:"quantaStorPackageFlag,omitempty" xmlrpc:"quantaStorPackageFlag,omitempty"` 1249 1250 // This flag indicates the package does not allow different disks with RAID. 1251 RaidDiskRestrictionFlag *bool `json:"raidDiskRestrictionFlag,omitempty" xmlrpc:"raidDiskRestrictionFlag,omitempty"` 1252 1253 // This flag determines if the package contains a redundant power supply product. 1254 RedundantPowerFlag *bool `json:"redundantPowerFlag,omitempty" xmlrpc:"redundantPowerFlag,omitempty"` 1255 1256 // A count of the regional locations that a package is available in. 1257 RegionCount *uint `json:"regionCount,omitempty" xmlrpc:"regionCount,omitempty"` 1258 1259 // The regional locations that a package is available in. 1260 Regions []Location_Region `json:"regions,omitempty" xmlrpc:"regions,omitempty"` 1261 1262 // The resource group template that describes a multi-server solution. (Deprecated) 1263 ResourceGroupTemplate *Resource_Group_Template `json:"resourceGroupTemplate,omitempty" xmlrpc:"resourceGroupTemplate,omitempty"` 1264 1265 // This currently contains no information but is here for future use. 1266 SubDescription *string `json:"subDescription,omitempty" xmlrpc:"subDescription,omitempty"` 1267 1268 // The top level category code for this service offering. 1269 TopLevelItemCategoryCode *string `json:"topLevelItemCategoryCode,omitempty" xmlrpc:"topLevelItemCategoryCode,omitempty"` 1270 1271 // The type of service offering. This property can be used to help filter packages. 1272 Type *Product_Package_Type `json:"type,omitempty" xmlrpc:"type,omitempty"` 1273 1274 // The server unit size this package will match to. 1275 UnitSize *int `json:"unitSize,omitempty" xmlrpc:"unitSize,omitempty"` 1276} 1277 1278// no documentation yet 1279type Product_Package_Attribute struct { 1280 Entity 1281 1282 // no documentation yet 1283 AttributeType *Product_Package_Attribute_Type `json:"attributeType,omitempty" xmlrpc:"attributeType,omitempty"` 1284 1285 // no documentation yet 1286 Package *Product_Package `json:"package,omitempty" xmlrpc:"package,omitempty"` 1287 1288 // no documentation yet 1289 Value *string `json:"value,omitempty" xmlrpc:"value,omitempty"` 1290} 1291 1292// no documentation yet 1293type Product_Package_Attribute_Type struct { 1294 Entity 1295 1296 // no documentation yet 1297 Description *string `json:"description,omitempty" xmlrpc:"description,omitempty"` 1298 1299 // no documentation yet 1300 KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"` 1301 1302 // no documentation yet 1303 Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"` 1304} 1305 1306// This is deprecated. 1307type Product_Package_Inventory struct { 1308 Entity 1309 1310 // DEPRECATED. The number of units available for purchase in inventory for a single item in a single datacenter. 1311 AvailableInventoryCount *int `json:"availableInventoryCount,omitempty" xmlrpc:"availableInventoryCount,omitempty"` 1312 1313 // The product package item that is associated with an inventory record. 1314 Item *Product_Item `json:"item,omitempty" xmlrpc:"item,omitempty"` 1315 1316 // DEPRECATED. The unique identifier of the product item that an inventory record is associated with. 1317 ItemId *int `json:"itemId,omitempty" xmlrpc:"itemId,omitempty"` 1318 1319 // The datacenter that an inventory record is located in. 1320 Location *Location `json:"location,omitempty" xmlrpc:"location,omitempty"` 1321 1322 // DEPRECATED. The unique identifier of the datacenter that an inventory record is located in. 1323 LocationId *int `json:"locationId,omitempty" xmlrpc:"locationId,omitempty"` 1324 1325 // DEPRECATED. The date that an inventory record was last updated. 1326 ModifyDate *Time `json:"modifyDate,omitempty" xmlrpc:"modifyDate,omitempty"` 1327 1328 // DEPRECATED. Whether an inventory record is marked as "overstock". 1329 OverstockFlag *int `json:"overstockFlag,omitempty" xmlrpc:"overstockFlag,omitempty"` 1330 1331 // The product package that is associated with an inventory record. 1332 Package *Product_Package `json:"package,omitempty" xmlrpc:"package,omitempty"` 1333 1334 // DEPRECATED. The unique identifier of the product package that an inventory record is associated with. 1335 PackageId *int `json:"packageId,omitempty" xmlrpc:"packageId,omitempty"` 1336} 1337 1338// This class is used to organize categories for a service offering. A service offering (usually) contains multiple categories (e.g., server, os, disk0, ram). This class allows us to organize the prices into related item category groups. 1339type Product_Package_Item_Category_Group struct { 1340 Entity 1341 1342 // no documentation yet 1343 Category *Product_Item_Category `json:"category,omitempty" xmlrpc:"category,omitempty"` 1344 1345 // The item category id associated with this group. 1346 ItemCategoryId *int `json:"itemCategoryId,omitempty" xmlrpc:"itemCategoryId,omitempty"` 1347 1348 // no documentation yet 1349 Package *Product_Package `json:"package,omitempty" xmlrpc:"package,omitempty"` 1350 1351 // The service offering id associated with this group. 1352 PackageId *int `json:"packageId,omitempty" xmlrpc:"packageId,omitempty"` 1353 1354 // A count of 1355 PriceCount *uint `json:"priceCount,omitempty" xmlrpc:"priceCount,omitempty"` 1356 1357 // no documentation yet 1358 Prices []Product_Item_Price `json:"prices,omitempty" xmlrpc:"prices,omitempty"` 1359 1360 // The sort value for this group. 1361 Sort *int `json:"sort,omitempty" xmlrpc:"sort,omitempty"` 1362 1363 // An optional title associated with this group. E.g., for operating systems, this will be the manufacturer. 1364 Title *string `json:"title,omitempty" xmlrpc:"title,omitempty"` 1365} 1366 1367// The SoftLayer_Product_Package_Item_Prices contains price to package cross references Relates a category, price and item to a bundle. Match bundle ids to see all items and prices in a particular bundle. 1368type Product_Package_Item_Prices struct { 1369 Entity 1370 1371 // The unique identifier for SoftLayer_Product_Package_Item_Price. This is only needed as a reference. The important data is the itemPriceId property. 1372 Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"` 1373 1374 // The item price to which this object belongs. The item price has details regarding cost for the item it belongs to. 1375 ItemPrice *Product_Item_Price `json:"itemPrice,omitempty" xmlrpc:"itemPrice,omitempty"` 1376 1377 // The SoftLayer_Product_Item_Price id. This value is to be used when placing orders. To get more information about this item price, go from the item price to the item description 1378 ItemPriceId *int `json:"itemPriceId,omitempty" xmlrpc:"itemPriceId,omitempty"` 1379 1380 // The package to which this object belongs. 1381 Package *Product_Package `json:"package,omitempty" xmlrpc:"package,omitempty"` 1382 1383 // The Package ID to which this price reference belongs 1384 PackageId *int `json:"packageId,omitempty" xmlrpc:"packageId,omitempty"` 1385} 1386 1387// This data type is a cross-reference between the SoftLayer_Product_Package and the SoftLayer_Product_Item(s) that belong in the SoftLayer_Product_Package. 1388type Product_Package_Items struct { 1389 Entity 1390 1391 // The unique identifier for this object. It is not used anywhere but in this object. 1392 Id *string `json:"id,omitempty" xmlrpc:"id,omitempty"` 1393 1394 // The item to which this object belongs. 1395 Item *Product_Item `json:"item,omitempty" xmlrpc:"item,omitempty"` 1396 1397 // The SoftLayer_Product_Item id to which this instance of the object belongs. 1398 ItemId *int `json:"itemId,omitempty" xmlrpc:"itemId,omitempty"` 1399 1400 // The package to which this object belongs. 1401 Package *Product_Package `json:"package,omitempty" xmlrpc:"package,omitempty"` 1402 1403 // The SoftLayer_Product_Package id to which this instance of the object belongs. 1404 PackageId *int `json:"packageId,omitempty" xmlrpc:"packageId,omitempty"` 1405} 1406 1407// Most packages are available in many locations. This object describes that availability for each package. 1408type Product_Package_Locations struct { 1409 Entity 1410 1411 // This describes the availability of the package tied to this location. 1412 DeliveryTimeInformation *string `json:"deliveryTimeInformation,omitempty" xmlrpc:"deliveryTimeInformation,omitempty"` 1413 1414 // A simple flag which describes whether or not this location is available for this package. 1415 IsAvailable *int `json:"isAvailable,omitempty" xmlrpc:"isAvailable,omitempty"` 1416 1417 // The location to which this object belongs. 1418 Location *Location `json:"location,omitempty" xmlrpc:"location,omitempty"` 1419 1420 // The location id tied to this object. 1421 LocationId *int `json:"locationId,omitempty" xmlrpc:"locationId,omitempty"` 1422 1423 // The package to which this object belongs. 1424 Package *Product_Package `json:"package,omitempty" xmlrpc:"package,omitempty"` 1425 1426 // The SoftLayer_Product_Package ID tied to this object. 1427 PackageId *int `json:"packageId,omitempty" xmlrpc:"packageId,omitempty"` 1428} 1429 1430// This datatype describes the item categories that are required for each package to be ordered. For instance, for package 2, there will be many required categories. When submitting an order for a server, there must be at most 1 price for each category whose "isRequired" is set. Examples of required categories: - server - ram - bandwidth - disk0 1431// 1432// There are others, but these are the main ones. For each required category, a SoftLayer_Product_Item_Price must be chosen that is valid for the package. 1433// 1434// 1435type Product_Package_Order_Configuration struct { 1436 Entity 1437 1438 // Signifies that selections associated with the configuration are automatically provided by being bundled to another configurations selection. The actual bundling is on the product. 1439 BundledFlag *bool `json:"bundledFlag,omitempty" xmlrpc:"bundledFlag,omitempty"` 1440 1441 // The error message displayed if the submitted order does not contain this item category, if it is required. 1442 ErrorMessage *string `json:"errorMessage,omitempty" xmlrpc:"errorMessage,omitempty"` 1443 1444 // The unique identifier for this object. 1445 Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"` 1446 1447 // This is a flag which tells SoftLayer_Product_Order::verifyOrder() whether or not this category is required. If this is set, then the order submitted must contain a SoftLayer_Product_Item_Price with this category as part of the order. 1448 IsRequired *int `json:"isRequired,omitempty" xmlrpc:"isRequired,omitempty"` 1449 1450 // The item category for this configuration instance. 1451 ItemCategory *Product_Item_Category `json:"itemCategory,omitempty" xmlrpc:"itemCategory,omitempty"` 1452 1453 // The SoftLayer_Product_Item_Category. 1454 ItemCategoryId *int `json:"itemCategoryId,omitempty" xmlrpc:"itemCategoryId,omitempty"` 1455 1456 // The order step ID for this particular option in the package. 1457 OrderStepId *int `json:"orderStepId,omitempty" xmlrpc:"orderStepId,omitempty"` 1458 1459 // The package to which this instance belongs. 1460 Package *Product_Package `json:"package,omitempty" xmlrpc:"package,omitempty"` 1461 1462 // The PackageId tied to this instance. 1463 PackageId *int `json:"packageId,omitempty" xmlrpc:"packageId,omitempty"` 1464 1465 // This is an integer used to show the order in which each item Category should be displayed. This is merely the suggested order. 1466 Sort *int `json:"sort,omitempty" xmlrpc:"sort,omitempty"` 1467 1468 // The step to which this instance belongs. 1469 Step *Product_Package_Order_Step `json:"step,omitempty" xmlrpc:"step,omitempty"` 1470 1471 // Whether or not the item category is term-based. 1472 TermFlag *bool `json:"termFlag,omitempty" xmlrpc:"termFlag,omitempty"` 1473} 1474 1475// Each package has at least 1 step to the ordering process. For server orders, there are many. Each step has certain item categories which are displayed. This type describes the steps for each package. 1476type Product_Package_Order_Step struct { 1477 Entity 1478 1479 // The unique identifier for this object. It is not used anywhere but in this object. 1480 Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"` 1481 1482 // A count of the next steps in the ordering process for the package tied to this object, including this step. 1483 InclusivePreviousStepCount *uint `json:"inclusivePreviousStepCount,omitempty" xmlrpc:"inclusivePreviousStepCount,omitempty"` 1484 1485 // The next steps in the ordering process for the package tied to this object, including this step. 1486 InclusivePreviousSteps []Product_Package_Order_Step_Next `json:"inclusivePreviousSteps,omitempty" xmlrpc:"inclusivePreviousSteps,omitempty"` 1487 1488 // A count of the next steps in the ordering process for the package tied to this object. 1489 NextStepCount *uint `json:"nextStepCount,omitempty" xmlrpc:"nextStepCount,omitempty"` 1490 1491 // The next steps in the ordering process for the package tied to this object. 1492 NextSteps []Product_Package_Order_Step_Next `json:"nextSteps,omitempty" xmlrpc:"nextSteps,omitempty"` 1493 1494 // A count of the item to which this object belongs. 1495 PreviousStepCount *uint `json:"previousStepCount,omitempty" xmlrpc:"previousStepCount,omitempty"` 1496 1497 // The item to which this object belongs. 1498 PreviousSteps []Product_Package_Order_Step_Next `json:"previousSteps,omitempty" xmlrpc:"previousSteps,omitempty"` 1499 1500 // The number of the step in the order process for this package. These are sequential and only needed for step-based ordering. 1501 Step *string `json:"step,omitempty" xmlrpc:"step,omitempty"` 1502} 1503 1504// This datatype simply describes which steps are next in line for ordering. 1505type Product_Package_Order_Step_Next struct { 1506 Entity 1507 1508 // The unique identifier for this object. 1509 Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"` 1510 1511 // The unique identifier for SoftLayer_Product_Package_Order_Step for the next step in the process. 1512 NextOrderStepId *int `json:"nextOrderStepId,omitempty" xmlrpc:"nextOrderStepId,omitempty"` 1513 1514 // The unique identifier for SoftLayer_Product_Package_Order_Step for the current step. 1515 OrderStepId *int `json:"orderStepId,omitempty" xmlrpc:"orderStepId,omitempty"` 1516 1517 // The SoftLayer_Product_Package_Order_Step to which this object belongs. 1518 Step *Product_Package_Order_Step `json:"step,omitempty" xmlrpc:"step,omitempty"` 1519} 1520 1521// Package presets are used to simplify ordering by eliminating the need for price ids when submitting orders. 1522// 1523// Orders submitted with a preset id defined will use the prices included in the package preset. Prices submitted on an order with a preset id will replace the prices included in the package preset for that prices category. If the package preset has a fixed configuration flag <em>(fixedConfigurationFlag)</em> set then the prices included in the preset configuration cannot be replaced by prices submitted on the order. The only exception to the fixed configuration flag would be if a price submitted on the order is an account-restricted price for the same product item. 1524type Product_Package_Preset struct { 1525 Entity 1526 1527 // no documentation yet 1528 AvailableStorageUnits *uint `json:"availableStorageUnits,omitempty" xmlrpc:"availableStorageUnits,omitempty"` 1529 1530 // When true this preset is for ordering a Bare Metal Reserved server. 1531 BareMetalReservedFlag *bool `json:"bareMetalReservedFlag,omitempty" xmlrpc:"bareMetalReservedFlag,omitempty"` 1532 1533 // The item categories that are included in this package preset configuration. 1534 Categories []Product_Item_Category `json:"categories,omitempty" xmlrpc:"categories,omitempty"` 1535 1536 // A count of the item categories that are included in this package preset configuration. 1537 CategoryCount *uint `json:"categoryCount,omitempty" xmlrpc:"categoryCount,omitempty"` 1538 1539 // The compute family this configuration belongs to. 1540 ComputeGroup *Product_Item_Server_Group `json:"computeGroup,omitempty" xmlrpc:"computeGroup,omitempty"` 1541 1542 // The preset configuration (category and price). 1543 Configuration []Product_Package_Preset_Configuration `json:"configuration,omitempty" xmlrpc:"configuration,omitempty"` 1544 1545 // A count of the preset configuration (category and price). 1546 ConfigurationCount *uint `json:"configurationCount,omitempty" xmlrpc:"configurationCount,omitempty"` 1547 1548 // A description of the package preset. 1549 Description *string `json:"description,omitempty" xmlrpc:"description,omitempty"` 1550 1551 // When true this preset is only allowed to upgrade/downgrade to other presets in the same compute family. 1552 DisallowedComputeGroupUpgradeFlag *bool `json:"disallowedComputeGroupUpgradeFlag,omitempty" xmlrpc:"disallowedComputeGroupUpgradeFlag,omitempty"` 1553 1554 // A package preset with this flag set will not allow the price's defined in the preset configuration to be overriden during order placement. 1555 FixedConfigurationFlag *bool `json:"fixedConfigurationFlag,omitempty" xmlrpc:"fixedConfigurationFlag,omitempty"` 1556 1557 // A preset's internal identifier. Everything regarding a SoftLayer_Product_Package_Preset is tied back to this id. 1558 Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"` 1559 1560 // The status of the package preset. 1561 IsActive *string `json:"isActive,omitempty" xmlrpc:"isActive,omitempty"` 1562 1563 // The key name of the package preset. For the base configuration of a package the preset key name is "DEFAULT". 1564 KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"` 1565 1566 // A count of the locations this preset configuration is available in. If empty the preset is available in all locations the package is available in. 1567 LocationCount *uint `json:"locationCount,omitempty" xmlrpc:"locationCount,omitempty"` 1568 1569 // The locations this preset configuration is available in. If empty the preset is available in all locations the package is available in. 1570 Locations []Location `json:"locations,omitempty" xmlrpc:"locations,omitempty"` 1571 1572 // The lowest server prices related to this package preset. 1573 LowestPresetServerPrice *Product_Item_Price `json:"lowestPresetServerPrice,omitempty" xmlrpc:"lowestPresetServerPrice,omitempty"` 1574 1575 // The name of the package preset. 1576 Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"` 1577 1578 // The package this preset belongs to. 1579 Package *Product_Package `json:"package,omitempty" xmlrpc:"package,omitempty"` 1580 1581 // The item categories associated with a package preset, including information detailing which item categories are required as part of a SoftLayer product order. 1582 PackageConfiguration []Product_Package_Order_Configuration `json:"packageConfiguration,omitempty" xmlrpc:"packageConfiguration,omitempty"` 1583 1584 // A count of the item categories associated with a package preset, including information detailing which item categories are required as part of a SoftLayer product order. 1585 PackageConfigurationCount *uint `json:"packageConfigurationCount,omitempty" xmlrpc:"packageConfigurationCount,omitempty"` 1586 1587 // The package id for the package this preset belongs to. 1588 PackageId *int `json:"packageId,omitempty" xmlrpc:"packageId,omitempty"` 1589 1590 // A count of the item prices that are included in this package preset configuration. 1591 PriceCount *uint `json:"priceCount,omitempty" xmlrpc:"priceCount,omitempty"` 1592 1593 // The item prices that are included in this package preset configuration. 1594 Prices []Product_Item_Price `json:"prices,omitempty" xmlrpc:"prices,omitempty"` 1595 1596 // A count of describes how all disks in this preset will be configured. 1597 StorageGroupTemplateArrayCount *uint `json:"storageGroupTemplateArrayCount,omitempty" xmlrpc:"storageGroupTemplateArrayCount,omitempty"` 1598 1599 // Describes how all disks in this preset will be configured. 1600 StorageGroupTemplateArrays []Configuration_Storage_Group_Template_Group `json:"storageGroupTemplateArrays,omitempty" xmlrpc:"storageGroupTemplateArrays,omitempty"` 1601 1602 // The starting hourly price for this configuration. Additional options not defined in the preset may increase the cost. 1603 TotalMinimumHourlyFee *Float64 `json:"totalMinimumHourlyFee,omitempty" xmlrpc:"totalMinimumHourlyFee,omitempty"` 1604 1605 // The starting monthly price for this configuration. Additional options not defined in the preset may increase the cost. 1606 TotalMinimumRecurringFee *Float64 `json:"totalMinimumRecurringFee,omitempty" xmlrpc:"totalMinimumRecurringFee,omitempty"` 1607} 1608 1609// Package preset attributes contain supplementary information for a package preset. 1610type Product_Package_Preset_Attribute struct { 1611 Entity 1612 1613 // no documentation yet 1614 AttributeType *Product_Package_Preset_Attribute_Type `json:"attributeType,omitempty" xmlrpc:"attributeType,omitempty"` 1615 1616 // The internal identifier of the type of attribute that a pacakge preset attribute belongs to. 1617 AttributeTypeId *int `json:"attributeTypeId,omitempty" xmlrpc:"attributeTypeId,omitempty"` 1618 1619 // A package preset attribute's internal identifier. 1620 Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"` 1621 1622 // no documentation yet 1623 Preset *Product_Package_Preset `json:"preset,omitempty" xmlrpc:"preset,omitempty"` 1624 1625 // The internal identifier of the package preset an attribute belongs to. 1626 PresetId *int `json:"presetId,omitempty" xmlrpc:"presetId,omitempty"` 1627 1628 // A package preset's attribute value. 1629 Value *string `json:"value,omitempty" xmlrpc:"value,omitempty"` 1630} 1631 1632// SoftLayer_Product_Package_Preset_Attribute_Type models the type of attribute that can be assigned to a package preset. 1633type Product_Package_Preset_Attribute_Type struct { 1634 Entity 1635 1636 // A brief description of a package preset attribute type. 1637 Description *string `json:"description,omitempty" xmlrpc:"description,omitempty"` 1638 1639 // A package preset attribute type's internal identifier. 1640 Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"` 1641 1642 // A package preset attribute type's key name. This is typically a shorter version of an attribute type's name. 1643 KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"` 1644 1645 // A package preset attribute type's name. 1646 Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"` 1647} 1648 1649// no documentation yet 1650type Product_Package_Preset_Configuration struct { 1651 Entity 1652 1653 // no documentation yet 1654 Category *Product_Item_Category `json:"category,omitempty" xmlrpc:"category,omitempty"` 1655 1656 // no documentation yet 1657 PackagePreset *Product_Package_Preset `json:"packagePreset,omitempty" xmlrpc:"packagePreset,omitempty"` 1658 1659 // no documentation yet 1660 Price *Product_Item_Price `json:"price,omitempty" xmlrpc:"price,omitempty"` 1661} 1662 1663// The SoftLayer_Product_Package_Server data type contains summarized information for bare metal servers regarding pricing, processor stats, and feature sets. 1664type Product_Package_Server struct { 1665 Entity 1666 1667 // Flag to indicate if the server a Bare Metal Reserved offering. 1668 BareMetalReservedFlag *bool `json:"bareMetalReservedFlag,omitempty" xmlrpc:"bareMetalReservedFlag,omitempty"` 1669 1670 // no documentation yet 1671 Catalog *Product_Catalog `json:"catalog,omitempty" xmlrpc:"catalog,omitempty"` 1672 1673 // The unique identifier of a [[SoftLayer_Product_Catalog]]. 1674 CatalogId *int `json:"catalogId,omitempty" xmlrpc:"catalogId,omitempty"` 1675 1676 // Comma-separated list of datacenter names this server is available in 1677 Datacenters *string `json:"datacenters,omitempty" xmlrpc:"datacenters,omitempty"` 1678 1679 // The minimum amount of RAM the server is configured with. 1680 DefaultRamCapacity *Float64 `json:"defaultRamCapacity,omitempty" xmlrpc:"defaultRamCapacity,omitempty"` 1681 1682 // Flag to indicate if the server configuration supports dual path network routing. 1683 DualPathNetworkFlag *bool `json:"dualPathNetworkFlag,omitempty" xmlrpc:"dualPathNetworkFlag,omitempty"` 1684 1685 // no documentation yet 1686 FlexCoreServerFlag *bool `json:"flexCoreServerFlag,omitempty" xmlrpc:"flexCoreServerFlag,omitempty"` 1687 1688 // Indicates whether or not the server contains a GPU. 1689 GpuFlag *bool `json:"gpuFlag,omitempty" xmlrpc:"gpuFlag,omitempty"` 1690 1691 // Flag to determine if a server is available for hourly billing. 1692 HourlyBillingFlag *bool `json:"hourlyBillingFlag,omitempty" xmlrpc:"hourlyBillingFlag,omitempty"` 1693 1694 // The unique identifier of a [[SoftLayer_Product_Package_Server]]. 1695 Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"` 1696 1697 // no documentation yet 1698 Item *Product_Item `json:"item,omitempty" xmlrpc:"item,omitempty"` 1699 1700 // The unique identifier of a [[SoftLayer_Product_Item]]. 1701 ItemId *int `json:"itemId,omitempty" xmlrpc:"itemId,omitempty"` 1702 1703 // no documentation yet 1704 ItemPrice *Product_Item_Price `json:"itemPrice,omitempty" xmlrpc:"itemPrice,omitempty"` 1705 1706 // The unique identifier of a [[SoftLayer_Product_Item_Price]]. 1707 ItemPriceId *int `json:"itemPriceId,omitempty" xmlrpc:"itemPriceId,omitempty"` 1708 1709 // The maximum number of hard drives the server can support. 1710 MaximumDriveCount *int `json:"maximumDriveCount,omitempty" xmlrpc:"maximumDriveCount,omitempty"` 1711 1712 // The maximum available network speed for the server. 1713 MaximumPortSpeed *Float64 `json:"maximumPortSpeed,omitempty" xmlrpc:"maximumPortSpeed,omitempty"` 1714 1715 // The maximum amount of RAM the server can support. 1716 MaximumRamCapacity *Float64 `json:"maximumRamCapacity,omitempty" xmlrpc:"maximumRamCapacity,omitempty"` 1717 1718 // The minimum available network speed for the server. 1719 MinimumPortSpeed *Float64 `json:"minimumPortSpeed,omitempty" xmlrpc:"minimumPortSpeed,omitempty"` 1720 1721 // no documentation yet 1722 NetworkGatewayApplianceRoleFlag *bool `json:"networkGatewayApplianceRoleFlag,omitempty" xmlrpc:"networkGatewayApplianceRoleFlag,omitempty"` 1723 1724 // DEPRECATED. Indicates whether or not the server is being sold as part of an outlet package. 1725 OutletFlag *bool `json:"outletFlag,omitempty" xmlrpc:"outletFlag,omitempty"` 1726 1727 // no documentation yet 1728 Package *Product_Package `json:"package,omitempty" xmlrpc:"package,omitempty"` 1729 1730 // The unique identifier of a [[SoftLayer_Product_Package]]. 1731 PackageId *int `json:"packageId,omitempty" xmlrpc:"packageId,omitempty"` 1732 1733 // The type of service offering/package. 1734 PackageType *string `json:"packageType,omitempty" xmlrpc:"packageType,omitempty"` 1735 1736 // Flag to indicate if the server is an IBM Power server. 1737 PowerServerFlag *bool `json:"powerServerFlag,omitempty" xmlrpc:"powerServerFlag,omitempty"` 1738 1739 // no documentation yet 1740 Preset *Product_Package_Preset `json:"preset,omitempty" xmlrpc:"preset,omitempty"` 1741 1742 // The unique identifier of a [[SoftLayer_Product_Package_Preset]]. 1743 PresetId *int `json:"presetId,omitempty" xmlrpc:"presetId,omitempty"` 1744 1745 // Indicates whether or not the server can only be configured with a private network. 1746 PrivateNetworkOnlyFlag *bool `json:"privateNetworkOnlyFlag,omitempty" xmlrpc:"privateNetworkOnlyFlag,omitempty"` 1747 1748 // The processor's bus speed. 1749 ProcessorBusSpeed *string `json:"processorBusSpeed,omitempty" xmlrpc:"processorBusSpeed,omitempty"` 1750 1751 // The amount of cache the processor has. 1752 ProcessorCache *string `json:"processorCache,omitempty" xmlrpc:"processorCache,omitempty"` 1753 1754 // The number of cores in each processor. 1755 ProcessorCores *int `json:"processorCores,omitempty" xmlrpc:"processorCores,omitempty"` 1756 1757 // The number of processors the server has. 1758 ProcessorCount *int `json:"processorCount,omitempty" xmlrpc:"processorCount,omitempty"` 1759 1760 // The manufacturer of the server's processor. 1761 ProcessorManufacturer *string `json:"processorManufacturer,omitempty" xmlrpc:"processorManufacturer,omitempty"` 1762 1763 // The model of the server's processor. 1764 ProcessorModel *string `json:"processorModel,omitempty" xmlrpc:"processorModel,omitempty"` 1765 1766 // The name of the server's processor. 1767 ProcessorName *string `json:"processorName,omitempty" xmlrpc:"processorName,omitempty"` 1768 1769 // The processor speed. 1770 ProcessorSpeed *string `json:"processorSpeed,omitempty" xmlrpc:"processorSpeed,omitempty"` 1771 1772 // The name of the server product. 1773 ProductName *string `json:"productName,omitempty" xmlrpc:"productName,omitempty"` 1774 1775 // Indicates whether or not the server has the capability to support a redundant power supply. 1776 RedundantPowerFlag *bool `json:"redundantPowerFlag,omitempty" xmlrpc:"redundantPowerFlag,omitempty"` 1777 1778 // Flag to indicate if the server is SAP certified. 1779 SapCertifiedServerFlag *bool `json:"sapCertifiedServerFlag,omitempty" xmlrpc:"sapCertifiedServerFlag,omitempty"` 1780 1781 // The hourly starting price for the server. This includes a sum of all the minimum required items, including RAM and hard drives. Not all servers are available hourly. 1782 StartingHourlyPrice *Float64 `json:"startingHourlyPrice,omitempty" xmlrpc:"startingHourlyPrice,omitempty"` 1783 1784 // The monthly starting price for the server. This includes a sum of all the minimum required items, including RAM and hard drives. 1785 StartingMonthlyPrice *Float64 `json:"startingMonthlyPrice,omitempty" xmlrpc:"startingMonthlyPrice,omitempty"` 1786 1787 // The length of a term if a server has a term-based price 1788 TermLength *int `json:"termLength,omitempty" xmlrpc:"termLength,omitempty"` 1789 1790 // The total number of processor cores available for the server. 1791 TotalCoreCount *int `json:"totalCoreCount,omitempty" xmlrpc:"totalCoreCount,omitempty"` 1792 1793 // Flag to indicate if the server configuration supports TXT/TPM. 1794 TxtTpmFlag *bool `json:"txtTpmFlag,omitempty" xmlrpc:"txtTpmFlag,omitempty"` 1795 1796 // The size of the server. 1797 UnitSize *int `json:"unitSize,omitempty" xmlrpc:"unitSize,omitempty"` 1798 1799 // Flag to indicate if the server is a VMware vSAN Node configuration. 1800 VmwareVsanNodeFlag *bool `json:"vmwareVsanNodeFlag,omitempty" xmlrpc:"vmwareVsanNodeFlag,omitempty"` 1801} 1802 1803// The [[SoftLayer_Product_Package_Server_Option]] data type contains various data points associated with package servers that can be used in selection criteria. 1804type Product_Package_Server_Option struct { 1805 Entity 1806 1807 // The unique identifier of a Catalog. 1808 CatalogId *int `json:"catalogId,omitempty" xmlrpc:"catalogId,omitempty"` 1809 1810 // A description of the option. 1811 Description *string `json:"description,omitempty" xmlrpc:"description,omitempty"` 1812 1813 // The unique identifier of a Package Server Option. 1814 Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"` 1815 1816 // The type of option. 1817 Type *string `json:"type,omitempty" xmlrpc:"type,omitempty"` 1818 1819 // The value of the the option. 1820 Value *string `json:"value,omitempty" xmlrpc:"value,omitempty"` 1821} 1822 1823// The [[SoftLayer_Product_Package_Type]] object indicates the type for a service offering (package). The type can be used to filter packages. For example, if you are looking for the package representing virtual servers, you can filter on the type's key name of '''VIRTUAL_SERVER_INSTANCE'''. For bare metal servers by core or CPU, filter on '''BARE_METAL_CORE''' or '''BARE_METAL_CPU''', respectively. 1824type Product_Package_Type struct { 1825 Entity 1826 1827 // The package type's unique identifier. 1828 Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"` 1829 1830 // The unique key name of the package type. Use this value when filtering. 1831 KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"` 1832 1833 // The name of the package type. 1834 Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"` 1835 1836 // A count of all the packages associated with the given package type. 1837 PackageCount *uint `json:"packageCount,omitempty" xmlrpc:"packageCount,omitempty"` 1838 1839 // All the packages associated with the given package type. 1840 Packages []Product_Package `json:"packages,omitempty" xmlrpc:"packages,omitempty"` 1841} 1842 1843// no documentation yet 1844type Product_Promotion struct { 1845 Entity 1846} 1847 1848// The SoftLayer_Product_Upgrade_Request data type contains general information relating to a hardware, virtual server, or service upgrade. It also relates a [[SoftLayer_Billing_Order]] to a [[SoftLayer_Ticket]]. 1849type Product_Upgrade_Request struct { 1850 Entity 1851 1852 // The account that an order belongs to 1853 Account *Account `json:"account,omitempty" xmlrpc:"account,omitempty"` 1854 1855 // The unique internal id of a SoftLayer account 1856 AccountId *int `json:"accountId,omitempty" xmlrpc:"accountId,omitempty"` 1857 1858 // Indicates that the upgrade request has completed or has been cancelled. 1859 CompletedFlag *bool `json:"completedFlag,omitempty" xmlrpc:"completedFlag,omitempty"` 1860 1861 // The date an upgrade request was created. 1862 CreateDate *Time `json:"createDate,omitempty" xmlrpc:"createDate,omitempty"` 1863 1864 // The unique internal id of the last modified user 1865 EmployeeId *int `json:"employeeId,omitempty" xmlrpc:"employeeId,omitempty"` 1866 1867 // The unique internal id of the virtual server that an upgrade will be done 1868 GuestId *int `json:"guestId,omitempty" xmlrpc:"guestId,omitempty"` 1869 1870 // The unique internal id of the hardware that an upgrade will be done 1871 HardwareId *int `json:"hardwareId,omitempty" xmlrpc:"hardwareId,omitempty"` 1872 1873 // An upgrade request's internal identifier. 1874 Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"` 1875 1876 // This is the invoice associated with the upgrade request. For hourly servers or services, an invoice will not be available. 1877 Invoice *Billing_Invoice `json:"invoice,omitempty" xmlrpc:"invoice,omitempty"` 1878 1879 // The time that system admin starts working on the order item. This is used for upgrade orders. 1880 MaintenanceStartTimeUtc *Time `json:"maintenanceStartTimeUtc,omitempty" xmlrpc:"maintenanceStartTimeUtc,omitempty"` 1881 1882 // The date an upgrade request was last modified. 1883 ModifyDate *Time `json:"modifyDate,omitempty" xmlrpc:"modifyDate,omitempty"` 1884 1885 // An order record associated to the upgrade request 1886 Order *Billing_Order `json:"order,omitempty" xmlrpc:"order,omitempty"` 1887 1888 // The unique internal id of the order that an upgrade request is related to 1889 OrderId *int `json:"orderId,omitempty" xmlrpc:"orderId,omitempty"` 1890 1891 // The total amount of fees 1892 OrderTotal *Float64 `json:"orderTotal,omitempty" xmlrpc:"orderTotal,omitempty"` 1893 1894 // The prorated total amount of recurring fees 1895 ProratedTotal *Float64 `json:"proratedTotal,omitempty" xmlrpc:"proratedTotal,omitempty"` 1896 1897 // A server object associated with the upgrade request if any. 1898 Server *Hardware `json:"server,omitempty" xmlrpc:"server,omitempty"` 1899 1900 // The current status of the upgrade request. 1901 Status *Product_Upgrade_Request_Status `json:"status,omitempty" xmlrpc:"status,omitempty"` 1902 1903 // The unique internal id of an upgrade status 1904 StatusId *int `json:"statusId,omitempty" xmlrpc:"statusId,omitempty"` 1905 1906 // The ticket that is used to coordinate the upgrade process. 1907 Ticket *Ticket `json:"ticket,omitempty" xmlrpc:"ticket,omitempty"` 1908 1909 // The unique internal id of the ticket related to an upgrade request 1910 TicketId *int `json:"ticketId,omitempty" xmlrpc:"ticketId,omitempty"` 1911 1912 // The user that placed the order. 1913 User *User_Customer `json:"user,omitempty" xmlrpc:"user,omitempty"` 1914 1915 // The unique internal id of the customer who place the order 1916 UserId *int `json:"userId,omitempty" xmlrpc:"userId,omitempty"` 1917 1918 // A virtual server object associated with the upgrade request if any. 1919 VirtualGuest *Virtual_Guest `json:"virtualGuest,omitempty" xmlrpc:"virtualGuest,omitempty"` 1920} 1921 1922// The SoftLayer_Product_Upgrade_Request_Status data type contains detailed information relating to an hardware or software upgrade request. 1923type Product_Upgrade_Request_Status struct { 1924 Entity 1925 1926 // The detailed description of an upgrade request status. 1927 Description *string `json:"description,omitempty" xmlrpc:"description,omitempty"` 1928 1929 // An internal identifier of an upgrade request status. 1930 Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"` 1931 1932 // The name of an upgrade request status. 1933 Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"` 1934 1935 // The status code of an upgrade request status. 1936 StatusCode *string `json:"statusCode,omitempty" xmlrpc:"statusCode,omitempty"` 1937} 1938