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// Details provided for the notification are basic.  Details such as the related preferences, name and keyname for the notification can be retrieved.  The keyname property for the notification can be used to refer to a notification when integrating into the SoftLayer Notification system.  The name property can used more for display purposes.
24type Notification struct {
25	Entity
26
27	// Unique identifier for the notification.
28	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
29
30	// Name that can be used by external systems to refer to a notification.
31	KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"`
32
33	// Friendly name for the notification.
34	Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
35
36	// A count of the preferences related to the notification. These are preferences are configurable and optional for subscribers to use.
37	PreferenceCount *uint `json:"preferenceCount,omitempty" xmlrpc:"preferenceCount,omitempty"`
38
39	// The preferences related to the notification. These are preferences are configurable and optional for subscribers to use.
40	Preferences []Notification_Preference `json:"preferences,omitempty" xmlrpc:"preferences,omitempty"`
41
42	// A count of the required preferences related to the notification. While configurable, the subscriber does not have the option whether to use the preference.
43	RequiredPreferenceCount *uint `json:"requiredPreferenceCount,omitempty" xmlrpc:"requiredPreferenceCount,omitempty"`
44
45	// The required preferences related to the notification. While configurable, the subscriber does not have the option whether to use the preference.
46	RequiredPreferences []Notification_Preference `json:"requiredPreferences,omitempty" xmlrpc:"requiredPreferences,omitempty"`
47}
48
49// Provides details for the delivery methods available.
50type Notification_Delivery_Method struct {
51	Entity
52
53	// Determines if the delivery method is still used by the system.
54	Active *int `json:"active,omitempty" xmlrpc:"active,omitempty"`
55
56	// Description used for the delivery method.
57	Description *string `json:"description,omitempty" xmlrpc:"description,omitempty"`
58
59	// Unique identifier for the various notification delivery methods.
60	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
61
62	// Name that can be used by external systems to refer to delivery method.
63	KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"`
64
65	// Friendly name used for the delivery method.
66	Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
67}
68
69// This is an extension of the SoftLayer_Notification class.  These are implementation details specific to those notifications which can be subscribed to and received on a mobile device.
70type Notification_Mobile struct {
71	Notification
72}
73
74// no documentation yet
75type Notification_Occurrence_Account struct {
76	Entity
77
78	// no documentation yet
79	Account *Account `json:"account,omitempty" xmlrpc:"account,omitempty"`
80
81	// no documentation yet
82	Active *int `json:"active,omitempty" xmlrpc:"active,omitempty"`
83
84	// no documentation yet
85	LastNotificationUpdate *Notification_Occurrence_Update `json:"lastNotificationUpdate,omitempty" xmlrpc:"lastNotificationUpdate,omitempty"`
86
87	// no documentation yet
88	NotificationOccurrenceEvent *Notification_Occurrence_Event `json:"notificationOccurrenceEvent,omitempty" xmlrpc:"notificationOccurrenceEvent,omitempty"`
89}
90
91// no documentation yet
92type Notification_Occurrence_Event struct {
93	Entity
94
95	// Indicates whether or not this event has been acknowledged by the user.
96	AcknowledgedFlag *bool `json:"acknowledgedFlag,omitempty" xmlrpc:"acknowledgedFlag,omitempty"`
97
98	// A count of a collection of attachments for this event which provide supplementary information to impacted users some examples are RFO (Reason For Outage) and root cause analysis documents.
99	AttachmentCount *uint `json:"attachmentCount,omitempty" xmlrpc:"attachmentCount,omitempty"`
100
101	// A collection of attachments for this event which provide supplementary information to impacted users some examples are RFO (Reason For Outage) and root cause analysis documents.
102	Attachments []Notification_Occurrence_Event_Attachment `json:"attachments,omitempty" xmlrpc:"attachments,omitempty"`
103
104	// When this event will end.
105	EndDate *Time `json:"endDate,omitempty" xmlrpc:"endDate,omitempty"`
106
107	// The first update for this event.
108	FirstUpdate *Notification_Occurrence_Update `json:"firstUpdate,omitempty" xmlrpc:"firstUpdate,omitempty"`
109
110	// Unique identifier for this event.
111	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
112
113	// A count of a collection of accounts impacted by this event. Each impacted account record relates directly to a [[SoftLayer_Account]].
114	ImpactedAccountCount *uint `json:"impactedAccountCount,omitempty" xmlrpc:"impactedAccountCount,omitempty"`
115
116	// A collection of accounts impacted by this event. Each impacted account record relates directly to a [[SoftLayer_Account]].
117	ImpactedAccounts []Notification_Occurrence_Account `json:"impactedAccounts,omitempty" xmlrpc:"impactedAccounts,omitempty"`
118
119	// A count of a collection of resources impacted by this event. Each record will relate to some physical resource that the user has access to such as [[SoftLayer_Hardware]] or [[SoftLayer_Virtual_Guest]].
120	ImpactedResourceCount *uint `json:"impactedResourceCount,omitempty" xmlrpc:"impactedResourceCount,omitempty"`
121
122	// A collection of resources impacted by this event. Each record will relate to some physical resource that the user has access to such as [[SoftLayer_Hardware]] or [[SoftLayer_Virtual_Guest]].
123	ImpactedResources []Notification_Occurrence_Resource `json:"impactedResources,omitempty" xmlrpc:"impactedResources,omitempty"`
124
125	// A count of a collection of users impacted by this event. Each impacted user record relates directly to a [[SoftLayer_User_Customer]].
126	ImpactedUserCount *uint `json:"impactedUserCount,omitempty" xmlrpc:"impactedUserCount,omitempty"`
127
128	// A collection of users impacted by this event. Each impacted user record relates directly to a [[SoftLayer_User_Customer]].
129	ImpactedUsers []Notification_Occurrence_User `json:"impactedUsers,omitempty" xmlrpc:"impactedUsers,omitempty"`
130
131	// Latest count of users impacted by this event.
132	LastImpactedUserCount *int `json:"lastImpactedUserCount,omitempty" xmlrpc:"lastImpactedUserCount,omitempty"`
133
134	// The last update for this event.
135	LastUpdate *Notification_Occurrence_Update `json:"lastUpdate,omitempty" xmlrpc:"lastUpdate,omitempty"`
136
137	// When this event was last updated.
138	ModifyDate *Time `json:"modifyDate,omitempty" xmlrpc:"modifyDate,omitempty"`
139
140	// The type of event such as planned or unplanned maintenance.
141	NotificationOccurrenceEventType *Notification_Occurrence_Event_Type `json:"notificationOccurrenceEventType,omitempty" xmlrpc:"notificationOccurrenceEventType,omitempty"`
142
143	// no documentation yet
144	RecoveryTime *int `json:"recoveryTime,omitempty" xmlrpc:"recoveryTime,omitempty"`
145
146	// When this event started.
147	StartDate *Time `json:"startDate,omitempty" xmlrpc:"startDate,omitempty"`
148
149	// no documentation yet
150	StatusCode *Notification_Occurrence_Status_Code `json:"statusCode,omitempty" xmlrpc:"statusCode,omitempty"`
151
152	// Brief description of this event.
153	Subject *string `json:"subject,omitempty" xmlrpc:"subject,omitempty"`
154
155	// Details of this event.
156	Summary *string `json:"summary,omitempty" xmlrpc:"summary,omitempty"`
157
158	// Unique identifier for the [[SoftLayer_Ticket]] associated with this event.
159	SystemTicketId *int `json:"systemTicketId,omitempty" xmlrpc:"systemTicketId,omitempty"`
160
161	// A count of all updates for this event.
162	UpdateCount *uint `json:"updateCount,omitempty" xmlrpc:"updateCount,omitempty"`
163
164	// All updates for this event.
165	Updates []Notification_Occurrence_Update `json:"updates,omitempty" xmlrpc:"updates,omitempty"`
166}
167
168// SoftLayer events can have have files attached to them by a SoftLayer employee. Attaching a file to a event is a way to provide supplementary information such as a RFO (reason for outage) document or root cause analysis. The SoftLayer_Notification_Occurrence_Event_Attachment data type models a single file attached to a event.
169type Notification_Occurrence_Event_Attachment struct {
170	Entity
171
172	// The date the file was attached to the event.
173	CreateDate *Time `json:"createDate,omitempty" xmlrpc:"createDate,omitempty"`
174
175	// The name of the file attached to the event.
176	FileName *string `json:"fileName,omitempty" xmlrpc:"fileName,omitempty"`
177
178	// The size of the file, measured in bytes.
179	FileSize *string `json:"fileSize,omitempty" xmlrpc:"fileSize,omitempty"`
180
181	// A event attachments' unique identifier.
182	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
183
184	// no documentation yet
185	NotificationOccurrenceEvent *Notification_Occurrence_Event `json:"notificationOccurrenceEvent,omitempty" xmlrpc:"notificationOccurrenceEvent,omitempty"`
186
187	// The unique event identifier that the file is attached to.
188	NotificationOccurrenceEventId *int `json:"notificationOccurrenceEventId,omitempty" xmlrpc:"notificationOccurrenceEventId,omitempty"`
189}
190
191// This represents the type of SoftLayer_Notification_Occurrence_Event.
192type Notification_Occurrence_Event_Type struct {
193	Entity
194
195	// The friendly unique identifier for this event type.
196	KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"`
197}
198
199// This type contains general information relating to any hardware or services that may be impacted by a SoftLayer_Notification_Occurrence_Event.
200type Notification_Occurrence_Resource struct {
201	Entity
202
203	// no documentation yet
204	Active *int `json:"active,omitempty" xmlrpc:"active,omitempty"`
205
206	// <<< EOT A label which gives some background as to what piece of
207	FilterLabel *string `json:"filterLabel,omitempty" xmlrpc:"filterLabel,omitempty"`
208
209	// The associated event.
210	NotificationOccurrenceEvent *Notification_Occurrence_Event `json:"notificationOccurrenceEvent,omitempty" xmlrpc:"notificationOccurrenceEvent,omitempty"`
211
212	// <<< EOT The unique identifier for the associated
213	NotificationOccurrenceEventId *int `json:"notificationOccurrenceEventId,omitempty" xmlrpc:"notificationOccurrenceEventId,omitempty"`
214
215	// The physical resource.
216	Resource *Entity `json:"resource,omitempty" xmlrpc:"resource,omitempty"`
217
218	// <<< EOT The unique identifier for the [[SoftLayer_Account]] associated with
219	ResourceAccountId *int `json:"resourceAccountId,omitempty" xmlrpc:"resourceAccountId,omitempty"`
220
221	// no documentation yet
222	ResourceName *string `json:"resourceName,omitempty" xmlrpc:"resourceName,omitempty"`
223
224	// <<< EOT The unique identifier for the physical resource that is associated
225	ResourceTableId *int `json:"resourceTableId,omitempty" xmlrpc:"resourceTableId,omitempty"`
226}
227
228// This type contains general information related to a [[SoftLayer_Hardware]] resource that is impacted by a [[SoftLayer_Notification_Occurrence_Event]].
229type Notification_Occurrence_Resource_Hardware struct {
230	Notification_Occurrence_Resource
231
232	// no documentation yet
233	Hostname *string `json:"hostname,omitempty" xmlrpc:"hostname,omitempty"`
234
235	// no documentation yet
236	PrivateIp *string `json:"privateIp,omitempty" xmlrpc:"privateIp,omitempty"`
237
238	// no documentation yet
239	PublicIp *string `json:"publicIp,omitempty" xmlrpc:"publicIp,omitempty"`
240
241	// no documentation yet
242	ResourceType *string `json:"resourceType,omitempty" xmlrpc:"resourceType,omitempty"`
243}
244
245// This type contains general information related to a [[SoftLayer_Network_Application_Delivery_Controller]] resource that is impacted by a [[SoftLayer_Notification_Occurrence_Event]].
246type Notification_Occurrence_Resource_Network_Application_Delivery_Controller struct {
247	Notification_Occurrence_Resource
248
249	// no documentation yet
250	Hostname *string `json:"hostname,omitempty" xmlrpc:"hostname,omitempty"`
251
252	// no documentation yet
253	PrivateIp *string `json:"privateIp,omitempty" xmlrpc:"privateIp,omitempty"`
254
255	// no documentation yet
256	PublicIp *string `json:"publicIp,omitempty" xmlrpc:"publicIp,omitempty"`
257
258	// no documentation yet
259	ResourceType *string `json:"resourceType,omitempty" xmlrpc:"resourceType,omitempty"`
260}
261
262// This type contains general information related to a [[SoftLayer_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress]] resource that is impacted by a [[SoftLayer_Notification_Occurrence_Event]].
263type Notification_Occurrence_Resource_Network_Application_Delivery_Controller_LoadBalancer_VirtualIpAddress struct {
264	Notification_Occurrence_Resource
265
266	// no documentation yet
267	Hostname *string `json:"hostname,omitempty" xmlrpc:"hostname,omitempty"`
268
269	// no documentation yet
270	PublicIp *string `json:"publicIp,omitempty" xmlrpc:"publicIp,omitempty"`
271
272	// no documentation yet
273	ResourceType *string `json:"resourceType,omitempty" xmlrpc:"resourceType,omitempty"`
274}
275
276// This type contains general information related to a [[SoftLayer_Network_Storage_Iscsi_EqualLogic]] resource that is impacted by a [[SoftLayer_Notification_Occurrence_Event]].
277type Notification_Occurrence_Resource_Network_Storage_Iscsi_EqualLogic struct {
278	Notification_Occurrence_Resource
279
280	// no documentation yet
281	Hostname *string `json:"hostname,omitempty" xmlrpc:"hostname,omitempty"`
282
283	// no documentation yet
284	PrivateIp *string `json:"privateIp,omitempty" xmlrpc:"privateIp,omitempty"`
285
286	// no documentation yet
287	ResourceType *string `json:"resourceType,omitempty" xmlrpc:"resourceType,omitempty"`
288}
289
290// This type contains general information related to a [[SoftLayer_Network_Storage_Iscsi_NetApp]] resource that is impacted by a [[SoftLayer_Notification_Occurrence_Event]].
291type Notification_Occurrence_Resource_Network_Storage_Iscsi_NetApp struct {
292	Notification_Occurrence_Resource
293
294	// no documentation yet
295	Hostname *string `json:"hostname,omitempty" xmlrpc:"hostname,omitempty"`
296
297	// no documentation yet
298	PrivateIp *string `json:"privateIp,omitempty" xmlrpc:"privateIp,omitempty"`
299
300	// no documentation yet
301	ResourceType *string `json:"resourceType,omitempty" xmlrpc:"resourceType,omitempty"`
302}
303
304// This type contains general information related to a [[SoftLayer_Network_Storage_Lockbox]] resource that is impacted by a [[SoftLayer_Notification_Occurrence_Event]].
305type Notification_Occurrence_Resource_Network_Storage_Lockbox struct {
306	Notification_Occurrence_Resource
307
308	// no documentation yet
309	Hostname *string `json:"hostname,omitempty" xmlrpc:"hostname,omitempty"`
310
311	// no documentation yet
312	PrivateIp *string `json:"privateIp,omitempty" xmlrpc:"privateIp,omitempty"`
313
314	// no documentation yet
315	ResourceType *string `json:"resourceType,omitempty" xmlrpc:"resourceType,omitempty"`
316}
317
318// This type contains general information related to a [[SoftLayer_Network_Storage_Nas]] resource that is impacted by a [[SoftLayer_Notification_Occurrence_Event]].
319type Notification_Occurrence_Resource_Network_Storage_Nas struct {
320	Notification_Occurrence_Resource
321
322	// no documentation yet
323	Hostname *string `json:"hostname,omitempty" xmlrpc:"hostname,omitempty"`
324
325	// no documentation yet
326	PrivateIp *string `json:"privateIp,omitempty" xmlrpc:"privateIp,omitempty"`
327
328	// no documentation yet
329	ResourceType *string `json:"resourceType,omitempty" xmlrpc:"resourceType,omitempty"`
330}
331
332// This type contains general information related to a [[SoftLayer_Network_Storage_NetApp_Volume]] resource that is impacted by a [[SoftLayer_Notification_Occurrence_Event]].
333type Notification_Occurrence_Resource_Network_Storage_NetApp_Volume struct {
334	Notification_Occurrence_Resource
335
336	// no documentation yet
337	Hostname *string `json:"hostname,omitempty" xmlrpc:"hostname,omitempty"`
338
339	// no documentation yet
340	PrivateIp *string `json:"privateIp,omitempty" xmlrpc:"privateIp,omitempty"`
341
342	// no documentation yet
343	ResourceType *string `json:"resourceType,omitempty" xmlrpc:"resourceType,omitempty"`
344}
345
346// This type contains general information related to a [[SoftLayer_Network_Storage_NetApp_Volume_Replicant_Iscsi]] resource that is impacted by a [[SoftLayer_Notification_Occurrence_Event]].
347type Notification_Occurrence_Resource_Network_Storage_NetApp_Volume_Replicant_Iscsi struct {
348	Notification_Occurrence_Resource
349
350	// no documentation yet
351	Hostname *string `json:"hostname,omitempty" xmlrpc:"hostname,omitempty"`
352
353	// no documentation yet
354	PrivateIp *string `json:"privateIp,omitempty" xmlrpc:"privateIp,omitempty"`
355
356	// no documentation yet
357	ResourceType *string `json:"resourceType,omitempty" xmlrpc:"resourceType,omitempty"`
358}
359
360// This type contains general information related to a [[SoftLayer_Network_Storage_NetApp_Volume_Replicant_Nas]] resource that is impacted by a [[SoftLayer_Notification_Occurrence_Event]].
361type Notification_Occurrence_Resource_Network_Storage_NetApp_Volume_Replicant_Nas struct {
362	Notification_Occurrence_Resource
363
364	// no documentation yet
365	Hostname *string `json:"hostname,omitempty" xmlrpc:"hostname,omitempty"`
366
367	// no documentation yet
368	PrivateIp *string `json:"privateIp,omitempty" xmlrpc:"privateIp,omitempty"`
369
370	// no documentation yet
371	ResourceType *string `json:"resourceType,omitempty" xmlrpc:"resourceType,omitempty"`
372}
373
374// This type contains general information related to a [[SoftLayer_Virtual_Guest]] resource that is impacted by a [[SoftLayer_Notification_Occurrence_Event]].
375type Notification_Occurrence_Resource_Virtual struct {
376	Notification_Occurrence_Resource
377
378	// no documentation yet
379	Hostname *string `json:"hostname,omitempty" xmlrpc:"hostname,omitempty"`
380
381	// no documentation yet
382	PrivateIp *string `json:"privateIp,omitempty" xmlrpc:"privateIp,omitempty"`
383
384	// no documentation yet
385	PublicIp *string `json:"publicIp,omitempty" xmlrpc:"publicIp,omitempty"`
386
387	// no documentation yet
388	ResourceType *string `json:"resourceType,omitempty" xmlrpc:"resourceType,omitempty"`
389}
390
391// no documentation yet
392type Notification_Occurrence_Status_Code struct {
393	Entity
394
395	// no documentation yet
396	Description *string `json:"description,omitempty" xmlrpc:"description,omitempty"`
397
398	// no documentation yet
399	KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"`
400
401	// no documentation yet
402	Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
403}
404
405// no documentation yet
406type Notification_Occurrence_Update struct {
407	Entity
408
409	// no documentation yet
410	Contents *string `json:"contents,omitempty" xmlrpc:"contents,omitempty"`
411
412	// no documentation yet
413	CreateDate *Time `json:"createDate,omitempty" xmlrpc:"createDate,omitempty"`
414
415	// no documentation yet
416	Employee *User_Employee `json:"employee,omitempty" xmlrpc:"employee,omitempty"`
417
418	// no documentation yet
419	EndDate *Time `json:"endDate,omitempty" xmlrpc:"endDate,omitempty"`
420
421	// no documentation yet
422	NotificationOccurrenceEvent *Notification_Occurrence_Event `json:"notificationOccurrenceEvent,omitempty" xmlrpc:"notificationOccurrenceEvent,omitempty"`
423
424	// no documentation yet
425	StartDate *Time `json:"startDate,omitempty" xmlrpc:"startDate,omitempty"`
426}
427
428// This type contains general information relating to a user that may be impacted by a [[SoftLayer_Notification_Occurrence_Event]].
429type Notification_Occurrence_User struct {
430	Entity
431
432	// no documentation yet
433	AcknowledgedFlag *int `json:"acknowledgedFlag,omitempty" xmlrpc:"acknowledgedFlag,omitempty"`
434
435	// no documentation yet
436	Active *int `json:"active,omitempty" xmlrpc:"active,omitempty"`
437
438	// no documentation yet
439	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
440
441	// A count of a collection of resources impacted by the associated event.
442	ImpactedResourceCount *uint `json:"impactedResourceCount,omitempty" xmlrpc:"impactedResourceCount,omitempty"`
443
444	// A collection of resources impacted by the associated event.
445	ImpactedResources []Notification_Occurrence_Resource `json:"impactedResources,omitempty" xmlrpc:"impactedResources,omitempty"`
446
447	// The associated event.
448	NotificationOccurrenceEvent *Notification_Occurrence_Event `json:"notificationOccurrenceEvent,omitempty" xmlrpc:"notificationOccurrenceEvent,omitempty"`
449
450	// The impacted user.
451	User *User_Customer `json:"user,omitempty" xmlrpc:"user,omitempty"`
452
453	// no documentation yet
454	UsrRecordId *int `json:"usrRecordId,omitempty" xmlrpc:"usrRecordId,omitempty"`
455}
456
457// Retrieve details for preferences.  Preferences are used to allow the subscriber to modify their subscription in various ways.  Details such as friendly name, keyname maximum and minimum values can be retrieved.  These provide details to help configure subscriber preferences correctly.
458type Notification_Preference struct {
459	Entity
460
461	// A description of what the preference is used for.
462	Description *string `json:"description,omitempty" xmlrpc:"description,omitempty"`
463
464	// Unique identifier for the notification preference.
465	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
466
467	// Name that can be used by external systems to refer to preference.
468	KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"`
469
470	// Largest value allowed for the preference.
471	MaximumValue *string `json:"maximumValue,omitempty" xmlrpc:"maximumValue,omitempty"`
472
473	// Smallest value allowed for the preference.
474	MinimumValue *string `json:"minimumValue,omitempty" xmlrpc:"minimumValue,omitempty"`
475
476	// Friendly name for the notification.
477	Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
478
479	// The unit of measure used for the preference's value, minimum and maximum as well.
480	Units *string `json:"units,omitempty" xmlrpc:"units,omitempty"`
481
482	// Default value used when setting up preferences for a new subscriber.
483	Value *string `json:"value,omitempty" xmlrpc:"value,omitempty"`
484}
485
486// no documentation yet
487type Notification_Subscriber struct {
488	Entity
489
490	// no documentation yet
491	Active *int `json:"active,omitempty" xmlrpc:"active,omitempty"`
492
493	// no documentation yet
494	CreateDate *Time `json:"createDate,omitempty" xmlrpc:"createDate,omitempty"`
495
496	// A count of
497	DeliveryMethodCount *uint `json:"deliveryMethodCount,omitempty" xmlrpc:"deliveryMethodCount,omitempty"`
498
499	// no documentation yet
500	DeliveryMethods []Notification_Subscriber_Delivery_Method `json:"deliveryMethods,omitempty" xmlrpc:"deliveryMethods,omitempty"`
501
502	// no documentation yet
503	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
504
505	// no documentation yet
506	ModifyDate *Time `json:"modifyDate,omitempty" xmlrpc:"modifyDate,omitempty"`
507
508	// no documentation yet
509	Notification *Notification `json:"notification,omitempty" xmlrpc:"notification,omitempty"`
510
511	// no documentation yet
512	NotificationId *int `json:"notificationId,omitempty" xmlrpc:"notificationId,omitempty"`
513
514	// no documentation yet
515	NotificationSubscriberTypeId *int `json:"notificationSubscriberTypeId,omitempty" xmlrpc:"notificationSubscriberTypeId,omitempty"`
516
517	// no documentation yet
518	NotificationSubscriberTypeResourceId *int `json:"notificationSubscriberTypeResourceId,omitempty" xmlrpc:"notificationSubscriberTypeResourceId,omitempty"`
519}
520
521// no documentation yet
522type Notification_Subscriber_Customer struct {
523	Notification_Subscriber
524
525	// no documentation yet
526	SubscriberRecord *User_Customer `json:"subscriberRecord,omitempty" xmlrpc:"subscriberRecord,omitempty"`
527}
528
529// Provides details for the subscriber's delivery methods.
530type Notification_Subscriber_Delivery_Method struct {
531	Entity
532
533	// Indicates the subscriber's delivery method availability for notifications.
534	Active *int `json:"active,omitempty" xmlrpc:"active,omitempty"`
535
536	// Date the subscriber's delivery method was created.
537	CreateDate *Time `json:"createDate,omitempty" xmlrpc:"createDate,omitempty"`
538
539	// Date the subscriber's delivery method was last modified.
540	ModifyDate *Time `json:"modifyDate,omitempty" xmlrpc:"modifyDate,omitempty"`
541
542	// no documentation yet
543	NotificationDeliveryMethod *Notification_Delivery_Method `json:"notificationDeliveryMethod,omitempty" xmlrpc:"notificationDeliveryMethod,omitempty"`
544
545	// Identifier for the notification delivery method.
546	NotificationDeliveryMethodId *int `json:"notificationDeliveryMethodId,omitempty" xmlrpc:"notificationDeliveryMethodId,omitempty"`
547
548	// no documentation yet
549	NotificationSubscriber *Notification_Subscriber `json:"notificationSubscriber,omitempty" xmlrpc:"notificationSubscriber,omitempty"`
550
551	// Identifier for the subscriber.
552	NotificationSubscriberId *int `json:"notificationSubscriberId,omitempty" xmlrpc:"notificationSubscriberId,omitempty"`
553}
554
555// A notification subscriber will have details pertaining to the subscriber's notification subscription.  You can receive details such as preferences, details of the preferences, delivery methods and the delivery methods for the subscriber.
556//
557// NOTE: There are preferences and delivery methods that cannot be modified.  Also, there are some subscriptions that are required.
558type Notification_User_Subscriber struct {
559	Entity
560
561	// The current status of the subscription.
562	Active *int `json:"active,omitempty" xmlrpc:"active,omitempty"`
563
564	// A count of the delivery methods used to send the subscribed notification.
565	DeliveryMethodCount *uint `json:"deliveryMethodCount,omitempty" xmlrpc:"deliveryMethodCount,omitempty"`
566
567	// The delivery methods used to send the subscribed notification.
568	DeliveryMethods []Notification_Delivery_Method `json:"deliveryMethods,omitempty" xmlrpc:"deliveryMethods,omitempty"`
569
570	// Unique identifier of the subscriber that will receive the alerts.
571	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
572
573	// Notification subscribed to.
574	Notification *Notification `json:"notification,omitempty" xmlrpc:"notification,omitempty"`
575
576	// Unique identifier of the notification subscribed to.
577	NotificationId *int `json:"notificationId,omitempty" xmlrpc:"notificationId,omitempty"`
578
579	// A count of associated subscriber preferences used for the notification subscription. For example, preferences include number of deliveries (limit) and threshold.
580	PreferenceCount *uint `json:"preferenceCount,omitempty" xmlrpc:"preferenceCount,omitempty"`
581
582	// Associated subscriber preferences used for the notification subscription. For example, preferences include number of deliveries (limit) and threshold.
583	Preferences []Notification_User_Subscriber_Preference `json:"preferences,omitempty" xmlrpc:"preferences,omitempty"`
584
585	// A count of preference details such as description, minimum and maximum limits, default value and unit of measure.
586	PreferencesDetailCount *uint `json:"preferencesDetailCount,omitempty" xmlrpc:"preferencesDetailCount,omitempty"`
587
588	// Preference details such as description, minimum and maximum limits, default value and unit of measure.
589	PreferencesDetails []Notification_Preference `json:"preferencesDetails,omitempty" xmlrpc:"preferencesDetails,omitempty"`
590
591	// The subscriber id to resource id mapping.
592	ResourceRecord *Notification_User_Subscriber_Resource `json:"resourceRecord,omitempty" xmlrpc:"resourceRecord,omitempty"`
593
594	// User record for the subscription.
595	UserRecord *User_Customer `json:"userRecord,omitempty" xmlrpc:"userRecord,omitempty"`
596
597	// Unique identifier of the user the subscription is for.
598	UserRecordId *int `json:"userRecordId,omitempty" xmlrpc:"userRecordId,omitempty"`
599}
600
601// A notification subscriber will have details pertaining to the subscriber's notification subscription.  You can receive details such as preferences, details of the preferences, delivery methods and the delivery methods for the subscriber.
602//
603// NOTE: There are preferences and delivery methods that cannot be modified.  Also, there are some subscriptions that are required.
604type Notification_User_Subscriber_Billing struct {
605	Notification_User_Subscriber
606}
607
608// Provides mapping details of how the subscriber's notification will be delivered.  This maps the subscriber's id with all the delivery method ids used to delivery the notification.
609type Notification_User_Subscriber_Delivery_Method struct {
610	Entity
611
612	// Determines if the delivery method is active for the user.
613	Active *int `json:"active,omitempty" xmlrpc:"active,omitempty"`
614
615	// Provides details for the method used to deliver the notification (email, sms, ticket).
616	DeliveryMethod *Notification_Delivery_Method `json:"deliveryMethod,omitempty" xmlrpc:"deliveryMethod,omitempty"`
617
618	// Unique identifier of the method used to deliver notification.
619	NotificationMethodId *int `json:"notificationMethodId,omitempty" xmlrpc:"notificationMethodId,omitempty"`
620
621	// The Subscriber information tied to the delivery method.
622	NotificationUserSubscriber *Notification_User_Subscriber `json:"notificationUserSubscriber,omitempty" xmlrpc:"notificationUserSubscriber,omitempty"`
623
624	// Unique identifier of the subscriber tied to the delivery method.
625	NotificationUserSubscriberId *int `json:"notificationUserSubscriberId,omitempty" xmlrpc:"notificationUserSubscriberId,omitempty"`
626}
627
628// A notification subscriber will have details pertaining to the subscriber's notification subscription.  You can receive details such as preferences, details of the preferences, delivery methods and the delivery methods for the subscriber.
629//
630// NOTE: There are preferences and delivery methods that cannot be modified.  Also, there are some subscriptions that are required.
631type Notification_User_Subscriber_Mobile struct {
632	Notification_User_Subscriber
633}
634
635// Preferences are settings that can be modified to change the behavior of the subscription.  For example, modify the limit preference to only receive notifications 10 times instead of 1 during a billing cycle.
636//
637// NOTE: Some preferences have certain restrictions on values that can be set.
638type Notification_User_Subscriber_Preference struct {
639	Entity
640
641	// Details such name, keyname, minimum and maximum values for the preference.
642	DefaultPreference *Notification_Preference `json:"defaultPreference,omitempty" xmlrpc:"defaultPreference,omitempty"`
643
644	// Unique identifier for the subscriber's preferences.
645	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
646
647	// Unique identifier of the default preference for which the subscriber preference is based on.  For example, if no preferences are supplied during the creation of a subscriber.  The default values are pulled using this property.
648	NotificationPreferenceId *int `json:"notificationPreferenceId,omitempty" xmlrpc:"notificationPreferenceId,omitempty"`
649
650	// Details of the subscriber tied to the preference.
651	NotificationUserSubscriber *Notification_User_Subscriber `json:"notificationUserSubscriber,omitempty" xmlrpc:"notificationUserSubscriber,omitempty"`
652
653	// Unique identifier of the subscriber tied to the subscriber preference.
654	NotificationUserSubscriberId *int `json:"notificationUserSubscriberId,omitempty" xmlrpc:"notificationUserSubscriberId,omitempty"`
655
656	// The user supplied value to "override" the "default" preference's value.
657	Value *string `json:"value,omitempty" xmlrpc:"value,omitempty"`
658}
659
660// Retrieve identifier cross-reference information.  SoftLayer_Notification_User_Subscriber_Resource provides the resource table id and subscriber id relation. The resource table id is the id of the service the subscriber receives alerts for.  This resource table id could be the unique identifier for a Storage Evault service, Global Load Balancer or CDN service.
661type Notification_User_Subscriber_Resource struct {
662	Entity
663
664	// The Subscriber information tied to the resource service.
665	NotificationUserSubscriber *Notification_User_Subscriber `json:"notificationUserSubscriber,omitempty" xmlrpc:"notificationUserSubscriber,omitempty"`
666
667	// Unique identifier of the subscriber that will receive the alerts for the resource subscribed to a notification.
668	NotificationUserSubscriberId *int `json:"notificationUserSubscriberId,omitempty" xmlrpc:"notificationUserSubscriberId,omitempty"`
669
670	// Unique identifier for a SoftLayer service that is subscribed to a notification.  Currently, the SoftLayer services that can be subscribed to notifications are:
671	//
672	// Storage EVault CDN Global Load Balancer
673	//
674	//
675	ResourceTableId *int `json:"resourceTableId,omitempty" xmlrpc:"resourceTableId,omitempty"`
676}
677