|
6 | 6 | <language>en-US</language> |
7 | 7 | <author>Enthusiastic Hugo User</author> |
8 | 8 | <rights>Copyright (c) 2014, Enthusiastic Hugo User; all rights reserved.</rights> |
9 | | - <updated>Mon, 22 Jan 2018 00:00:00 UTC</updated> |
| 9 | + <updated>Wed, 07 Feb 2018 00:00:00 UTC</updated> |
| 10 | + |
| 11 | + <item> |
| 12 | + <title>Release notes: Febuary 7, 2018</title> |
| 13 | + <link>https://softlayer.github.io/release_notes/2018/20180207/</link> |
| 14 | + <pubDate>Wed, 07 Feb 2018 00:00:00 UTC</pubDate> |
| 15 | + <author>Enthusiastic Hugo User</author> |
| 16 | + <guid>https://softlayer.github.io/release_notes/2018/20180207/</guid> |
| 17 | + <description> |
| 18 | + |
| 19 | +<h4 id="portal">Portal</h4> |
| 20 | + |
| 21 | +<ul> |
| 22 | +<li>Allow customers to suppress order emails</li> |
| 23 | +</ul> |
| 24 | + |
| 25 | +<h4 id="api">API</h4> |
| 26 | + |
| 27 | +<ul> |
| 28 | +<li>Exception message should mention &lsquo;.. to change a user link&rsquo; instead of &lsquo;to edit a user&rsquo; when resetOpenIdConnectLink is called</li> |
| 29 | +<li>Exception message should mention &lsquo;Access Denied. Only the Master user..&rsquo; instead of &lsquo;Account 1234 is authenticated by IBMid&hellip;&rsquo; when resetOpenIdConnectLink is called for subuser</li> |
| 30 | +<li>Validator added for bare metal servers orders that use the userData field, the allowed length is 2000 characters.</li> |
| 31 | +<li>Update getCreateObjectOptions to return Spot options</li> |
| 32 | +<li>Child user is now unable to delete his/her own Phone Factor authentication using the APIs</li> |
| 33 | +<li>A bootMode property is added to the SoftLayer_Container_Product_Order_Virtual_Guest class to allow customers to specify the mode the VSI should be booted in. A bootMode property is also added to SoftLayer_Virtual_Guest_SupplementalCreateObjectOptions so that the boot mode can be specified during when calling SoftLayer_Virtual_Guest::createObject. The data will be verified and the customer informed if they have submitted an invalid boot mode.</li> |
| 34 | +<li>Added the ability to getAllObjects on SoftLayer_Network_Storage_Allowed_Host using objectFilters and objectMask</li> |
| 35 | +</ul> |
| 36 | + |
| 37 | +<h4 id="backend">Backend</h4> |
| 38 | + |
| 39 | +<ul> |
| 40 | +<li>Fixed an issue where fixed configuration preset orders are verified but the preset is not entirely available yet provides more information about why it is failing to verify the order.</li> |
| 41 | +<li>Enable the Security Group feature in Dal01, Lon06, and Sea01.</li> |
| 42 | +<li>Support new VSI type called Spot</li> |
| 43 | +<li>Improve the audit log functionality of security groups.</li> |
| 44 | +<li>Modified provisioning to use boot mode provided by customer.</li> |
| 45 | +<li>When downgrading the CPU on a Guest with a Dedicated Host, the Guest Type is no longer overwritten as Public Guest</li> |
| 46 | +<li>Fix Storage As A Service orders validation which was previously accepting orders that did not conform to product business rules</li> |
| 47 | +<li>Fix bug that would delay the completion of an hourly volume reclaim process because it would create an unnecessary process instance.</li> |
| 48 | +<li>Adds complex password support for EVault. New passwords will be 12 characters long and contain special characters</li> |
| 49 | +</ul> |
| 50 | +</description> |
| 51 | + </item> |
10 | 52 |
|
11 | 53 | <item> |
12 | 54 | <title>Release notes: January 22, 2018</title> |
@@ -910,107 +952,6 @@ pp order |
910 | 952 | <ul> |
911 | 953 | <li>Added Saudi Arabia, United Arab Emirates to the list of countries that accept VAT ID.</li> |
912 | 954 | </ul> |
913 | | -</description> |
914 | | - </item> |
915 | | - |
916 | | - <item> |
917 | | - <title>Add, list, and remove security group rules</title> |
918 | | - <link>https://softlayer.github.io/python/securitygroup_rule_ops/</link> |
919 | | - <pubDate>Wed, 18 Oct 2017 00:00:00 UTC</pubDate> |
920 | | - <author>Enthusiastic Hugo User</author> |
921 | | - <guid>https://softlayer.github.io/python/securitygroup_rule_ops/</guid> |
922 | | - <description> |
923 | | - |
924 | | -<h2 id="adding-a-rule-to-a-security-group">Adding a rule to a security group</h2> |
925 | | - |
926 | | -<pre><code class="language-python">import SoftLayer |
927 | | -# For nice debug output |
928 | | -from pprint import pprint as pp |
929 | | - |
930 | | -# Create a client for use with the NetworkManager |
931 | | -client = SoftLayer.Client() |
932 | | -net_mgr = SoftLayer.NetworkManager(client) |
933 | | - |
934 | | -sg_id = 123045 |
935 | | -direction = 'ingress' |
936 | | -ethertype = 'IPv4' |
937 | | -remote_ip = '169.148.34.0/24' |
938 | | -protocol = 'tcp' |
939 | | -port_min = 22 |
940 | | -port_max = 22 |
941 | | -try: |
942 | | - result = net_mgr.add_securitygroup_rule(sg_id, |
943 | | - direction=direction, |
944 | | - ethertype=ethertype, |
945 | | - remote_ip=remote_ip, |
946 | | - protocol=protocol, |
947 | | - port_min=port_min, |
948 | | - port_max=port_max) |
949 | | - pp(result) |
950 | | -except SoftLayer.SoftLayerAPIError as e: |
951 | | - pp('Failed... Unable to add a rule to the security group: faultCode=%s, faultString=%s' |
952 | | - % (e.faultCode, e.faultString)) |
953 | | -</code></pre> |
954 | | - |
955 | | -<h2 id="listing-rules-in-a-security-group">Listing rules in a security group</h2> |
956 | | - |
957 | | -<pre><code class="language-python">import SoftLayer |
958 | | -# For nice debug output |
959 | | -from pprint import pprint as pp |
960 | | - |
961 | | -# Create a client for use with the NetworkManager |
962 | | -client = SoftLayer.Client() |
963 | | -net_mgr = SoftLayer.NetworkManager(client) |
964 | | - |
965 | | -sg_id = 123045 |
966 | | -try: |
967 | | - result = net_mgr.list_securitygroup_rules(sg_id) |
968 | | - pp(result) |
969 | | -except SoftLayer.SoftLayerAPIError as e: |
970 | | - pp('Failed... Unable to list rules in the security group: faultCode=%s, faultString=%s' |
971 | | - % (e.faultCode, e.faultString)) |
972 | | -</code></pre> |
973 | | - |
974 | | -<h2 id="removing-a-rule-from-a-security-group">Removing a rule from a security group</h2> |
975 | | - |
976 | | -<pre><code class="language-python">import SoftLayer |
977 | | -# For nice debug output |
978 | | -from pprint import pprint as pp |
979 | | - |
980 | | -# Create a client for use with the NetworkManager |
981 | | -client = SoftLayer.Client() |
982 | | -net_mgr = SoftLayer.NetworkManager(client) |
983 | | - |
984 | | -sg_id = 123045 |
985 | | -rule_id = 475879 |
986 | | -try: |
987 | | - result = net_mgr.remove_securitygroup_rule(sg_id, rule_id) |
988 | | - pp(result) |
989 | | -except SoftLayer.SoftLayerAPIError as e: |
990 | | - pp('Failed... Unable to remove rule from the security group: faultCode=%s, faultString=%s' |
991 | | - % (e.faultCode, e.faultString)) |
992 | | -</code></pre> |
993 | | - |
994 | | -<h2 id="remove-all-rules-from-a-security-group">Remove all rules from a security group</h2> |
995 | | - |
996 | | -<pre><code class="language-python">import SoftLayer |
997 | | -# For nice debug output |
998 | | -from pprint import pprint as pp |
999 | | - |
1000 | | -# Create a client for use with the NetworkManager |
1001 | | -client = SoftLayer.Client() |
1002 | | -net_mgr = SoftLayer.NetworkManager(client) |
1003 | | - |
1004 | | -sg_id = 123045 |
1005 | | -try: |
1006 | | - rules = net_mgr.list_securitygroup_rules(sg_id) |
1007 | | - rules = [rule['id'] for rule in rules] |
1008 | | - result = net_mgr.remove_securitygroup_rules(sg_id, rules) |
1009 | | - pp(result) |
1010 | | -except SoftLayer.SoftLayerAPIError as e: |
1011 | | - pp('Failed... Unable to remove rules from the security group: faultCode=%s, faultString=%s' |
1012 | | - % (e.faultCode, e.faultString)) |
1013 | | -</code></pre> |
1014 | 955 | </description> |
1015 | 956 | </item> |
1016 | 957 |
|
|
0 commit comments