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