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// SoftLayer_Software_AccountLicense is a class that represents software licenses that are tied only to a customer's account and not to any particular hardware, IP address, etc.
24type Software_AccountLicense struct {
25	Entity
26
27	// The customer account this Account License belongs to.
28	Account *Account `json:"account,omitempty" xmlrpc:"account,omitempty"`
29
30	// The ID of the SoftLayer Account to which this Account License belongs to.
31	AccountId *int `json:"accountId,omitempty" xmlrpc:"accountId,omitempty"`
32
33	// The billing item for a software account license.
34	BillingItem *Billing_Item `json:"billingItem,omitempty" xmlrpc:"billingItem,omitempty"`
35
36	// Some Account Licenses have capacity information such as CPU specified in the units key. This provides the numerical representation of the capacity of the units.
37	Capacity *string `json:"capacity,omitempty" xmlrpc:"capacity,omitempty"`
38
39	// The License Key for this specific Account License.
40	Key *string `json:"key,omitempty" xmlrpc:"key,omitempty"`
41
42	// The SoftLayer_Software_Description that this account license is for.
43	SoftwareDescription *Software_Description `json:"softwareDescription,omitempty" xmlrpc:"softwareDescription,omitempty"`
44
45	// The unit of measurement that an account license has the capacity of.
46	Units *string `json:"units,omitempty" xmlrpc:"units,omitempty"`
47}
48
49// A SoftLayer_Software_Component ties the installation of a specific piece of software onto a specific piece of hardware.
50//
51// SoftLayer_Software_Component works with SoftLayer_Software_License and SoftLayer_Software_Description to tie this all together.
52//
53// <ul> <li>SoftLayer_Software_Component is the installation of a specific piece of software onto a specific piece of hardware in accordance to a software license. <ul> <li>SoftLayer_Software_License dictates when and how a specific piece of software may be installed onto a piece of hardware. <ul> <li>SoftLayer_Software_Description describes a specific piece of software which can be installed onto hardware in accordance with it's license agreement. </li></ul></li></ul></li></ul>
54type Software_Component struct {
55	Entity
56
57	// The average amount of time that a software component takes to install.
58	AverageInstallationDuration *uint `json:"averageInstallationDuration,omitempty" xmlrpc:"averageInstallationDuration,omitempty"`
59
60	// The billing item for a software component.
61	BillingItem *Billing_Item `json:"billingItem,omitempty" xmlrpc:"billingItem,omitempty"`
62
63	// The hardware this Software Component is installed upon.
64	Hardware *Hardware `json:"hardware,omitempty" xmlrpc:"hardware,omitempty"`
65
66	// Hardware Identification Number for the server this Software Component is installed upon.
67	HardwareId *int `json:"hardwareId,omitempty" xmlrpc:"hardwareId,omitempty"`
68
69	// An ID number identifying this Software Component (Software Installation)
70	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
71
72	// The manufacturer code that is needed to activate a license.
73	ManufacturerActivationCode *string `json:"manufacturerActivationCode,omitempty" xmlrpc:"manufacturerActivationCode,omitempty"`
74
75	// A license key for this specific installation of software, if it is needed.
76	ManufacturerLicenseInstance *string `json:"manufacturerLicenseInstance,omitempty" xmlrpc:"manufacturerLicenseInstance,omitempty"`
77
78	// A count of username/Password pairs used for access to this Software Installation.
79	PasswordCount *uint `json:"passwordCount,omitempty" xmlrpc:"passwordCount,omitempty"`
80
81	// History Records for Software Passwords.
82	PasswordHistory []Software_Component_Password_History `json:"passwordHistory,omitempty" xmlrpc:"passwordHistory,omitempty"`
83
84	// A count of history Records for Software Passwords.
85	PasswordHistoryCount *uint `json:"passwordHistoryCount,omitempty" xmlrpc:"passwordHistoryCount,omitempty"`
86
87	// Username/Password pairs used for access to this Software Installation.
88	Passwords []Software_Component_Password `json:"passwords,omitempty" xmlrpc:"passwords,omitempty"`
89
90	// The Software Description of this Software Component.
91	SoftwareDescription *Software_Description `json:"softwareDescription,omitempty" xmlrpc:"softwareDescription,omitempty"`
92
93	// The License this Software Component uses.
94	SoftwareLicense *Software_License `json:"softwareLicense,omitempty" xmlrpc:"softwareLicense,omitempty"`
95
96	// The virtual guest this software component is installed upon.
97	VirtualGuest *Virtual_Guest `json:"virtualGuest,omitempty" xmlrpc:"virtualGuest,omitempty"`
98}
99
100// This object specifies a specific type of Software Component:  An analytics instance. Analytics installations have a specific default ports and patterns for usernames and passwords.  Defaults are initiated by this object.
101type Software_Component_Analytics struct {
102	Software_Component
103}
104
105// This object specifies a specific Software Component:  An Urchin instance. Urchin installations have a specific default port (9999) and a pattern for usernames and passwords.  Defaults are initiated by this object.
106type Software_Component_Analytics_Urchin struct {
107	Software_Component_Analytics
108}
109
110// This object specifies a specific type of Software Component:  An Anti-virus/spyware instance. Anti-virus/spyware installations have specific properties and methods such as SoftLayer_Software_Component_AntivirusSpyware::updateAntivirusSpywarePolicy. Defaults are initiated by this object.
111type Software_Component_AntivirusSpyware struct {
112	Software_Component
113}
114
115// The SoftLayer_Software_Component_AntivirusSpyware_Mcafee represents a single anti-virus/spyware software component.
116type Software_Component_AntivirusSpyware_Mcafee struct {
117	Software_Component_AntivirusSpyware
118}
119
120// The SoftLayer_Software_Component_AntivirusSpyware_Mcafee_Epo_Version36 data type represents a single McAfee Secure anti-virus/spyware software component that uses the ePolicy Orchestrator version 3.6 backend.
121type Software_Component_AntivirusSpyware_Mcafee_Epo_Version36 struct {
122	Software_Component_AntivirusSpyware_Mcafee
123
124	// The virus scan agent details.
125	AgentDetails *McAfee_Epolicy_Orchestrator_Version36_Agent_Details `json:"agentDetails,omitempty" xmlrpc:"agentDetails,omitempty"`
126
127	// The current anti-virus policy.
128	CurrentAntivirusPolicy *int `json:"currentAntivirusPolicy,omitempty" xmlrpc:"currentAntivirusPolicy,omitempty"`
129
130	// The virus definition file version.
131	DataFileVersion *McAfee_Epolicy_Orchestrator_Version36_Product_Properties `json:"dataFileVersion,omitempty" xmlrpc:"dataFileVersion,omitempty"`
132
133	// The version of ePolicy Orchestrator that the anti-virus/spyware client communicates with.
134	EpoVersion *string `json:"epoVersion,omitempty" xmlrpc:"epoVersion,omitempty"`
135
136	// A count of the latest access protection events.
137	LatestAccessProtectionEventCount *uint `json:"latestAccessProtectionEventCount,omitempty" xmlrpc:"latestAccessProtectionEventCount,omitempty"`
138
139	// The latest access protection events.
140	LatestAccessProtectionEvents []McAfee_Epolicy_Orchestrator_Version36_Antivirus_Event_AccessProtection `json:"latestAccessProtectionEvents,omitempty" xmlrpc:"latestAccessProtectionEvents,omitempty"`
141
142	// A count of the latest anti-virus events.
143	LatestAntivirusEventCount *uint `json:"latestAntivirusEventCount,omitempty" xmlrpc:"latestAntivirusEventCount,omitempty"`
144
145	// The latest anti-virus events.
146	LatestAntivirusEvents []McAfee_Epolicy_Orchestrator_Version36_Antivirus_Event `json:"latestAntivirusEvents,omitempty" xmlrpc:"latestAntivirusEvents,omitempty"`
147
148	// A count of the latest spyware events.
149	LatestSpywareEventCount *uint `json:"latestSpywareEventCount,omitempty" xmlrpc:"latestSpywareEventCount,omitempty"`
150
151	// The latest spyware events.
152	LatestSpywareEvents []McAfee_Epolicy_Orchestrator_Version36_Antivirus_Event `json:"latestSpywareEvents,omitempty" xmlrpc:"latestSpywareEvents,omitempty"`
153
154	// The current transaction status of a server.
155	TransactionStatus *string `json:"transactionStatus,omitempty" xmlrpc:"transactionStatus,omitempty"`
156}
157
158// The SoftLayer_Software_Component_AntivirusSpyware_Mcafee_Epo_Version45 data type represents a single McAfee Secure anti-virus/spyware software component that uses the ePolicy Orchestrator version 4.5 backend.
159type Software_Component_AntivirusSpyware_Mcafee_Epo_Version45 struct {
160	Software_Component_AntivirusSpyware_Mcafee
161
162	// The virus scan agent details.
163	AgentDetails *McAfee_Epolicy_Orchestrator_Version45_Agent_Details `json:"agentDetails,omitempty" xmlrpc:"agentDetails,omitempty"`
164
165	// The current anti-virus policy.
166	CurrentAntivirusPolicy *int `json:"currentAntivirusPolicy,omitempty" xmlrpc:"currentAntivirusPolicy,omitempty"`
167
168	// The virus definition file version.
169	DataFileVersion *McAfee_Epolicy_Orchestrator_Version45_Product_Properties `json:"dataFileVersion,omitempty" xmlrpc:"dataFileVersion,omitempty"`
170
171	// The version of ePolicy Orchestrator that the anti-virus/spyware client communicates with.
172	EpoVersion *string `json:"epoVersion,omitempty" xmlrpc:"epoVersion,omitempty"`
173
174	// The current transaction status of a server.
175	TransactionStatus *string `json:"transactionStatus,omitempty" xmlrpc:"transactionStatus,omitempty"`
176}
177
178// The SoftLayer_Software_Component_AntivirusSpyware_Mcafee_Epo_Version51 data type represents a single McAfee Secure anti-virus/spyware software component that contacts the McAfee ePO Server version 5.1 backend.
179type Software_Component_AntivirusSpyware_Mcafee_Epo_Version51 struct {
180	Software_Component_AntivirusSpyware_Mcafee
181
182	// The virus scan agent details.
183	AgentDetails *McAfee_Epolicy_Orchestrator_Version51_Agent_Details `json:"agentDetails,omitempty" xmlrpc:"agentDetails,omitempty"`
184
185	// The current anti-virus policy.
186	CurrentAntivirusPolicy *int `json:"currentAntivirusPolicy,omitempty" xmlrpc:"currentAntivirusPolicy,omitempty"`
187
188	// The virus definition file version.
189	DataFileVersion *McAfee_Epolicy_Orchestrator_Version51_Product_Properties `json:"dataFileVersion,omitempty" xmlrpc:"dataFileVersion,omitempty"`
190
191	// The version of  McAfee ePO Server that the anti-virus/spyware client communicates with.
192	EpoVersion *string `json:"epoVersion,omitempty" xmlrpc:"epoVersion,omitempty"`
193
194	// The version of ePolicy Server that the host IPS client communicates with.
195	TransactionStatus *string `json:"transactionStatus,omitempty" xmlrpc:"transactionStatus,omitempty"`
196}
197
198// This object specifies a specific type of Software Component:  A control panel instance. Control panel installations have a specific default ports and patterns for usernames and passwords.  Defaults are initiated by this object.
199type Software_Component_ControlPanel struct {
200	Software_Component
201}
202
203// This object specifies a specific Software Component:  A cPanel instance. cPanel installations have a specific default port (2086) and a pattern for usernames and passwords.  Defaults are initiated by this object.
204type Software_Component_ControlPanel_Cpanel struct {
205	Software_Component
206}
207
208// This object specifies a specific type of control panel Software Component:  An Idera instance.
209type Software_Component_ControlPanel_Idera struct {
210	Software_Component
211}
212
213// This object specifies a specific type of Software Component:  A Idera Server Backup instance.
214type Software_Component_ControlPanel_Idera_ServerBackup struct {
215	Software_Component_ControlPanel_Idera
216}
217
218// This object is a parent class for Microsoft Products, like Web Matrix
219type Software_Component_ControlPanel_Microsoft struct {
220	Software_Component
221}
222
223// This object specifies a specific Software Component:  A WebPlatform instance. WebPlatform installations have a specific xml config with usernames and passwords.  Defaults are initiated by this object.
224type Software_Component_ControlPanel_Microsoft_WebPlatform struct {
225	Software_Component_ControlPanel_Microsoft
226}
227
228// This object is a parent class for SWSoft Products, like Plesk
229type Software_Component_ControlPanel_Parallels struct {
230	Software_Component
231}
232
233// This object specifies a specific Software Component:  A Plesk instance produced by SWSoft. SWSoft Plesk installations have a specific default port (8443) and a pattern for usernames and passwords.  Defaults are initiated by this object.
234type Software_Component_ControlPanel_Parallels_Plesk struct {
235	Software_Component_ControlPanel_Parallels
236}
237
238// This object specifies a specific type of control panel Software Component:  A R1soft instance.
239type Software_Component_ControlPanel_R1soft struct {
240	Software_Component
241}
242
243// This object specifies a specific type of Software Component:  A R1soft continuous data protection instance.
244type Software_Component_ControlPanel_R1soft_Cdp struct {
245	Software_Component_ControlPanel_R1soft
246}
247
248// This object specifies a specific type of Software Component:  A R1Soft Server Backup instance.
249type Software_Component_ControlPanel_R1soft_ServerBackup struct {
250	Software_Component_ControlPanel_R1soft
251}
252
253// This object is a parent class for SWSoft Products, like Plesk
254type Software_Component_ControlPanel_Swsoft struct {
255	Software_Component
256}
257
258// This object specifies a specific Software Component:  A Helm instance produced by Webhost Automation. WEbhost Automation's Helm installations have a specific default port (8086) and a pattern for usernames and passwords.  Defaults are initiated by this object.
259type Software_Component_ControlPanel_WebhostAutomation struct {
260	Software_Component
261}
262
263// This object specifies a specific type of Software Component:  A Host Intrusion Protection System instance.
264type Software_Component_HostIps struct {
265	Software_Component
266}
267
268// The SoftLayer_Software_Component_HostIps_Mcafee represents a single host IPS software component.
269type Software_Component_HostIps_Mcafee struct {
270	Software_Component_HostIps
271}
272
273// The SoftLayer_Software_Component_HostIps_Mcafee_Epo_Version36_Hips data type represents a single McAfee Secure Host IPS software component that uses the ePolicy Orchestrator version 3.6 backend.
274type Software_Component_HostIps_Mcafee_Epo_Version36_Hips struct {
275	Software_Component_HostIps_Mcafee
276
277	// The host IPS agent details.
278	AgentDetails *McAfee_Epolicy_Orchestrator_Version36_Agent_Details `json:"agentDetails,omitempty" xmlrpc:"agentDetails,omitempty"`
279
280	// A count of the names of the possible policy options for the application mode setting.
281	ApplicationModePolicyNameCount *uint `json:"applicationModePolicyNameCount,omitempty" xmlrpc:"applicationModePolicyNameCount,omitempty"`
282
283	// The names of the possible policy options for the application mode setting.
284	ApplicationModePolicyNames []McAfee_Epolicy_Orchestrator_Version36_Policy_Object `json:"applicationModePolicyNames,omitempty" xmlrpc:"applicationModePolicyNames,omitempty"`
285
286	// A count of the names of the possible policy options for the application rule set setting.
287	ApplicationRuleSetPolicyNameCount *uint `json:"applicationRuleSetPolicyNameCount,omitempty" xmlrpc:"applicationRuleSetPolicyNameCount,omitempty"`
288
289	// The names of the possible policy options for the application rule set setting.
290	ApplicationRuleSetPolicyNames []McAfee_Epolicy_Orchestrator_Version36_Policy_Object `json:"applicationRuleSetPolicyNames,omitempty" xmlrpc:"applicationRuleSetPolicyNames,omitempty"`
291
292	// A count of the names of the possible options for the enforcement policy setting.
293	EnforcementPolicyNameCount *uint `json:"enforcementPolicyNameCount,omitempty" xmlrpc:"enforcementPolicyNameCount,omitempty"`
294
295	// The names of the possible options for the enforcement policy setting.
296	EnforcementPolicyNames []McAfee_Epolicy_Orchestrator_Version36_Policy_Object `json:"enforcementPolicyNames,omitempty" xmlrpc:"enforcementPolicyNames,omitempty"`
297
298	// The version of ePolicy Orchestrator that the host IPS client communicates with.
299	EpoVersion *string `json:"epoVersion,omitempty" xmlrpc:"epoVersion,omitempty"`
300
301	// A count of the names of the possible policy options for the firewall mode setting.
302	FirewallModePolicyNameCount *uint `json:"firewallModePolicyNameCount,omitempty" xmlrpc:"firewallModePolicyNameCount,omitempty"`
303
304	// The names of the possible policy options for the firewall mode setting.
305	FirewallModePolicyNames []McAfee_Epolicy_Orchestrator_Version36_Policy_Object `json:"firewallModePolicyNames,omitempty" xmlrpc:"firewallModePolicyNames,omitempty"`
306
307	// A count of the names of the possible policy options for the firewall rule set setting.
308	FirewallRuleSetPolicyNameCount *uint `json:"firewallRuleSetPolicyNameCount,omitempty" xmlrpc:"firewallRuleSetPolicyNameCount,omitempty"`
309
310	// The names of the possible policy options for the firewall rule set setting.
311	FirewallRuleSetPolicyNames []McAfee_Epolicy_Orchestrator_Version36_Policy_Object `json:"firewallRuleSetPolicyNames,omitempty" xmlrpc:"firewallRuleSetPolicyNames,omitempty"`
312
313	// A count of the names of the possible policy options for the host IPS mode setting.
314	IpsModePolicyNameCount *uint `json:"ipsModePolicyNameCount,omitempty" xmlrpc:"ipsModePolicyNameCount,omitempty"`
315
316	// The names of the possible policy options for the host IPS mode setting.
317	IpsModePolicyNames []McAfee_Epolicy_Orchestrator_Version36_Policy_Object `json:"ipsModePolicyNames,omitempty" xmlrpc:"ipsModePolicyNames,omitempty"`
318
319	// A count of the names of the possible policy options for the host IPS protection setting.
320	IpsProtectionPolicyNameCount *uint `json:"ipsProtectionPolicyNameCount,omitempty" xmlrpc:"ipsProtectionPolicyNameCount,omitempty"`
321
322	// The names of the possible policy options for the host IPS protection setting.
323	IpsProtectionPolicyNames []McAfee_Epolicy_Orchestrator_Version36_Policy_Object `json:"ipsProtectionPolicyNames,omitempty" xmlrpc:"ipsProtectionPolicyNames,omitempty"`
324
325	// The current transaction status of a server.
326	TransactionStatus *string `json:"transactionStatus,omitempty" xmlrpc:"transactionStatus,omitempty"`
327}
328
329// The SoftLayer_Software_Component_HostIps_Mcafee_Epo_Version36_Hips_Version6 data type represents a single McAfee Secure Host IPS software component for version 6 of the Host IPS client and uses the ePolicy Orchestrator version 3.6 backend.
330type Software_Component_HostIps_Mcafee_Epo_Version36_Hips_Version6 struct {
331	Software_Component_HostIps_Mcafee_Epo_Version36_Hips
332
333	// A count of the blocked application events for this software component.
334	BlockedApplicationEventCount *uint `json:"blockedApplicationEventCount,omitempty" xmlrpc:"blockedApplicationEventCount,omitempty"`
335
336	// The blocked application events for this software component.
337	BlockedApplicationEvents []McAfee_Epolicy_Orchestrator_Version36_Hips_Version6_BlockedApplicationEvent `json:"blockedApplicationEvents,omitempty" xmlrpc:"blockedApplicationEvents,omitempty"`
338
339	// A count of the host IPS events for this software component.
340	IpsEventCount *uint `json:"ipsEventCount,omitempty" xmlrpc:"ipsEventCount,omitempty"`
341
342	// The host IPS events for this software component.
343	IpsEvents []McAfee_Epolicy_Orchestrator_Version36_Hips_Version6_IPSEvent `json:"ipsEvents,omitempty" xmlrpc:"ipsEvents,omitempty"`
344}
345
346// The SoftLayer_Software_Component_HostIps_Mcafee_Epo_Version36_Hips_Version7 data type represents a single McAfee Secure Host IPS software component for version 7 of the Host IPS client and uses the ePolicy Orchestrator version 3.6 backend.
347type Software_Component_HostIps_Mcafee_Epo_Version36_Hips_Version7 struct {
348	Software_Component_HostIps_Mcafee_Epo_Version36_Hips
349
350	// A count of the blocked application events for this software component.
351	BlockedApplicationEventCount *uint `json:"blockedApplicationEventCount,omitempty" xmlrpc:"blockedApplicationEventCount,omitempty"`
352
353	// The blocked application events for this software component.
354	BlockedApplicationEvents []McAfee_Epolicy_Orchestrator_Version36_Hips_Version7_BlockedApplicationEvent `json:"blockedApplicationEvents,omitempty" xmlrpc:"blockedApplicationEvents,omitempty"`
355
356	// A count of the host IPS events for this software component.
357	IpsEventCount *uint `json:"ipsEventCount,omitempty" xmlrpc:"ipsEventCount,omitempty"`
358
359	// The host IPS events for this software component.
360	IpsEvents []McAfee_Epolicy_Orchestrator_Version36_Hips_Version7_IPSEvent `json:"ipsEvents,omitempty" xmlrpc:"ipsEvents,omitempty"`
361}
362
363// The SoftLayer_Software_Component_HostIps_Mcafee_Epo_Version45_Hips data type represents a single McAfee Secure Host IPS software component that uses the ePolicy Orchestrator version 4.5 backend.
364type Software_Component_HostIps_Mcafee_Epo_Version45_Hips struct {
365	Software_Component_HostIps_Mcafee
366
367	// The host IPS agent details.
368	AgentDetails *McAfee_Epolicy_Orchestrator_Version45_Agent_Details `json:"agentDetails,omitempty" xmlrpc:"agentDetails,omitempty"`
369
370	// A count of the names of the possible policy options for the application mode setting.
371	ApplicationModePolicyNameCount *uint `json:"applicationModePolicyNameCount,omitempty" xmlrpc:"applicationModePolicyNameCount,omitempty"`
372
373	// The names of the possible policy options for the application mode setting.
374	ApplicationModePolicyNames []McAfee_Epolicy_Orchestrator_Version45_Policy_Object `json:"applicationModePolicyNames,omitempty" xmlrpc:"applicationModePolicyNames,omitempty"`
375
376	// A count of the names of the possible policy options for the application rule set setting.
377	ApplicationRuleSetPolicyNameCount *uint `json:"applicationRuleSetPolicyNameCount,omitempty" xmlrpc:"applicationRuleSetPolicyNameCount,omitempty"`
378
379	// The names of the possible policy options for the application rule set setting.
380	ApplicationRuleSetPolicyNames []McAfee_Epolicy_Orchestrator_Version45_Policy_Object `json:"applicationRuleSetPolicyNames,omitempty" xmlrpc:"applicationRuleSetPolicyNames,omitempty"`
381
382	// A count of the names of the possible options for the enforcement policy setting.
383	EnforcementPolicyNameCount *uint `json:"enforcementPolicyNameCount,omitempty" xmlrpc:"enforcementPolicyNameCount,omitempty"`
384
385	// The names of the possible options for the enforcement policy setting.
386	EnforcementPolicyNames []McAfee_Epolicy_Orchestrator_Version45_Policy_Object `json:"enforcementPolicyNames,omitempty" xmlrpc:"enforcementPolicyNames,omitempty"`
387
388	// The version of ePolicy Orchestrator that the host IPS client communicates with.
389	EpoVersion *string `json:"epoVersion,omitempty" xmlrpc:"epoVersion,omitempty"`
390
391	// A count of the names of the possible policy options for the firewall mode setting.
392	FirewallModePolicyNameCount *uint `json:"firewallModePolicyNameCount,omitempty" xmlrpc:"firewallModePolicyNameCount,omitempty"`
393
394	// The names of the possible policy options for the firewall mode setting.
395	FirewallModePolicyNames []McAfee_Epolicy_Orchestrator_Version45_Policy_Object `json:"firewallModePolicyNames,omitempty" xmlrpc:"firewallModePolicyNames,omitempty"`
396
397	// A count of the names of the possible policy options for the firewall rule set setting.
398	FirewallRuleSetPolicyNameCount *uint `json:"firewallRuleSetPolicyNameCount,omitempty" xmlrpc:"firewallRuleSetPolicyNameCount,omitempty"`
399
400	// The names of the possible policy options for the firewall rule set setting.
401	FirewallRuleSetPolicyNames []McAfee_Epolicy_Orchestrator_Version45_Policy_Object `json:"firewallRuleSetPolicyNames,omitempty" xmlrpc:"firewallRuleSetPolicyNames,omitempty"`
402
403	// A count of the names of the possible policy options for the host IPS mode setting.
404	IpsModePolicyNameCount *uint `json:"ipsModePolicyNameCount,omitempty" xmlrpc:"ipsModePolicyNameCount,omitempty"`
405
406	// The names of the possible policy options for the host IPS mode setting.
407	IpsModePolicyNames []McAfee_Epolicy_Orchestrator_Version45_Policy_Object `json:"ipsModePolicyNames,omitempty" xmlrpc:"ipsModePolicyNames,omitempty"`
408
409	// A count of the names of the possible policy options for the host IPS protection setting.
410	IpsProtectionPolicyNameCount *uint `json:"ipsProtectionPolicyNameCount,omitempty" xmlrpc:"ipsProtectionPolicyNameCount,omitempty"`
411
412	// The names of the possible policy options for the host IPS protection setting.
413	IpsProtectionPolicyNames []McAfee_Epolicy_Orchestrator_Version45_Policy_Object `json:"ipsProtectionPolicyNames,omitempty" xmlrpc:"ipsProtectionPolicyNames,omitempty"`
414
415	// The current transaction status of a server.
416	TransactionStatus *string `json:"transactionStatus,omitempty" xmlrpc:"transactionStatus,omitempty"`
417}
418
419// The SoftLayer_Software_Component_HostIps_Mcafee_Epo_Version45_Hips_Version7 data type represents a single McAfee Secure Host IPS software component for version 7 of the Host IPS client and uses the ePolicy Orchestrator version 4.5 backend.
420type Software_Component_HostIps_Mcafee_Epo_Version45_Hips_Version7 struct {
421	Software_Component_HostIps_Mcafee_Epo_Version45_Hips
422}
423
424// The SoftLayer_Software_Component_HostIps_Mcafee_Epo_Version45_Hips_Version8 data type represents a single McAfee Secure Host IPS software component for version 8 of the Host IPS client and uses the ePolicy Orchestrator version 4.5 backend.
425type Software_Component_HostIps_Mcafee_Epo_Version45_Hips_Version8 struct {
426	Software_Component_HostIps_Mcafee_Epo_Version45_Hips
427}
428
429// The SoftLayer_Software_Component_HostIps_Mcafee_Epo_Version51 data type represents a single McAfee Secure Host IPS software component that uses the ePO Server.
430type Software_Component_HostIps_Mcafee_Epo_Version51 struct {
431	Software_Component_HostIps_Mcafee
432
433	// The virus scan agent details.
434	AgentDetails *McAfee_Epolicy_Orchestrator_Version51_Agent_Details `json:"agentDetails,omitempty" xmlrpc:"agentDetails,omitempty"`
435
436	// no documentation yet
437	EpoVersion *string `json:"epoVersion,omitempty" xmlrpc:"epoVersion,omitempty"`
438
439	// no documentation yet
440	FirewallModePolicyNames []McAfee_Epolicy_Orchestrator_Version51_Policy_Object `json:"firewallModePolicyNames,omitempty" xmlrpc:"firewallModePolicyNames,omitempty"`
441
442	// no documentation yet
443	FirewallRuleSetPolicyNames []McAfee_Epolicy_Orchestrator_Version51_Policy_Object `json:"firewallRuleSetPolicyNames,omitempty" xmlrpc:"firewallRuleSetPolicyNames,omitempty"`
444
445	// no documentation yet
446	IpsModePolicyNames []McAfee_Epolicy_Orchestrator_Version51_Policy_Object `json:"ipsModePolicyNames,omitempty" xmlrpc:"ipsModePolicyNames,omitempty"`
447
448	// no documentation yet
449	IpsProtectionPolicyNames []McAfee_Epolicy_Orchestrator_Version51_Policy_Object `json:"ipsProtectionPolicyNames,omitempty" xmlrpc:"ipsProtectionPolicyNames,omitempty"`
450
451	// no documentation yet
452	TransactionStatus *string `json:"transactionStatus,omitempty" xmlrpc:"transactionStatus,omitempty"`
453}
454
455// SoftLayer_Software_Component_OperatingSystem extends the [[SoftLayer_Software_Component]] data type to include operating system specific properties.
456type Software_Component_OperatingSystem struct {
457	Software_Component
458
459	// The date in which the license for this software expires.
460	LicenseExpirationDate *Time `json:"licenseExpirationDate,omitempty" xmlrpc:"licenseExpirationDate,omitempty"`
461
462	// A count of an operating system's associated [[SoftLayer_Hardware_Component_Partition_Template|Partition Templates]] that can be used to configure a hardware drive.
463	PartitionTemplateCount *uint `json:"partitionTemplateCount,omitempty" xmlrpc:"partitionTemplateCount,omitempty"`
464
465	// An operating system's associated [[SoftLayer_Hardware_Component_Partition_Template|Partition Templates]] that can be used to configure a hardware drive.
466	PartitionTemplates []Hardware_Component_Partition_Template `json:"partitionTemplates,omitempty" xmlrpc:"partitionTemplates,omitempty"`
467
468	// An operating systems associated [[SoftLayer_Provisioning_Version1_Transaction_Group|Transaction Group]]. A transaction group is a list of operations that will occur during the installment of an operating system.
469	ReloadTransactionGroup *Provisioning_Version1_Transaction_Group `json:"reloadTransactionGroup,omitempty" xmlrpc:"reloadTransactionGroup,omitempty"`
470}
471
472// This object specifies a specific type of Software Component:  A package instance.
473type Software_Component_Package struct {
474	Software_Component
475}
476
477// This object specifies a specific type of Software Component:  A package management instance.
478type Software_Component_Package_Management struct {
479	Software_Component_Package
480}
481
482// This object specifies a specific type of Software Component:  A Ksplice instance.
483type Software_Component_Package_Management_Ksplice struct {
484	Software_Component_Package_Management
485}
486
487// This SoftLayer_Software_Component_Password data type contains a password for a specific software component instance.
488type Software_Component_Password struct {
489	Entity
490
491	// The date this username/password pair was created.
492	CreateDate *Time `json:"createDate,omitempty" xmlrpc:"createDate,omitempty"`
493
494	// An id number for this specific username/password pair.
495	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
496
497	// The date of the last modification to this username/password pair.
498	ModifyDate *Time `json:"modifyDate,omitempty" xmlrpc:"modifyDate,omitempty"`
499
500	// A note string stored for this username/password pair.
501	Notes *string `json:"notes,omitempty" xmlrpc:"notes,omitempty"`
502
503	// The password part of the username/password pair.
504	Password *string `json:"password,omitempty" xmlrpc:"password,omitempty"`
505
506	// The application access port for the Software Component.
507	Port *int `json:"port,omitempty" xmlrpc:"port,omitempty"`
508
509	// The SoftLayer_Software_Component instance that this username/password pair is valid for.
510	Software *Software_Component `json:"software,omitempty" xmlrpc:"software,omitempty"`
511
512	// An id number for the software component this username/password pair is valid for.
513	SoftwareId *int `json:"softwareId,omitempty" xmlrpc:"softwareId,omitempty"`
514
515	// A count of sSH keys to be installed on the server during provisioning or an OS reload.
516	SshKeyCount *uint `json:"sshKeyCount,omitempty" xmlrpc:"sshKeyCount,omitempty"`
517
518	// SSH keys to be installed on the server during provisioning or an OS reload.
519	SshKeys []Security_Ssh_Key `json:"sshKeys,omitempty" xmlrpc:"sshKeys,omitempty"`
520
521	// The username part of the username/password pair.
522	Username *string `json:"username,omitempty" xmlrpc:"username,omitempty"`
523}
524
525// This object allows you to find the history of password changes for a specific SoftLayer_Software Component
526type Software_Component_Password_History struct {
527	Entity
528
529	// The date this username/password pair was created.
530	CreateDate *Time `json:"createDate,omitempty" xmlrpc:"createDate,omitempty"`
531
532	// A note string stored for this username/password pair.
533	Notes *string `json:"notes,omitempty" xmlrpc:"notes,omitempty"`
534
535	// The password part of this specific password history instance.
536	Password *string `json:"password,omitempty" xmlrpc:"password,omitempty"`
537
538	// An installed and licensed instance of a piece of software
539	SoftwareComponent *Software_Component `json:"softwareComponent,omitempty" xmlrpc:"softwareComponent,omitempty"`
540
541	// The id number for the Software Component this username/password pair is for.
542	SoftwareComponentId *int `json:"softwareComponentId,omitempty" xmlrpc:"softwareComponentId,omitempty"`
543
544	// The username part of this specific password history instance.
545	Username *string `json:"username,omitempty" xmlrpc:"username,omitempty"`
546}
547
548// This object specifies a specific type of Software Component:  A security instance. Security installations have custom configurations for password requirements.
549type Software_Component_Security struct {
550	Software_Component
551}
552
553// This object specifies a specific Software Component:  A SafeNet instance. SafeNet installations have custom configurations for password requirements.
554type Software_Component_Security_SafeNet struct {
555	Software_Component_Security
556}
557
558// This class holds a description for a specific installation of a Software Component.
559//
560// SoftLayer_Software_Licenses tie a Software Component (A specific installation on a piece of hardware) to it's description.
561//
562// The "Manufacturer" and "Name" properties of a SoftLayer_Software_Description are used by the framework to factory specific objects, objects that may have special methods for that specific piece of software, or objects that contain application specific data, such as default ports.  For example, if you create a SoftLayer_Software_Component who's SoftLayer_Software_License points to the SoftLayer_Software_Description for "Swsoft" "Plesk", you'll actually get a SoftLayer_Software_Component_Swsoft_Plesk object.
563type Software_Description struct {
564	Entity
565
566	// A count of
567	AttributeCount *uint `json:"attributeCount,omitempty" xmlrpc:"attributeCount,omitempty"`
568
569	// no documentation yet
570	Attributes []Software_Description_Attribute `json:"attributes,omitempty" xmlrpc:"attributes,omitempty"`
571
572	// The average amount of time that a software description takes to install.
573	AverageInstallationDuration *int `json:"averageInstallationDuration,omitempty" xmlrpc:"averageInstallationDuration,omitempty"`
574
575	// A count of a list of the software descriptions that are compatible with this software description.
576	CompatibleSoftwareDescriptionCount *uint `json:"compatibleSoftwareDescriptionCount,omitempty" xmlrpc:"compatibleSoftwareDescriptionCount,omitempty"`
577
578	// A list of the software descriptions that are compatible with this software description.
579	CompatibleSoftwareDescriptions []Software_Description `json:"compatibleSoftwareDescriptions,omitempty" xmlrpc:"compatibleSoftwareDescriptions,omitempty"`
580
581	// This is set to '1' if this Software Description describes a Control Panel.
582	ControlPanel *int `json:"controlPanel,omitempty" xmlrpc:"controlPanel,omitempty"`
583
584	// A count of the feature attributes of a software description.
585	FeatureCount *uint `json:"featureCount,omitempty" xmlrpc:"featureCount,omitempty"`
586
587	// The feature attributes of a software description.
588	Features []Software_Description_Feature `json:"features,omitempty" xmlrpc:"features,omitempty"`
589
590	// An ID number to identify this Software Description.
591	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
592
593	// The latest version of a software description.
594	LatestVersion []Software_Description `json:"latestVersion,omitempty" xmlrpc:"latestVersion,omitempty"`
595
596	// A count of the latest version of a software description.
597	LatestVersionCount *uint `json:"latestVersionCount,omitempty" xmlrpc:"latestVersionCount,omitempty"`
598
599	// The unit of measurement (day, month, or year) for license registration. Used in conjunction with licenseTermValue to determine overall license registration length of a new license.
600	LicenseTermUnit *string `json:"licenseTermUnit,omitempty" xmlrpc:"licenseTermUnit,omitempty"`
601
602	// The number of units (licenseTermUnit) a new license is valid for at the time of registration.
603	LicenseTermValue *int `json:"licenseTermValue,omitempty" xmlrpc:"licenseTermValue,omitempty"`
604
605	// The manufacturer, name and version of a piece of software.
606	LongDescription *string `json:"longDescription,omitempty" xmlrpc:"longDescription,omitempty"`
607
608	// The name of the manufacturer for this specific piece of software.  This name is used by SoftLayer_Software_Component to tailor make (factory) specific types of Software Components that know details like default ports.
609	Manufacturer *string `json:"manufacturer,omitempty" xmlrpc:"manufacturer,omitempty"`
610
611	// The name of this specific piece of software.  This name is used by SoftLayer_Software_Component to tailor make (factory) specific types of Software Components that know details like default ports.
612	Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
613
614	// This is set to '1' if this Software Description describes an Operating System.
615	OperatingSystem *int `json:"operatingSystem,omitempty" xmlrpc:"operatingSystem,omitempty"`
616
617	// A count of the various product items to which this software description is linked.
618	ProductItemCount *uint `json:"productItemCount,omitempty" xmlrpc:"productItemCount,omitempty"`
619
620	// The various product items to which this software description is linked.
621	ProductItems []Product_Item `json:"productItems,omitempty" xmlrpc:"productItems,omitempty"`
622
623	// This details the provisioning transaction group for this software. This is only valid for Operating System software.
624	ProvisionTransactionGroup *Provisioning_Version1_Transaction_Group `json:"provisionTransactionGroup,omitempty" xmlrpc:"provisionTransactionGroup,omitempty"`
625
626	// A reference code is structured as three tokens separated by underscores. The first token represents the product, the second is the version of the product, and the third is whether the software is 32 or 64bit.
627	ReferenceCode *string `json:"referenceCode,omitempty" xmlrpc:"referenceCode,omitempty"`
628
629	// The transaction group that a software description belongs to. A transaction group is a sequence of transactions that must be performed in a specific order for the installation of software.
630	ReloadTransactionGroup *Provisioning_Version1_Transaction_Group `json:"reloadTransactionGroup,omitempty" xmlrpc:"reloadTransactionGroup,omitempty"`
631
632	// The default user created for a given a software description.
633	RequiredUser *string `json:"requiredUser,omitempty" xmlrpc:"requiredUser,omitempty"`
634
635	// A count of software Licenses that govern this Software Description.
636	SoftwareLicenseCount *uint `json:"softwareLicenseCount,omitempty" xmlrpc:"softwareLicenseCount,omitempty"`
637
638	// Software Licenses that govern this Software Description.
639	SoftwareLicenses []Software_License `json:"softwareLicenses,omitempty" xmlrpc:"softwareLicenses,omitempty"`
640
641	// A suggestion for an upgrade path from this Software Description
642	UpgradeSoftwareDescription *Software_Description `json:"upgradeSoftwareDescription,omitempty" xmlrpc:"upgradeSoftwareDescription,omitempty"`
643
644	// Contains the ID of the suggested upgrade from this Software_Description to a more powerful software installation.
645	UpgradeSoftwareDescriptionId *int `json:"upgradeSoftwareDescriptionId,omitempty" xmlrpc:"upgradeSoftwareDescriptionId,omitempty"`
646
647	// A suggestion for an upgrade path from this Software Description (Deprecated - Use upgradeSoftwareDescription)
648	UpgradeSwDesc *Software_Description `json:"upgradeSwDesc,omitempty" xmlrpc:"upgradeSwDesc,omitempty"`
649
650	// Contains the ID of the suggested upgrade from this Software_Description to a more powerful software installation. (Deprecated - Use upgradeSoftwareDescriptionId)
651	UpgradeSwDescId *int `json:"upgradeSwDescId,omitempty" xmlrpc:"upgradeSwDescId,omitempty"`
652
653	// A count of
654	ValidFilesystemTypeCount *uint `json:"validFilesystemTypeCount,omitempty" xmlrpc:"validFilesystemTypeCount,omitempty"`
655
656	// no documentation yet
657	ValidFilesystemTypes []Configuration_Storage_Filesystem_Type `json:"validFilesystemTypes,omitempty" xmlrpc:"validFilesystemTypes,omitempty"`
658
659	// The version of this specific piece of software.
660	Version *string `json:"version,omitempty" xmlrpc:"version,omitempty"`
661
662	// This is set to '1' if this Software Description can be licensed to a Virtual Machine (an IP address).
663	VirtualLicense *int `json:"virtualLicense,omitempty" xmlrpc:"virtualLicense,omitempty"`
664
665	// This is set to '1' if this Software Description a platform for hosting virtual servers.
666	VirtualizationPlatform *int `json:"virtualizationPlatform,omitempty" xmlrpc:"virtualizationPlatform,omitempty"`
667}
668
669// The SoftLayer_Software_Description_Attribute data type represents an attributes associated with this software description.
670type Software_Description_Attribute struct {
671	Entity
672
673	// no documentation yet
674	SoftwareDescription *Software_Description `json:"softwareDescription,omitempty" xmlrpc:"softwareDescription,omitempty"`
675
676	// no documentation yet
677	Type *Software_Description_Attribute_Type `json:"type,omitempty" xmlrpc:"type,omitempty"`
678
679	// The value that was assigned to this attribute.
680	Value *string `json:"value,omitempty" xmlrpc:"value,omitempty"`
681}
682
683// The SoftLayer_Software_Description_Attribute_Type data type represents the type of an attribute.
684type Software_Description_Attribute_Type struct {
685	Entity
686
687	// The keyname for this attribute type.
688	Keyname *string `json:"keyname,omitempty" xmlrpc:"keyname,omitempty"`
689}
690
691// The SoftLayer_Software_Description_Feature data type represents a single software description feature. A feature may show up on more than one software description and can not be created, modified, or removed.
692type Software_Description_Feature struct {
693	Entity
694
695	// The unique identifier for a software description feature.
696	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
697
698	// A unique name used to reference this software description feature.
699	KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"`
700
701	// The name of a software description feature.
702	Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
703
704	// The vendor that a software description feature belongs to.
705	Vendor *string `json:"vendor,omitempty" xmlrpc:"vendor,omitempty"`
706}
707
708// This class represents a software description's required user
709type Software_Description_RequiredUser struct {
710	Entity
711
712	// If the default password is set the user will be created with that password, otherwise a random password is generated.
713	DefaultPassword *string `json:"defaultPassword,omitempty" xmlrpc:"defaultPassword,omitempty"`
714
715	// If this software has a required user (such as "root") this string contains it's name.
716	Username *string `json:"username,omitempty" xmlrpc:"username,omitempty"`
717}
718
719// This class describes a specific type of license, like a Microsoft Windows Site License, a GPL license, or a license of another type.
720type Software_License struct {
721	Entity
722
723	// The account that owns this specific License instance.
724	Account *Account `json:"account,omitempty" xmlrpc:"account,omitempty"`
725
726	// An ID number for this specific License type.
727	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
728
729	// The account that owns this specific License instance.
730	Owner *Account `json:"owner,omitempty" xmlrpc:"owner,omitempty"`
731
732	// A Description of the software that this license instance is valid for.
733	SoftwareDescription *Software_Description `json:"softwareDescription,omitempty" xmlrpc:"softwareDescription,omitempty"`
734
735	// The ID number of a Software Description that this specific license is valid for.
736	SoftwareDescriptionId *int `json:"softwareDescriptionId,omitempty" xmlrpc:"softwareDescriptionId,omitempty"`
737}
738
739// SoftLayer_Software_VirtualLicense is the application class that handles a special type of Software License.  Most software licenses are licensed to a specific hardware ID;  virtual licenses are designed for virtual machines and therefore are assigned to an IP Address.  Not all software packages can be "virtual licensed".
740type Software_VirtualLicense struct {
741	Entity
742
743	// The customer account this Virtual License belongs to.
744	Account *Account `json:"account,omitempty" xmlrpc:"account,omitempty"`
745
746	// The ID of the SoftLayer Account to which this Virtual License belongs to.
747	AccountId *int `json:"accountId,omitempty" xmlrpc:"accountId,omitempty"`
748
749	// The billing item for a software virtual license.
750	BillingItem *Billing_Item `json:"billingItem,omitempty" xmlrpc:"billingItem,omitempty"`
751
752	// The hardware record to which the software virtual license is assigned.
753	HostHardware *Hardware_Server `json:"hostHardware,omitempty" xmlrpc:"hostHardware,omitempty"`
754
755	// The ID of the SoftLayer Hardware Server record to which this Virtual License belongs.
756	HostHardwareId *int `json:"hostHardwareId,omitempty" xmlrpc:"hostHardwareId,omitempty"`
757
758	// An ID number for this Virtual License instance.
759	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
760
761	// The specific IP address this Virtual License belongs to.
762	IpAddress *string `json:"ipAddress,omitempty" xmlrpc:"ipAddress,omitempty"`
763
764	// The IP Address record associated with a virtual license.
765	IpAddressRecord *Network_Subnet_IpAddress `json:"ipAddressRecord,omitempty" xmlrpc:"ipAddressRecord,omitempty"`
766
767	// The License Key for this specific Virtual License.
768	Key *string `json:"key,omitempty" xmlrpc:"key,omitempty"`
769
770	// A "notes" string attached to this specific Virtual License.
771	Notes *string `json:"notes,omitempty" xmlrpc:"notes,omitempty"`
772
773	// The SoftLayer_Software_Description that this virtual license is for.
774	SoftwareDescription *Software_Description `json:"softwareDescription,omitempty" xmlrpc:"softwareDescription,omitempty"`
775
776	// The Software Description ID this Virtual License is for.
777	SoftwareDescriptionId *int `json:"softwareDescriptionId,omitempty" xmlrpc:"softwareDescriptionId,omitempty"`
778
779	// The subnet this Virtual License's IP address belongs to.
780	Subnet *Network_Subnet `json:"subnet,omitempty" xmlrpc:"subnet,omitempty"`
781
782	// The ID of the SoftLayer Network Subnet this Virtual License belongs to.
783	SubnetId *int `json:"subnetId,omitempty" xmlrpc:"subnetId,omitempty"`
784}
785