forked from softlayer/softlayer.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.xml
718 lines (605 loc) · 55.1 KB
/
index.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>SoftLayer API on SoftLayer API </title>
<link>https://softlayer.github.io/</link>
<language>en-US</language>
<author>Enthusiastic Hugo User</author>
<rights>Copyright (c) 2014, Enthusiastic Hugo User; all rights reserved.</rights>
<updated>Fri, 20 Jul 2018 00:00:00 UTC</updated>
<item>
<title>Release notes: July 20, 2018</title>
<link>https://softlayer.github.io/release_notes/2018/20180720/</link>
<pubDate>Fri, 20 Jul 2018 00:00:00 UTC</pubDate>
<author>Enthusiastic Hugo User</author>
<guid>https://softlayer.github.io/release_notes/2018/20180720/</guid>
<description>
<h4 id="portal">Portal</h4>
<ul>
<li>Fixed numerical format for a variety of currencies.</li>
<li>Fix an issue that would&rsquo;ve incorrectly determined a promotion as not meeting location requirements for certain configurations.</li>
<li>Fixes a bug that allowed users to select an irrelevant datacenter when ordering CDN. The datacenter selection did not break the order, it was just ignored. This fix clears up possible confusion.</li>
</ul>
<h4 id="api">API</h4>
<ul>
<li>Relaxed validation rules for the country state field on account creation which was erroneously made more restrictive in a recent release.</li>
<li>Added validation for boot mode and supported boot mode attributes when editing image templates.</li>
<li>Updated HVM guest check to include customer-supplied HVM images with the boot mode set.</li>
<li>Adding a new API method to allow customers to enable/disable IPMI. SoftLayer_Hardware_Server:: toggleManagementInterface()</li>
</ul>
<h4 id="backend">Backend</h4>
<ul>
<li>Added new status for MDMS Requests, &lsquo;DEVICE_ASSIGNED&rsquo;, and modified functionality for transitioning of a request from device assigned to prepping device.</li>
<li>Improved boot mode logging for virtual disk import.</li>
<li>Remove time-between last upgrade/downgrade validation check for File/Block storage</li>
</ul>
</description>
</item>
<item>
<title>Release notes: July 7, 2018</title>
<link>https://softlayer.github.io/release_notes/2018/20180713/</link>
<pubDate>Fri, 13 Jul 2018 00:00:00 UTC</pubDate>
<author>Enthusiastic Hugo User</author>
<guid>https://softlayer.github.io/release_notes/2018/20180713/</guid>
<description>
<h4 id="portal">Portal</h4>
<ul>
<li>Update ReCAPTCHA to version 2</li>
<li>Added functionality for legacy, non-email formatted IBMids to be persisted during account creation.</li>
<li>Customer created tickets that have managed hardware should route to the managed services queue.</li>
<li>Improve order form load time for uncached packages</li>
<li>Fix issue where states for countries that are not US or Canada were failing on SSL certificate orders.</li>
<li>Data centers should now be shown for bare metal servers in all portals</li>
<li>Multiple usability updates for order forms</li>
</ul>
<h4 id="api">API</h4>
<ul>
<li>Fixed a bug that was causing customer power strip power cycle API calls to fail.</li>
<li>Fixing a bug where the firewall validator was not checking for existing firewalls on hardware servers correctly.</li>
<li>This affects the APIs allowAccessFromHost and allowAccessFromHostList for Block volumes. While these two API have been returning SoftLayer_Network_Storage_Allowed_Host[], the &ldquo;assignedVolumes&rdquo; element ( type SoftLayer_Network_Storage_Iscsi_NetApp) did not contain an updated lunId. (The lunId can now be updated internally whenever there is a clash with another volume&rsquo;s lunId)</li>
<li>Provided SLDN Documentation for SoftLayer_Virtual_Disk_Image::getAvailableBootModes()</li>
<li>Move Vyatta, Brocade, and ATT Software Descriptions out from GPL class path.</li>
<li>Restrict customers from accessing terminated account licenses.</li>
<li>When the parent user does not have HARDWARE_VIEW permission, the child users should NOT be able to access to the hardware. So does the DH, and VSI.</li>
</ul>
<h4 id="backend">Backend</h4>
<ul>
<li>Add support for M.2 SATA drives.</li>
<li>Corrected phone assignment during BluePages lookup</li>
<li>Added validation for boot mode and supported boot modes when set by createFromExternalSource</li>
</ul>
</description>
</item>
<item>
<title>Release notes: July 6, 2018</title>
<link>https://softlayer.github.io/release_notes/2018/20180706/</link>
<pubDate>Fri, 06 Jul 2018 00:00:00 UTC</pubDate>
<author>Enthusiastic Hugo User</author>
<guid>https://softlayer.github.io/release_notes/2018/20180706/</guid>
<description>
<h4 id="portal">Portal</h4>
<ul>
<li>Validation of EncryptedToken fails if the impersonating user is an brand agent</li>
<li>Remove invalid datacenters from fixed config bare metal order form</li>
<li>Allow non-empty COS Buckets to be placed for MDMS orders.</li>
</ul>
<h4 id="api">API</h4>
<ul>
<li>Duplicate firewall rules should not allowed to be added</li>
<li>A new property has been added to SoftLayer_Virtual_Disk_Image, isEncrypted. This value returns if the disk on the image is encrypted.</li>
</ul>
<h4 id="backend">Backend</h4>
<ul>
<li>Fix the load balancer deletion failure which keeps the load balancer in delete_pending state after billing item gets cancelled.</li>
<li>Resolve issue where older OS addon software was added to an OS reload with newer OS addons.</li>
<li>Increase timeout value for running Network_Gateway_Configure transaction</li>
<li>Modify HSM Provision Workflow to try to automatically assign a server</li>
</ul>
</description>
</item>
<item>
<title>Release notes: June 29, 2018</title>
<link>https://softlayer.github.io/release_notes/2018/20180629/</link>
<pubDate>Fri, 29 Jun 2018 00:00:00 UTC</pubDate>
<author>Enthusiastic Hugo User</author>
<guid>https://softlayer.github.io/release_notes/2018/20180629/</guid>
<description>
<h4 id="portal">Portal</h4>
<ul>
<li>Allow Master User to clear security questions for users on account.</li>
<li>Fix issue when ordering SSL certs for non-US organizational addresses that had a state</li>
<li>Updates to dedicated vsi and dedicated hosts order forms for encryption</li>
<li>Fixed an issue where a customer cannot delete the CDN service Billing Item from Customer Portal</li>
</ul>
<h4 id="api">API</h4>
<ul>
<li>The Permission/Resource change event log type should only show for the customer with the GENERATE_PERMISSION_REPORTS set.</li>
<li>Exposes the setupFeeDeferralMonths property for the SoftLayer_Billing_Invoice_Item service.</li>
<li>This release adds the class SoftLayer_Software_Description_Plesk to enable the new Plesk manufacturer</li>
<li>Updating mechanism for checking for platform services brand on account brand creation</li>
<li>Reverted defaulting simple ordering to suspend for hourly SAN. For now the only way for a customer to order suspend will be by using the placeOrder API and specifying the suspend packageId in the payload.</li>
<li>The current documentation for SoftLayer_Billing_Item::cancelItem (<a href="https://softlayer.github.io/reference/services/SoftLayer_Billing_Item/cancelItem/">https://softlayer.github.io/reference/services/SoftLayer_Billing_Item/cancelItem/</a>) describes that by default the function will cancel the item immediately, while actually cancelImmediately parameter is set to false by default. This release fixes the documentation for that method.</li>
</ul>
<h4 id="backend">Backend</h4>
<ul>
<li>Fixed dedicated host scheduling issues which were allowing dedicate host orders in locations without sufficient capacity.</li>
<li>Once a subnet is authorized access to a storage volume, IP addresses included in that subnet will not need to be authorized again. When an IP address is authorized to access to a storage volume, the subnet that IP address belongs to cannot be authorized to access the volume unless the IP address host is revoked or each IP address is added individually.</li>
<li>Enable ordering of dedicated hosts with GPUs.</li>
<li>Evault Password enhancements.</li>
<li>Enables ordering dedicated host instances with GPUs.</li>
<li>When modifying the size or performance of a File or Block storage hosted on fast hardware, the new IOPS/GB ratio must be greater than or equal to 0.301. Similarly, when modifying storage hosted on lower performance hardware the new IOPS/GB ratio must be less than 0.301. The previous boundary was 0.300 which could not be satisfied for resizes on clusters that only have fast hardware.
These pages should be updated to match:
<a href="https://console.bluemix.net/docs/infrastructure/FileStorage/adjustable-iops.html#adjustable-iops">https://console.bluemix.net/docs/infrastructure/FileStorage/adjustable-iops.html#adjustable-iops</a>
<a href="https://console.bluemix.net/docs/infrastructure/BlockStorage/adjustable-iops.html#adjustable-iops">https://console.bluemix.net/docs/infrastructure/BlockStorage/adjustable-iops.html#adjustable-iops</a></li>
<li>Enables ordering dedicated host instances from an encrypted image template</li>
<li>This release will prevent customers from receiving old monitors notifications associated with a new customer&rsquo;s server.</li>
<li>Relax the restriction that all IBMid/SoftLayer User links with a given username (destinationUserAlphanumericId) must have the same ibmIdUniqueIdentifier.</li>
</ul>
</description>
</item>
<item>
<title>Release notes: June 21, 2018</title>
<link>https://softlayer.github.io/release_notes/2018/20180621/</link>
<pubDate>Thu, 21 Jun 2018 00:00:00 UTC</pubDate>
<author>Enthusiastic Hugo User</author>
<guid>https://softlayer.github.io/release_notes/2018/20180621/</guid>
<description>
<h4 id="portal">Portal</h4>
<ul>
<li>Evault Performance enhancements.</li>
<li>Evault Password enhancements.</li>
</ul>
<h4 id="api">API</h4>
<ul>
<li>Blocked deactivated templates from being pushed to cache.</li>
</ul>
<h4 id="backend">Backend</h4>
<ul>
<li>Have account disable/enable cascade to users</li>
<li>Corrects Australia/West time zone to be correct GMT offset.</li>
<li>Fix missing paren pair in cloud init attribute validation</li>
<li>Fixes an issue that caused some Bring Your Own License orders to go to Pending Finance Approval.</li>
</ul>
</description>
</item>
<item>
<title>Release notes: June 14, 2018</title>
<link>https://softlayer.github.io/release_notes/2018/20180614/</link>
<pubDate>Thu, 14 Jun 2018 00:00:00 UTC</pubDate>
<author>Enthusiastic Hugo User</author>
<guid>https://softlayer.github.io/release_notes/2018/20180614/</guid>
<description>
<h4 id="portal">Portal</h4>
<ul>
<li>Missing pending transaction details information during volume modification process. This change will allow customers to see the status of their ordered volume modification in portal</li>
<li>Improve order forms speed</li>
<li>Direct Link - Backend Edit related changes for control portal</li>
<li>Add localization of currencies and countries to order page currency selector.</li>
</ul>
<h4 id="api">API</h4>
<ul>
<li>Modify SoftLayer_Event_Log::getAllEventNames to return events names without brand references</li>
<li>Added pciDevices and pciDeviceAllocationStatus fields to the DedicatedHost object. These fields are mirrors of the underlying host.</li>
<li>Added max size to user data container description.</li>
<li>Add the account trait check on the necessary PPTP API calls</li>
</ul>
<h4 id="backend">Backend</h4>
<ul>
<li>Fixed an issue where reloads with a guest that has supported boot mode / boot mode attributes do not reload with specified boot mode</li>
<li>Ensures cloud init attribute creation checks are only run when there is a primary block device to check against.</li>
</ul>
</description>
</item>
<item>
<title>Release notes: June 8, 2018</title>
<link>https://softlayer.github.io/release_notes/2018/20180608/</link>
<pubDate>Fri, 08 Jun 2018 00:00:00 UTC</pubDate>
<author>Enthusiastic Hugo User</author>
<guid>https://softlayer.github.io/release_notes/2018/20180608/</guid>
<description>
<h4 id="portal">Portal</h4>
<ul>
<li>Fixed an issue when placing orders with a state of &ldquo;other&rdquo;</li>
<li>Fixing a bug where selecting None for multiselect options would not update the summary total on the order form.</li>
<li>Loading conflicts out of band on order forms &amp; move WWW order form assets to CDN</li>
</ul>
<h4 id="api">API</h4>
<ul>
<li>Improve getActiveTransactionStatus performance</li>
<li>Fix issues with some storage group validation edge cases</li>
</ul>
</description>
</item>
<item>
<title>Release notes: May 31, 2018</title>
<link>https://softlayer.github.io/release_notes/2018/20180531/</link>
<pubDate>Thu, 31 May 2018 00:00:00 UTC</pubDate>
<author>Enthusiastic Hugo User</author>
<guid>https://softlayer.github.io/release_notes/2018/20180531/</guid>
<description>
<h4 id="portal">Portal</h4>
<ul>
<li>Fixed an issue where the device list wouldn&rsquo;t display any devices.</li>
<li>Correct Customer Add User form when state is &lsquo;Other&rsquo;</li>
<li>Updated display logic to not show null userData values without blocking other attributes that are null</li>
</ul>
<h4 id="api">API</h4>
<ul>
<li>longName field is now required when creating brands in the API</li>
<li>Added validation for keyId in &lsquo;removeApiAuthenticationKey&rsquo; method</li>
<li>Enables customers to upgrade or downgrade the number of GPUs on a virtual guest.</li>
</ul>
<h4 id="backend">Backend</h4>
<ul>
<li>Changed HSM password generator to not use vowels and to use Gemalto provided special characters for HSM passwords.</li>
</ul>
</description>
</item>
<item>
<title>Release notes: May 24, 2018</title>
<link>https://softlayer.github.io/release_notes/2018/20180524/</link>
<pubDate>Thu, 24 May 2018 00:00:00 UTC</pubDate>
<author>Enthusiastic Hugo User</author>
<guid>https://softlayer.github.io/release_notes/2018/20180524/</guid>
<description>
<h4 id="portal">Portal</h4>
<ul>
<li>Fixed an issue when a user with TOTP has a successful login after fewer than 10 failed attempts, the previous failed attempts are not cleared.</li>
<li>Customers were unable to create EU only tickets. This change fixes the filter to pull EU data centers.</li>
<li>Adds a checkbox to the WWW order form on the save quote dialog that allows the user to accept the GDPR terms and conditions. This check box must be checked to place a quote. Also adds a link the quote email that allows the user to withdraw their acceptance of the GDPR terms.</li>
</ul>
<h4 id="api">API</h4>
<ul>
<li>Fix issue where some PaaS service plan features were not represented with billing items.</li>
<li>Fixed an issue preventing parent users from editing VPN only sub users device access.</li>
<li>Improved error message when an invalid parameter type is provided to the bulk add/remove portal permissions methods.</li>
<li><a href="https://softlayer.github.io/reference/services/SoftLayer_Virtual_Guest_Block_Device_Template_Group/findGcImagesByCurrentUser/">SoftLayer_Virtual_Guest_Block_Device_Template_Group::findGcImagesByCurrentUser(string[] dataCenters)</a> to return collection of template group for a specific account Id and optionally specify and filter list of data center short names (e.g. &lsquo;che01&rsquo;, &lsquo;mex01&rsquo;).</li>
<li>Added default boot mode from sw description to <a href="https://softlayer.github.io/reference/services/SoftLayer_Virtual_Guest_Block_Device_Template_Group/getBootMode/">getBootMode</a>.</li>
<li>New event log type: PERMISSION_CHANGE.</li>
</ul>
<h4 id="backend">Backend</h4>
<ul>
<li>Prevents reclaims from throwing an exception when a nessus scan file cannot be found.</li>
<li>Better handling for failed upgrades &amp; notifications.</li>
<li>Added boot mode attributes to template when creating a new template from guest.</li>
<li>Eliminating 24 hour wait period during subnet cancellation</li>
<li>Improved performance of Network Ping Monitoring Notifications</li>
<li>Fixed an issue where mid-month cancellation causes empty invoices</li>
<li>Resolves a bug which prevented Block and File volumes to be authorized to the same host under certain circumstances, and allows IQN to be edited if only File volumes or no volumes are authorized to the host</li>
<li>Allow specification of supported boot mode on image import.</li>
<li>Enabling Security Groups in FRA05 Datacenter.</li>
</ul>
</description>
</item>
<item>
<title>Event Logs</title>
<link>https://softlayer.github.io/python/event_log/</link>
<pubDate>Fri, 18 May 2018 00:00:00 UTC</pubDate>
<author>Enthusiastic Hugo User</author>
<guid>https://softlayer.github.io/python/event_log/</guid>
<description><p>This example deals with a few ways of pulling data from <code>SoftLayer_Event_Log</code>. There can ben quite a few Logs here, so I recommend using a filter like in the <code>recentLogs</code> function to limit how far back you search for Events, otherwise you will be paging through Events for a long time.</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-python" data-lang="python"><span style="color:#e6db74"></span><span style="color:#e6db74">&#34;&#34;&#34;
</span><span style="color:#e6db74">@author Christopher Gallo
</span><span style="color:#e6db74">&#34;&#34;&#34;</span>
<span style="color:#f92672">import</span> datetime
<span style="color:#f92672">import</span> SoftLayer
<span style="color:#66d9ef">class</span> <span style="color:#a6e22e">example</span>():
<span style="color:#66d9ef">def</span> __init__(self):
self<span style="color:#f92672">.</span>client <span style="color:#f92672">=</span> SoftLayer<span style="color:#f92672">.</span>Client()
debugger <span style="color:#f92672">=</span> SoftLayer<span style="color:#f92672">.</span>DebugTransport(self<span style="color:#f92672">.</span>client<span style="color:#f92672">.</span>transport)
self<span style="color:#f92672">.</span>client<span style="color:#f92672">.</span>transport <span style="color:#f92672">=</span> debugger
<span style="color:#66d9ef">def</span> <span style="color:#a6e22e">recentLogs</span>(self):
<span style="color:#e6db74"></span><span style="color:#e6db74">&#34;&#34;&#34;REST API CALL
</span><span style="color:#e6db74"> &#39;https://api.softlayer.com/rest/v3.1/SoftLayer_Event_Log/getAllObjects.json?
</span><span style="color:#e6db74"> resultLimit=0,50&amp;
</span><span style="color:#e6db74"> objectFilter={&#34;eventCreateDate&#34;:{&#34;operation&#34;:&#34;greaterThanDate&#34;,&#34;options&#34;:[{&#34;name&#34;:&#34;date&#34;,&#34;value&#34;:[&#34;2018-04-18T00:00:00.0000-06:00&#34;]}]}}&#39;
</span><span style="color:#e6db74"> &#34;&#34;&#34;</span>
_filter <span style="color:#f92672">=</span> {
<span style="color:#e6db74"></span><span style="color:#e6db74">&#39;eventCreateDate&#39;</span>: {
<span style="color:#e6db74"></span><span style="color:#e6db74">&#39;operation&#39;</span>: <span style="color:#e6db74"></span><span style="color:#e6db74">&#39;greaterThanDate&#39;</span>,
<span style="color:#e6db74"></span><span style="color:#e6db74">&#39;options&#39;</span>: [
{<span style="color:#e6db74"></span><span style="color:#e6db74">&#39;name&#39;</span>: <span style="color:#e6db74"></span><span style="color:#e6db74">&#39;date&#39;</span>, <span style="color:#e6db74"></span><span style="color:#e6db74">&#39;value&#39;</span>: [getDateString(<span style="color:#ae81ff">30</span>)]}
]
}
}
<span style="color:#66d9ef">for</span> event <span style="color:#f92672">in</span> self<span style="color:#f92672">.</span>getAllObjects(_filter):
printLogs(event)
<span style="color:#66d9ef">def</span> <span style="color:#a6e22e">systemLogs</span>(self):
<span style="color:#e6db74"></span><span style="color:#e6db74">&#34;&#34;&#34;REST API CALL
</span><span style="color:#e6db74"> &#39;https://api.softlayer.com/rest/v3.1/SoftLayer_Event_Log/getAllObjects.json?
</span><span style="color:#e6db74"> resultLimit=0,50&amp;
</span><span style="color:#e6db74"> objectFilter={&#34;userType&#34;:{&#34;operation&#34;:&#34;SYSTEM&#34;}}&#39;
</span><span style="color:#e6db74"> &#34;&#34;&#34;</span>
_filter <span style="color:#f92672">=</span> {<span style="color:#e6db74"></span><span style="color:#e6db74">&#39;userType&#39;</span>: {<span style="color:#e6db74"></span><span style="color:#e6db74">&#39;operation&#39;</span>: <span style="color:#e6db74"></span><span style="color:#e6db74">&#39;SYSTEM&#39;</span>}}
<span style="color:#66d9ef">for</span> event <span style="color:#f92672">in</span> self<span style="color:#f92672">.</span>getAllObjects(_filter):
printLogs(event)
<span style="color:#66d9ef">def</span> <span style="color:#a6e22e">loginLogs</span>(self):
<span style="color:#e6db74"></span><span style="color:#e6db74">&#34;&#34;&#34;REST API CALL
</span><span style="color:#e6db74"> https://api.softlayer.com/rest/v3.1/SoftLayer_Event_Log/getAllObjects.json?
</span><span style="color:#e6db74"> resultLimit=0,50&amp;
</span><span style="color:#e6db74"> objectFilter={&#34;eventName&#34;:{&#34;operation&#34;:&#34;^= Login&#34;}}&#39;
</span><span style="color:#e6db74"> &#34;&#34;&#34;</span>
_filter <span style="color:#f92672">=</span> {
<span style="color:#e6db74"></span><span style="color:#e6db74">&#39;eventName&#39;</span>: {
<span style="color:#e6db74"></span><span style="color:#e6db74">&#39;operation&#39;</span>: <span style="color:#e6db74"></span><span style="color:#e6db74">&#39;^= Login&#39;</span>
}
}
<span style="color:#66d9ef">for</span> event <span style="color:#f92672">in</span> self<span style="color:#f92672">.</span>getAllObjects(_filter):
printLogs(event)
<span style="color:#66d9ef">def</span> <span style="color:#a6e22e">allLogs</span>(self):
<span style="color:#e6db74"></span><span style="color:#e6db74">&#34;&#34;&#34;REST API CALL
</span><span style="color:#e6db74"> &#39;https://api.softlayer.com/rest/v3.1/SoftLayer_Event_Log/getAllObjects.json?resultLimit=0,50&#39;
</span><span style="color:#e6db74"> &#34;&#34;&#34;</span>
<span style="color:#66d9ef">for</span> event <span style="color:#f92672">in</span> self<span style="color:#f92672">.</span>getAllObjects(None):
printLogs(event)
<span style="color:#66d9ef">def</span> <span style="color:#a6e22e">getAllObjects</span>(self, _filter, limit<span style="color:#f92672">=</span><span style="color:#ae81ff">50</span>, offset<span style="color:#f92672">=</span><span style="color:#ae81ff">0</span>):
<span style="color:#e6db74"></span><span style="color:#e6db74">&#34;&#34;&#34;Pages through all results from the Event_Log. This might take long time.&#34;&#34;&#34;</span>
notDone <span style="color:#f92672">=</span> True
<span style="color:#66d9ef">while</span> notDone:
events <span style="color:#f92672">=</span> self<span style="color:#f92672">.</span>client<span style="color:#f92672">.</span>call(<span style="color:#e6db74"></span><span style="color:#e6db74">&#39;SoftLayer_Event_Log&#39;</span>, <span style="color:#e6db74"></span><span style="color:#e6db74">&#39;getAllObjects&#39;</span>, filter<span style="color:#f92672">=</span>_filter, limit<span style="color:#f92672">=</span>limit, offset<span style="color:#f92672">=</span>offset)
<span style="color:#66d9ef">print</span>(<span style="color:#e6db74"></span><span style="color:#e6db74">&#34;</span><span style="color:#e6db74">%s</span><span style="color:#e6db74"> from getAllObjects, offset = </span><span style="color:#e6db74">%s</span><span style="color:#e6db74">&#34;</span> <span style="color:#f92672">%</span> (len(events), offset))
<span style="color:#66d9ef">for</span> event <span style="color:#f92672">in</span> events:
<span style="color:#66d9ef">yield</span> event
<span style="color:#66d9ef">if</span> len(events) <span style="color:#f92672">&lt;</span> limit:
notDone <span style="color:#f92672">=</span> False
offset <span style="color:#f92672">=</span> offset <span style="color:#f92672">+</span> limit
notDone <span style="color:#f92672">=</span> False
<span style="color:#66d9ef">def</span> <span style="color:#a6e22e">debug</span>(self):
<span style="color:#66d9ef">for</span> call <span style="color:#f92672">in</span> self<span style="color:#f92672">.</span>client<span style="color:#f92672">.</span>transport<span style="color:#f92672">.</span>get_last_calls():
<span style="color:#66d9ef">print</span>(self<span style="color:#f92672">.</span>client<span style="color:#f92672">.</span>transport<span style="color:#f92672">.</span>print_reproduceable(call))
<span style="color:#66d9ef">def</span> <span style="color:#a6e22e">getDateString</span>(self, delta<span style="color:#f92672">=</span><span style="color:#ae81ff">30</span>):
date_object <span style="color:#f92672">=</span> datetime<span style="color:#f92672">.</span>date<span style="color:#f92672">.</span>today() <span style="color:#f92672">-</span> datetime<span style="color:#f92672">.</span>timedelta(days<span style="color:#f92672">=</span>delta)
<span style="color:#66d9ef">return</span> date_object<span style="color:#f92672">.</span>strftime(<span style="color:#e6db74"></span><span style="color:#e6db74">&#34;%Y-%m-</span><span style="color:#e6db74">%d</span><span style="color:#e6db74">T00:00:00.0000-06:00&#34;</span>)
<span style="color:#66d9ef">def</span> <span style="color:#a6e22e">printLogs</span>(log):
<span style="color:#66d9ef">print</span>(<span style="color:#e6db74"></span><span style="color:#e6db74">&#34;</span><span style="color:#e6db74">%s</span><span style="color:#e6db74"> - </span><span style="color:#e6db74">%s</span><span style="color:#e6db74"> - </span><span style="color:#e6db74">%s</span><span style="color:#e6db74">&#34;</span> <span style="color:#f92672">%</span> (log[<span style="color:#e6db74"></span><span style="color:#e6db74">&#39;eventName&#39;</span>],log[<span style="color:#e6db74"></span><span style="color:#e6db74">&#39;eventCreateDate&#39;</span>], log[<span style="color:#e6db74"></span><span style="color:#e6db74">&#39;userType&#39;</span>]))
<span style="color:#66d9ef">if</span> __name__ <span style="color:#f92672">==</span> <span style="color:#e6db74"></span><span style="color:#e6db74">&#34;__main__&#34;</span>:
main <span style="color:#f92672">=</span> example()
main<span style="color:#f92672">.</span>allLogs()
main<span style="color:#f92672">.</span>debug()</code></pre></div></description>
</item>
<item>
<title>Release notes: May 16, 2018</title>
<link>https://softlayer.github.io/release_notes/2018/20180517/</link>
<pubDate>Wed, 16 May 2018 00:00:00 UTC</pubDate>
<author>Enthusiastic Hugo User</author>
<guid>https://softlayer.github.io/release_notes/2018/20180517/</guid>
<description>
<h4 id="portal">Portal</h4>
<ul>
<li>Add Virtuozzo transaction provisioning and reload groups and icon.</li>
<li>This changes a link in the footer of the Www Store pages</li>
<li>This issue removes Google Tag Manager and Adobe Target from the SoftLayer Www template</li>
</ul>
<h4 id="api">API</h4>
<ul>
<li>Fixes a bug that causes the euCompliantFlag on SoftLayer_Location to always return false.</li>
<li>Direct Link - Fix the error message to indicate problem clearly when edit fails</li>
<li>Direct Link - Increase Vendor Circuit and Vendor Name length from 30 to 40.</li>
<li>Fixed <code>addBulkVirtualGuestAccess</code> and <code>removeAllVirtualAccessForThisUser</code>.</li>
</ul>
<h4 id="backend">Backend</h4>
<ul>
<li>Fixes an issue where hourly storage upgrades were erroneously charging an additional one time fee.</li>
<li>Fix canadian province name encoding issues</li>
<li>Modified workflow definition to do ASSIGN_HOST_RECOVERY automated when a guest can&rsquo;t be allocated on a host.</li>
<li>Fixed VSIs failing from &ldquo;Unable to determine the uplink router for network component:&rdquo; error</li>
<li>Email subscription system is not send emails to customers when not opted out</li>
<li>Fix issue where upgrade processing was delayed due to issues handling the upgrade invoice.</li>
<li>Jumbo frames enabled for GPU Host</li>
</ul>
</description>
</item>
<item>
<title>Release notes: May 10, 2018</title>
<link>https://softlayer.github.io/release_notes/2018/20180510/</link>
<pubDate>Thu, 10 May 2018 00:00:00 UTC</pubDate>
<author>Enthusiastic Hugo User</author>
<guid>https://softlayer.github.io/release_notes/2018/20180510/</guid>
<description>
<h4 id="portal">Portal</h4>
<ul>
<li>Stopped creating surveys related to Bluemix assets in the SoftLayer portal</li>
</ul>
<h4 id="api">API</h4>
<ul>
<li>The IQN of a host can no longer be changed when that host has assigned storage volumes. This is to ensure consistency within the system</li>
<li>Making new storage authentication error messages viewable</li>
<li></li>
</ul>
<h4 id="backend">Backend</h4>
<ul>
<li>Change how &ldquo;reset Master user IBMid link&rdquo; treats the user from whom the IBMid is &ldquo;stolen&rdquo; in a linked account pair.</li>
<li>Show the correct linkSpeed for Dedicated and Dedicated Hosting tenants correctly</li>
<li>Fixed bug where only the first VSI guest was added to the outage ticket instead of all VSI guests associated with that host and account.</li>
<li>Modify Account License Infrastructure to handle Netapp OnTap Select.</li>
<li>Copy userData when doing a chassis transfer</li>
<li>Fixed an issue preventing VSIs from being properly reclaimed.</li>
</ul>
</description>
</item>
<item>
<title>Release notes: April 26, 2018</title>
<link>https://softlayer.github.io/release_notes/2018/20180426/</link>
<pubDate>Thu, 26 Apr 2018 00:00:00 UTC</pubDate>
<author>Enthusiastic Hugo User</author>
<guid>https://softlayer.github.io/release_notes/2018/20180426/</guid>
<description>
<h4 id="portal">Portal</h4>
<ul>
<li>Add boot mode to order forms when provisioning a public vsi.</li>
<li>Adds order form validation for the VLAN and SSH Key selection for just HSM.</li>
<li>Remove the &ldquo;Save As Quote&rdquo; option from the order forms when the order has products that are not currently quotable.</li>
<li>Foreign language usability updates to WWW order forms</li>
</ul>
<h4 id="api">API</h4>
<ul>
<li>Fixed the bug where the following services are returning tickets to which the current user doesn&rsquo;t have access. This change only affect child users without the &ldquo;Ticket View All&rdquo; permission.
<ul>
<li>SoftLayer_Account::getTicketsClosedToday</li>
<li>SoftLayer_Account::getTicketsClosedInTheLastThreeDays</li>
<li>SoftLayer_Account::getLastFiveClosedTickets</li>
<li>SoftLayer_Account::getLastFiveClosedAbuseTickets</li>
<li>SoftLayer_Account::getOpenAbuseTickets</li>
<li>SoftLayer_Account::getClosedAbuseTicketCount</li>
<li>SoftLayer_Account::getRecentAbuseTicketsOpen</li>
<li>SoftLayer_Account::getRecentAbuseTicketsClosed</li>
<li>SoftLayer_Account::getLastFiveClosedAccountingTickets</li>
<li>SoftLayer_Account::getOpenAccountingTickets</li>
<li>SoftLayer_Account::getOpenBillingTickets</li>
<li>SoftLayer_Account::getLastFiveClosedSalesTickets</li>
<li>SoftLayer_Account::getOpenSalesTickets</li>
<li>SoftLayer_Account::getLastFiveClosedSupportTickets</li>
<li>SoftLayer_Account::getOpenSupportTickets</li>
<li>SoftLayer_Account::getLastFiveClosedOtherTickets</li>
<li>SoftLayer_Account::getOpenOtherTickets</li>
</ul></li>
<li>Adding in missing and fixing incorrect validation for Mass Data Migration orders. Fixing bug where billing item was showing $0 for MDMS orders.</li>
<li>Several improvements to LUN ID logic:
<ol>
<li>Improved error message when trying to change a LUN ID; e.g. &ldquo;SoftLayerAPIError(SoftLayer_Exception_Network_Storage_Iscsi_UnableToChangeLunId): Unable to change LUN Id: active authorizations must be removed first: SoftLayer_Virtual_Guest/50202410&rdquo;</li>
<li>When there is a LUN ID conflict and the LUN being authorized has no prior authorizations, then we try to change the LUN ID automatically and retry the authorization.</li>
<li>Improved error message when a LUN ID conflict cannot be automatically resolved; e.g. &ldquo;SoftLayerAPIError(SoftLayer_Exception_Network_Storage_Group_AccessControlError_LunMappingConflict): Failed to authorize initiator SoftLayer_Virtual_Guest/50202410 to SoftLayer_Network_Storage/39624490 (lunId=0) because initiator is authorized to another LUN with same ID: SoftLayer_Network_Storage/39624486 (lunId=0)&rdquo;</li>
</ol></li>
<li>Modified the SoftLayer_Network_Storage::getTargetIpAddresses endpoint function, which is utilized by the ORM key callback for the iscsiTargetIpAddresses ORM key, so that it returns an empty array. This change should affect all non-iSCSI (non-block) storage volumes. When this function is called for non-iSCSI volumes, it will now return an empty array instead of throwing an error. No changes are expected for iSCSI (block) volumes, since the function overrides for getTargetIpAddresses as defined in the iSCSI-related sub-classes were not modified.
(Note: A bug relating to calling getTargetIpAddresses on File Replicant volumes was also resolved. The override of getTargetIpAddresses was moved out of SoftLayer_Network_Storage_NetApp_Volume_Replicant and into SoftLayer_Network_Storage_NetApp_Volume_Replicant_Iscsi to accomplish this fix.)</li>
<li>Added <a href="https://softlayer.github.io/reference/services/SoftLayer_Virtual_Guest/setTransientWebhook">SoftLayer_Virtual_Guest::setTransientWebhook</a></li>
<li>Added <a href="https://softlayer.github.io/reference/services/SoftLayer_Virtual_Guest/deleteTransientWebhook">SoftLayer_Virtual_Guest::deleteTransientWebhook</a></li>
<li>Add Customer Permission for viewing software passwords</li>
<li>Increase the size of the key_name column of software account license to be able to handle license file content as well.</li>
<li>Fixed toggle method reference in SoftLayer_Account_Network_Vlan_Span documentation</li>
<li>Update description for SoftLayer_Hardware userData</li>
</ul>
<h4 id="backend">Backend</h4>
<ul>
<li>Changed Netscaler VSI naming convention to avoid naming conflicts</li>
<li>Prevents disabled VSI network components from being attached to security groups</li>
<li>Improves ensuing that at order placement, hardware security modules are available in the location specified.</li>
<li>Defaults Ubuntu 16+ to HVM boot mode</li>
<li>Enabling security groups in FRA04</li>
<li>Add IBM Cloud Monitoring Service support for bare metal servers.</li>
<li>Only Transient guest that have both a URI and a Secret will attempt to send a webhook and give the customer 2 minutes before reclaiming.</li>
<li>Transient guests now have a 2 minute delay before reclaiming</li>
<li>Optimized HSM provisions.</li>
<li>Fixed software component maximum size for manufacturer license and activation code.</li>
<li>Enables provisioning of an HA Gateway Appliance with No OS</li>
<li>Enables provisioning of an HA Gateway Appliance with Ubuntu OS</li>
<li>Fixed an issue where apllying security groups in the following case would fail
<ul>
<li>Security Group A has a IPv6 rule that remotes Security Group B</li>
<li>Security Group B has member network components that do not have a IPv6 address</li>
</ul></li>
</ul>
</description>
</item>
<item>
<title>CancelVlan.java</title>
<link>https://softlayer.github.io/java/CancelVlan.java/</link>
<pubDate>Wed, 25 Apr 2018 00:00:00 UTC</pubDate>
<author>Enthusiastic Hugo User</author>
<guid>https://softlayer.github.io/java/CancelVlan.java/</guid>
<description><div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><span style="color:#f92672">package</span> <span style="color:#a6e22e">api</span>.<span style="color:#a6e22e">examples</span>;
<span style="color:#f92672">import</span> <span style="color:#a6e22e">com</span>.<span style="color:#a6e22e">google</span>.<span style="color:#a6e22e">gson</span>.<span style="color:#a6e22e">Gson</span>;
<span style="color:#f92672">import</span> <span style="color:#a6e22e">com</span>.<span style="color:#a6e22e">softlayer</span>.<span style="color:#a6e22e">api</span>.<span style="color:#a6e22e">ApiClient</span>;
<span style="color:#f92672">import</span> <span style="color:#a6e22e">com</span>.<span style="color:#a6e22e">softlayer</span>.<span style="color:#a6e22e">api</span>.<span style="color:#a6e22e">RestApiClient</span>;
<span style="color:#f92672">import</span> <span style="color:#a6e22e">com</span>.<span style="color:#a6e22e">softlayer</span>.<span style="color:#a6e22e">api</span>.<span style="color:#a6e22e">service</span>.<span style="color:#a6e22e">network</span>.<span style="color:#a6e22e">Vlan</span>;
<span style="color:#f92672">import</span> <span style="color:#a6e22e">com</span>.<span style="color:#a6e22e">softlayer</span>.<span style="color:#a6e22e">api</span>.<span style="color:#a6e22e">service</span>.<span style="color:#a6e22e">billing</span>.<span style="color:#a6e22e">Item</span>;
<span style="color:#a6e22e">public</span> <span style="color:#a6e22e">class</span> <span style="color:#a6e22e">CancelVlan</span> {
<span style="color:#75715e">// Example to cancel a VLAN
</span><span style="color:#75715e"></span> <span style="color:#75715e">// The script will get the Billing_Item id of the VLAN service
</span><span style="color:#75715e"></span> <span style="color:#75715e">// then it will cancel the VLAN service
</span><span style="color:#75715e"></span> <span style="color:#75715e">// reference pages
</span><span style="color:#75715e"></span> <span style="color:#75715e">// http://sldn.softlayer.com/reference/services/SoftLayer_Network_Vlan
</span><span style="color:#75715e"></span> <span style="color:#75715e">// http://sldn.softlayer.com/reference/services/SoftLayer_Network_Vlan/getObject
</span><span style="color:#75715e"></span> <span style="color:#75715e">// http://sldn.softlayer.com/reference/services/SoftLayer_Billing_Item
</span><span style="color:#75715e"></span> <span style="color:#75715e">// http://sldn.softlayer.com/reference/services/SoftLayer_Billing_Item/cancelService
</span><span style="color:#75715e"></span> <span style="color:#a6e22e">public</span> <span style="color:#a6e22e">static</span> <span style="color:#a6e22e">void</span> <span style="color:#a6e22e">main</span>(<span style="color:#a6e22e">String</span>[] <span style="color:#a6e22e">args</span>) {
<span style="color:#75715e">// Your SoftLayer API username and key.
</span><span style="color:#75715e"></span> <span style="color:#75715e">// Generate one at
</span><span style="color:#75715e"></span> <span style="color:#75715e">// https://manage.softlayer.com/Administrative/apiKeychain
</span><span style="color:#75715e"></span> <span style="color:#a6e22e">String</span> <span style="color:#a6e22e">user</span> = <span style="color:#e6db74">&#34;&#34;</span>;
<span style="color:#a6e22e">String</span> <span style="color:#a6e22e">apikey</span> = <span style="color:#e6db74">&#34;apikey_goes_here&#34;</span>;
<span style="color:#75715e">// the VLAN id you wish to cancel
</span><span style="color:#75715e"></span> <span style="color:#a6e22e">Long</span> <span style="color:#a6e22e">vlanId</span> = <span style="color:#a6e22e">new</span> <span style="color:#a6e22e">Long</span>(<span style="color:#ae81ff">557984</span>);
<span style="color:#75715e">// Declare the API client
</span><span style="color:#75715e"></span> <span style="color:#a6e22e">ApiClient</span> <span style="color:#a6e22e">client</span> = <span style="color:#a6e22e">new</span> <span style="color:#a6e22e">RestApiClient</span>().<span style="color:#a6e22e">withCredentials</span>(<span style="color:#a6e22e">user</span>, <span style="color:#a6e22e">apikey</span>);
<span style="color:#a6e22e">Vlan</span>.<span style="color:#a6e22e">Service</span> <span style="color:#a6e22e">vlanService</span> = <span style="color:#a6e22e">Vlan</span>.<span style="color:#a6e22e">service</span>(<span style="color:#a6e22e">client</span>, <span style="color:#a6e22e">vlanId</span>);
<span style="color:#a6e22e">vlanService</span>.<span style="color:#a6e22e">setMask</span>(<span style="color:#e6db74">&#34;mask[billingItem]&#34;</span>);
<span style="color:#75715e">// Send the request to get the subnets
</span><span style="color:#75715e"></span> <span style="color:#a6e22e">try</span> {
<span style="color:#a6e22e">Gson</span> <span style="color:#a6e22e">gson</span> = <span style="color:#a6e22e">new</span> <span style="color:#a6e22e">Gson</span>();
<span style="color:#a6e22e">Vlan</span> <span style="color:#a6e22e">vlan</span> = <span style="color:#a6e22e">vlanService</span>.<span style="color:#a6e22e">getObject</span>();
<span style="color:#a6e22e">Item</span>.<span style="color:#a6e22e">Service</span> <span style="color:#a6e22e">itemService</span> = <span style="color:#a6e22e">Item</span>.<span style="color:#a6e22e">service</span>(<span style="color:#a6e22e">client</span>, <span style="color:#a6e22e">vlan</span>
.<span style="color:#a6e22e">getBillingItem</span>().<span style="color:#a6e22e">getId</span>());
<span style="color:#a6e22e">itemService</span>.<span style="color:#a6e22e">cancelService</span>();
} <span style="color:#a6e22e">catch</span> (<span style="color:#a6e22e">Exception</span> <span style="color:#a6e22e">e</span>) {
<span style="color:#a6e22e">System</span>.<span style="color:#a6e22e">out</span>.println(<span style="color:#e6db74">&#34;Unable to cancel service. &#34;</span> <span style="color:#f92672">+</span> <span style="color:#a6e22e">e</span>.<span style="color:#a6e22e">getMessage</span>());
}
}
}</pre></div></description>
</item>
<item>
<title>CreatePdf.cs</title>
<link>https://softlayer.github.io/csharp/CreatePdf.cs/</link>
<pubDate>Wed, 25 Apr 2018 00:00:00 UTC</pubDate>
<author>Enthusiastic Hugo User</author>
<guid>https://softlayer.github.io/csharp/CreatePdf.cs/</guid>
<description><div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4">//-----------------------------------------------------------------------
// &lt;copyright file=&#34;CreatePdf.cs&#34; company=&#34;Softlayer&#34;&gt;
// SoftLayer Technologies, Inc.
// &lt;/copyright&gt;
// &lt;license&gt;
// http://sldn.softlayer.com/article/License
// &lt;/license&gt;
//-----------------------------------------------------------------------
namespace Quotes
{
using System;
using System.IO;
using System.Collections.Generic;
class CreatePdf
{
/// &lt;summary&gt;
/// Create Pdf
/// This script creates a PDF record of a SoftLayer quoted order.
/// The Pdf is stored in the path specified in &#34;path&#34; string
/// See below for more details.
/// &lt;/summary&gt;
/// &lt;manualPages&gt;
/// http://sldn.softlayer.com/reference/services/SoftLayer_Billing_Order_Quote/getPdf
/// &lt;/manualPages&gt;
static void Main(string[] args)
{
// Your SoftLayer username
string username = &#34;&#34;;
// Your SoftLayer apiKey, you can generate it on: https://control.softlayer.com/account/users
string apiKey = &#34;apikey_goes_here&#34;;
// Define the quote identifier that you wish to save
int quoteId = 1528487;
// Define the path that you wish to create the PDF from quote
string path = @&#34;C:\Reports\testpdf.pdf&#34;;
// Creating a connection to the SoftLayer_Billing_Order_Quote API service and
// bind our API username and key to it.
authenticate authenticate = new authenticate();
authenticate.username = username;
authenticate.apiKey = apiKey;
SoftLayer_Billing_Order_QuoteService quoteService = new SoftLayer_Billing_Order_QuoteService();
quoteService.authenticateValue = authenticate;
// Setting init parameters
quoteService.SoftLayer_Billing_Order_QuoteInitParametersValue = new SoftLayer_Billing_Order_QuoteInitParameters();
quoteService.SoftLayer_Billing_Order_QuoteInitParametersValue.id = quoteId;
try
{
byte[] result = quoteService.getPdf();
File.WriteAllBytes(path, result);
Console.WriteLine(&#34;The PDF was created&#34;);
}
catch (Exception e)
{
Console.WriteLine(&#34;Unable to create PDF: &#34; + e.Message);
}
}
}
}</pre></div></description>
</item>
</channel>
</rss>