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