A set of Python libraries that assist in calling the SoftLayer API.

Overview

SoftLayer API Python Client

https://coveralls.io/repos/github/softlayer/softlayer-python/badge.svg?branch=master

This library provides a simple Python client to interact with SoftLayer's XML-RPC API.

A command-line interface is also included and can be used to manage various SoftLayer products and services.

Documentation

Documentation for the Python client is available at Read the Docs .

Additional API documentation can be found on the SoftLayer Development Network:

Installation

Install via pip:

$ pip install softlayer

Or you can install from source. Download source and run:

$ python setup.py install

Another (safer) method of installation is to use the published snap. Snaps are available for any Linux OS running snapd, the service that runs and manage snaps. Snaps are "auto-updating" packages and will not disrupt the current versions of libraries and software packages on your Linux-based system. To learn more, please visit: https://snapcraft.io/

To install the slcli snap:

$ sudo snap install slcli

(or to get the latest release)

$ sudo snap install slcli --edge

The most up-to-date version of this library can be found on the SoftLayer GitHub public repositories at http://github.com/softlayer. For questions regarding the use of this library please post to Stack Overflow at https://stackoverflow.com/ and your posts with “SoftLayer” so our team can easily find your post. To report a bug with this library please create an Issue on github.

InsecurePlatformWarning Notice

This library relies on the requests library to make HTTP requests. On Python versions below Python 2.7.9, requests has started emitting a security warning (InsecurePlatformWarning) due to insecurities with creating SSL connections. To resolve this, upgrade to Python 2.7.9+ or follow the instructions here: http://stackoverflow.com/a/29099439.

Basic Usage

Advanced Usage

You can automatically set some parameters via environment variables with by using the SLCLI prefix. For example

$ export SLCLI_VERBOSE=3
$ export SLCLI_FORMAT=json
$ slcli vs list

is equivalent to

$ slcli -vvv --format=json vs list

Getting Help

Bugs and feature requests about this library should have a GitHub issue opened about them.

Issues with the Softlayer API itself should be addressed by opening a ticket.

Examples

A curated list of examples on how to use this library can be found at SLDN

Debugging

To get the exact API call that this library makes, you can do the following.

For the CLI, just use the -vvv option. If you are using the REST endpoint, this will print out a curl command that you can use, if using XML, this will print the minimal python code to make the request without the softlayer library.

$ slcli -vvv vs list

If you are using the library directly in python, you can do something like this.

import SoftLayer
import logging

class invoices():

    def __init__(self):
        self.client = SoftLayer.Client()
        debugger = SoftLayer.DebugTransport(self.client.transport)
        self.client.transport = debugger

    def main(self):
        mask = "mask[id]"
        account = self.client.call('Account', 'getObject', mask=mask);
        print("AccountID: %s" % account['id'])

    def debug(self):
        for call in self.client.transport.get_last_calls():
            print(self.client.transport.print_reproduceable(call))

if __name__ == "__main__":
    main = example()
    main.main()
    main.debug()

System Requirements

  • Python 3.5, 3.6, 3.7, 3.8, or 3.9.
  • A valid SoftLayer API username and key.
  • A connection to SoftLayer's private network is required to use our private network API endpoints.

Python 2.7 Support

As of version 5.8.0 SoftLayer-Python will no longer support python2.7, which is End Of Life as of 2020 . If you cannot install python 3.6+ for some reason, you will need to use a version of softlayer-python <= 5.7.2

Python Packages

  • ptable >= 0.9.2
  • click >= 7
  • requests >= 2.20.0
  • prompt_toolkit >= 2
  • pygments >= 2.0.0
  • urllib3 >= 1.24

Copyright

This software is Copyright (c) 2016-2021 SoftLayer Technologies, Inc.

See the bundled LICENSE file for more information.

Comments
  • Improves REST transport + client fixup

    Improves REST transport + client fixup

    Fully implements the REST transport to support masks, filters, limit, offset, auth. Also implements #514, which should make building the API client a bit less confusing long-term.

    opened by sudorandom 18
  • Deal with super large quantities

    Deal with super large quantities

    We should probably have some type of sane way of dealing with limiting the number of objects returned.

    Something like limiting the default to 200 and allowing the client to specify --offset/--from.

    Or maybe expose --limit and default is for everything.

    More discussion is needed

    CLI Needs discussion 
    opened by CrackerJackMack 16
  • CLI Create Ticket

    CLI Create Ticket

    Basic Operation

    A command to create a ticket should be added to the CLI. We would eventually want to be able to perform other actions on tickets by ID or as a whole, so the command structure would be straightforward:

    $ sl ticket create
    

    We could add flags to the command directly:

    Composing

    $ sl ticket create --title="Help me! My HDD is dead!"
    

    Once invoked, we could observe the $EDITOR environment variable or search for a sane editor in the users path (nano, vim, emacs, etc.) and use it to compose the body of the ticket. The output of the ticket could simply be the ticket ID for later use with an 'update' command or for finding the thread in the portal.

    $ sl ticket create
    (...nano...)
    Ticket created: #12345
    

    Without a Title Flag

    It is possible the message composition could prefer the first line or first sentence of the message as its title to avoid requiring the user to specify beforehand.

    If the user has provided a title flag, however, the simplest method of exemplifying usage would be to correctly format the editor using the title they provided. Place their cursor on the 2nd line following the title to begin the ticket body.

    Query the Metadata Service

    When the command is invoked, we could attempt to query the metadata service to see if the invocation has occurred on a host on our network. If it has we can include basic information, such as current hostname and network configuration, services running, etc.

    This data would not be silently gathered, rather populated in the $EDITOR during ticket composition. This intermediate step would allow the customer to suppress any information they did not believe pertained to the trouble they are experiencing.

    Sample $EDITOR Session

    sl ticket create --title="Help me! My HDD is dead!"
    
    1. Locate suitable editor: /usr/bin/nano
    2. Query metadata service: Success, scan for extra stuff.
    3. Scan machine for critical metrics: basic network and disk utilization.
    4. Launch & populate editor:
    Help me! My HDD is dead!
    
    I've been having issues with /dev/sdb and it seems as
    though the drive has stopped responding entirely. I'm
    assuming hardware failure but I would appreciate you
    taking a look. Thank you!
    
    --------------------------------------------------
    Below is information which may assist our support
    techs. Nothing has been transmitted at this point.
    Feel free to remove information now.
    --------------------------------------------------
    Hostname: host-001.example.com
    IP Address: 127.0.0.1
    Filesystems:
         /dev/sda1    90M     52M     61%     /boot
         /dev/sda6    457G   7.6G     2%      /
    (etc)
    

    Upon closing,

    Ticket created: #12345
    $ 
    
    CLI New Feature 
    opened by jasonjohnson 15
  • Issues490 - Adding a column picker to vs/hw list

    Issues490 - Adding a column picker to vs/hw list

    Adds the ability to select specific columns to be displayed in vs/hw list. If the columns don't exist in the return data, and empty entry is displayed.

    The default display behavior won't change, so no worries there.

    If a column is removed that is needed by sortby, a nice CLI error is displayed. screen shot 2015-03-10 at 6 24 42 pm

    Otherwise, any column being displayed can be sorted by. screen shot 2015-03-10 at 6 25 24 pm

    opened by allmightyspiff 13
  • feature request - secondary private ip api

    feature request - secondary private ip api

    It appears that secondary private ips are possible, but cannot be automated at the moment.

    Secondary IP addresses require ARIN justification through the available online form. from http://knowledgelayer.softlayer.com/faqs/204

    API 
    opened by kbroughton 12
  • Billing information for a given user support in CLI and managers

    Billing information for a given user support in CLI and managers

    Right now CLI doesn't support billing details like, how much resources has been ordered, how are they contributing to the billing. We can have a billing module, which can allow us to see such details. For example, to list all resources ordered by the user and their incurred cost, following command can be used:

    $ sl billing list
    --------------------------------------------------------------------------------------------------------
    | ID   | Name           | Resource Type           | Recurring Charges | Cost   |  Create Date          |
    --------------------------------------------------------------------------------------------------------
    | 1234 | iscsi-vol1     |  1 GB iSCSI SAN Storage | $15/month         | $15    |  2014-02-11T03:48:21  |
    | 4313 | jpgate.sl.com  |  1 x 2.0 GHz Core       | $0.01/hr          | $0.17  |  2014-02-11T03:48:21  |
    --------------------------------------------------------------------------------------------------------
    

    Such interface can further be improved by giving filters:

    $ sl billing list --from-date $FROM_DATE
    # will list only resources which were ordered on and after $FROM_DATE
    
    $ sl billing list --from-date $FROM_DATE --to-date $TO_DATE
    # will list only resources which were ordered withing the given date range
    
    $ sl billing list --type iscsi
    # show only iscsi orders and cost
    
    $ sl billing list --type cci
    # show only cci orders and cost
    

    @sudorandom, can you confirm if such module/manager can make a place? Can you suggest any improvements here? If yes, I'll work on the manager interface and the respective module.

    CLI New Feature Waiting for Movement 
    opened by anil-kumbhar 12
  • slcli server detail example01 (KeyError: 'tag')

    slcli server detail example01 (KeyError: 'tag')

    Hello

    I am running

    slcli server detail hostname

    against our entire SLR inventory (200 servers) for most of them I get expected output but for 4 out of the 100 I get this:

    ➜  ~  slcli server detail example01
    An unexpected error has occured:
    Traceback (most recent call last):
      File "/usr/local/lib/python2.7/site-packages/SoftLayer-4.0.2-py2.7.egg/SoftLayer/CLI/core.py", line 181, in main
        cli.main()
      File "/usr/local/lib/python2.7/site-packages/click-4.0-py2.7.egg/click/core.py", line 644, in main
        rv = self.invoke(ctx)
      File "/usr/local/lib/python2.7/site-packages/click-4.0-py2.7.egg/click/core.py", line 991, in invoke
        return _process_result(sub_ctx.command.invoke(sub_ctx))
      File "/usr/local/lib/python2.7/site-packages/click-4.0-py2.7.egg/click/core.py", line 991, in invoke
        return _process_result(sub_ctx.command.invoke(sub_ctx))
      File "/usr/local/lib/python2.7/site-packages/click-4.0-py2.7.egg/click/core.py", line 837, in invoke
        return ctx.invoke(self.callback, **ctx.params)
      File "/usr/local/lib/python2.7/site-packages/click-4.0-py2.7.egg/click/core.py", line 464, in invoke
        return callback(*args, **kwargs)
      File "/usr/local/lib/python2.7/site-packages/click-4.0-py2.7.egg/click/decorators.py", line 64, in new_func
        return ctx.invoke(f, obj, *args[1:], **kwargs)
      File "/usr/local/lib/python2.7/site-packages/click-4.0-py2.7.egg/click/core.py", line 464, in invoke
        return callback(*args, **kwargs)
      File "/usr/local/lib/python2.7/site-packages/SoftLayer-4.0.2-py2.7.egg/SoftLayer/CLI/server/detail.py", line 100, in cli
        tag_row.append(tag['tag']['name'])
    KeyError: 'tag'
    
    Feel free to report this error as it is likely a bug:
        https://github.com/softlayer/softlayer-python/issues
    

    I tried it under

    ➜  ~  python -V
    Python 2.7.10
    

    and

    (softlayer)➜  ~  python -V
    Python 3.4.3
    
    opened by mbubb 11
  • Iscsi manager

    Iscsi manager

    Handling issue #282 . Provided ISCSI CLI support and Added testcases for the same Operations supported are as follows: CLI modules are divided into iSCSI targets section and snapshots section. iSCSI commands

    usage: sl iscsi [<command>] [<args>...] [options]
    
    Manage, order, delete iSCSI targets
    
    The available commands are:
      cancel    Cancel an existing iSCSI target
      create    Order and create an iSCSI target
      detail    Output details about an iSCSI
      list      List iSCSI targets on the account
    

    Snapshot Commands

    usage: sl snapshot [<command>] [<args>...] [options]
    
    Manage, order, delete iSCSI snapshots
    
    The available commands are:
      cancel                Cancel an iSCSI snapshot
      create                Create a snapshot of given iSCSI volume
      create-space          Orders space for storing snapshots
      list                  List snpshots of given iSCSI
      restore-volume        Restores volume from existing snapshot
    
    opened by aparnapatil 11
  • Improve firewall support

    Improve firewall support

    The current firewall support is limited only to listing. We should expose more functionality in order to make this manager (and related CLI module) more useful.

    CLI API New Feature 
    opened by beittenc 11
  • slcli order doesn't support licenses that require capacity

    slcli order doesn't support licenses that require capacity

    slcli order place --verify --billing hourly SUSPEND_CLOUD_SERVER DALLAS12 --preset B1_8X16X100 BANDWIDTH_0_GB_2 1_GBPS_PRIVATE_NETWORK_UPLINK REBOOT_REMOTE_CONSOLE 1_IP_ADDRESS UNLIMITED_SSL_VPN_USERS_1_PPTP_VPN_USER_PER_ACCOUNT OS_WINDOWS_2012_R2_FULL_STD_64_BIT MONITORING_HOST_PING NOTIFICATION_EMAIL_AND_TICKET AUTOMATED_NOTIFICATION NESSUS_VULNERABILITY_ASSESSMENT_REPORTING --complex-type SoftLayer_Container_Product_Order_Virtual_Guest --extras '{"hardware": [{"hostname": "test", "domain": "us.test.net"}]}'
    
     
    
    SoftLayerAPIError(SoftLayer_Exception_Public): Windows Server 2012 Standard Edition (64 bit) (17-32 Cores), price ID# 210917, has a Cores capacity restriction that does not match the capacity of 8 x 2.0 GHz or higher Cores, price ID# 210181. Please submit prices that are compatible.
    
    

    Need to check if a price has a capacity restriction, and if so, select the appropriate price id based on that.

    Ordering 
    opened by allmightyspiff 10
  • vs manager wait_for_ready exception handling

    vs manager wait_for_ready exception handling

    Will allow wait_for_ready to gracefully handle exceptions, and raise the delay for each exception. Raised the default delay from 1s to 10s

    def wait_for_ready(self, instance_id, limit, delay=10, pending=False): When an exception is encountered, delay will be multiplied by 2. Will still return False if a ready state was not encountered before limit is reached.

    opened by allmightyspiff 10
  • subnet route and subnet clear-route

    subnet route and subnet clear-route

    Need the ability to change subnet routing like in the portal. image

    https://sldn.softlayer.com/reference/services/SoftLayer_Network_Subnet/route/ https://sldn.softlayer.com/reference/services/SoftLayer_Network_Subnet/clearRoute/

    TODO

    1. Allow changing the target of a subnet with slcli subnet route <subnetId> --ip 192.168.1.1
    2. Allow users to clear a subnets routes
    3. Allow users to pick targets that are supported by the route API
    4. Allow users to change the subnet type between unrouted/portable/static. This might be something done automatically with the route API, I'm not 100% sure.
    New Feature 
    opened by allmightyspiff 1
  • Improve firewall cancel command

    Improve firewall cancel command

    I can't seem to cancel this multiVlan firewall. I should be able to cancel it. The help message should also show the available types of firewalls. Also add that information to the detail command

    $ slcli firewall cancel multiVlan:17438
    This action will cancel a firewall from your account. Continue? [y/N]: y
    Unknown firewall type: multiVlan
    
    $ slcli firewall cancel 17438
    Invalid ID 17438: ID should be of the form xxx:yyy
    
    $ slcli firewall cancel --help
    Usage: slcli firewall cancel [OPTIONS] IDENTIFIER
    
            Cancels a firewall.
    
    ┌────┬────────────┬─────────────────────────────┐
    │    │ identifier │                             │
    │ -h │ --help     │ Show this message and exit. │
    └────┴────────────┴─────────────────────────────┘
    
    
    $ slcli firewall list
                 Single Server Firewalls
    ┌─────────────┬──────┬──────────┬────────────────┐
    │ firewall id │ type │ features │ server/vlan id │
    ├─────────────┼──────┼──────────┼────────────────┤
    └─────────────┴──────┴──────────┴────────────────┘
                                                                         Multi Vlan Firewall
    ┌───────┬─────────────────────┬───────────────────────────────────┬───────────────────┬──────────┬────────────────┬──────────────┬─────────────────┬────────┐
    │  Id   │      firewall       │               type                │     Hostname      │ Location │   Public Ip    │  Private Ip  │ Associated vlan │ status │
    ├───────┼─────────────────────┼───────────────────────────────────┼───────────────────┼──────────┼────────────────┼──────────────┼─────────────────┼────────┤
    │ 17438 │ testFirewall-cgallo │ fortigate-security-appliance-10gb │ dft03.pod03.dal13 │  dal13   │ 67.228.206.245 │ 10.37.115.70 │        0        │ ACTIVE │
    └───────┴─────────────────────┴───────────────────────────────────┴───────────────────┴──────────┴────────────────┴──────────────┴─────────────────┴────────┘
    
    Bug 
    opened by allmightyspiff 0
  • block volume-list errors

    block volume-list errors

    This block volume is being canceled, so that might be why its having trouble being displayed....

    $ slcli -vvv block volume-detail 167214314
    Calling: SoftLayer_Network_Storage::getObject(id=167214314, mask='id,username,password,capacityGb,snapshotCapacityGb,parentVolume.snapshotSizeBytes,storageType.keyName,serviceResource.datacenter[name],serviceResourceBackendIpAddress,storageTierLevel,provisionedIops,lunId,originalVolumeName,originalSnapshotName,originalVolumeSize,activeTransactionCount,activeTransactions.transactionStatus[friendlyName],replicationPartnerCount,replicationStatus,replicationPartners[id,username,serviceResourceBackendIpAddress,serviceResource[datacenter[name]],replicationSchedule[type[keyname]]],notes', filter='None', args=(), limit=None, offset=None))
    Starting new HTTPS connection (1): api.softlayer.com:443
    https://api.softlayer.com:443 "GET /rest/v3.1/SoftLayer_Network_Storage/167214314/getObject.json?objectMask=mask%5Bid%2Cusername%2Cpassword%2CcapacityGb%2CsnapshotCapacityGb%2CparentVolume.snapshotSizeBytes%2CstorageType.keyName%2CserviceResource.datacenter%5Bname%5D%2CserviceResourceBackendIpAddress%2CstorageTierLevel%2CprovisionedIops%2ClunId%2CoriginalVolumeName%2CoriginalSnapshotName%2CoriginalVolumeSize%2CactiveTransactionCount%2CactiveTransactions.transactionStatus%5BfriendlyName%5D%2CreplicationPartnerCount%2CreplicationStatus%2CreplicationPartners%5Bid%2Cusername%2CserviceResourceBackendIpAddress%2CserviceResource%5Bdatacenter%5Bname%5D%5D%2CreplicationSchedule%5Btype%5Bkeyname%5D%5D%5D%2Cnotes%5D HTTP/1.1" 200 1559
    Returned Data:
    {'capacityGb': 16000, 'id': 167214314, 'notes': 'test', 'username': 'SL02SEL307608-60', 'activeTransactionCount': 0, 'replicationPartnerCount': 1, 'lunId': '1', 'parentVolume': {'accountId': 307608, 'capacityGb': 16000, 'createDate': '2020-09-02T14:55:32-06:00', 'guestId': None, 'hardwareId': None, 'hostId': None, 'id': 167214302, 'nasType': 'NAS_CONTAINER', 'serviceProviderId': 1, 'storageTypeId': '3', 'upgradableFlag': True, 'username': 'SL02SEVC307608_60', 'serviceResourceBackendIpAddress': 'fsf-mex0101b-fz.service.softlayer.com', 'serviceResourceName': 'Storage Type 02 Aggregate stxf-mex0101b', 'snapshotSizeBytes': '831488'}, 'provisionedIops': '4096', 'replicationPartners': [{'id': 167236648, 'username': 'SL02SEL307608_60_REP_1', 'replicationSchedule': {'active': 1, 'createDate': '2020-09-02T17:10:04-06:00', 'id': 542062, 'modifyDate': None, 'name': 'SL02SEVC307608_60_WEEKLY', 'partnershipId': None, 'typeId': 34, 'volumeId': 167214302, 'type': {'keyname': 'REPLICATION_WEEKLY'}}, 'serviceResource': {'backendIpAddress': 'fsf-sao0102c-fz.service.softlayer.com', 'id': 30650, 'name': 'Storage Type 02 Aggregate stxf-sao0102c', 'datacenter': {'name': 'sao01'}, 'type': {'type': 'NETAPP_STOR_AGGR'}}, 'serviceResourceBackendIpAddress': '10.200.14.72'}], 'replicationStatus': 'FAILBACK_COMPLETED', 'serviceResource': {'backendIpAddress': 'fsf-mex0101b-fz.service.softlayer.com', 'id': 9291, 'name': 'Storage Type 02 Aggregate stxf-mex0101b', 'datacenter': {'name': 'mex01'}}, 'serviceResourceBackendIpAddress': '10.2.190.99', 'snapshotCapacityGb': '1000', 'storageTierLevel': 'LOW_INTENSITY_TIER', 'storageType': {'keyName': 'ENDURANCE_BLOCK_STORAGE'}}
    An unexpected error has occured:
    Traceback (most recent call last):
      File "C:\Users\allmi\Source\py310\lib\site-packages\SoftLayer\CLI\core.py", line 182, in main
        cli.main(**kwargs)
      File "C:\Users\allmi\Source\py310\lib\site-packages\click\core.py", line 1053, in main
        rv = self.invoke(ctx)
      File "C:\Users\allmi\Source\py310\lib\site-packages\click\core.py", line 1659, in invoke
        return _process_result(sub_ctx.command.invoke(sub_ctx))
      File "C:\Users\allmi\Source\py310\lib\site-packages\click\core.py", line 1659, in invoke
        return _process_result(sub_ctx.command.invoke(sub_ctx))
      File "C:\Users\allmi\Source\py310\lib\site-packages\click\core.py", line 1395, in invoke
        return ctx.invoke(self.callback, **ctx.params)
      File "C:\Users\allmi\Source\py310\lib\site-packages\click\core.py", line 754, in invoke
        return __callback(*args, **kwargs)
      File "C:\Users\allmi\Source\py310\lib\site-packages\click\decorators.py", line 84, in new_func
        return ctx.invoke(f, obj, *args, **kwargs)
      File "C:\Users\allmi\Source\py310\lib\site-packages\click\core.py", line 754, in invoke
        return __callback(*args, **kwargs)
      File "C:\Users\allmi\Source\py310\lib\site-packages\SoftLayer\CLI\block\detail.py", line 116, in cli
        env.fout(table)
      File "C:\Users\allmi\Source\py310\lib\site-packages\SoftLayer\CLI\environment.py", line 85, in fout
        self.out(self.fmt(output))
      File "C:\Users\allmi\Source\py310\lib\site-packages\SoftLayer\CLI\environment.py", line 75, in fmt
        return formatting.format_output(output, fmt)
      File "C:\Users\allmi\Source\py310\lib\site-packages\SoftLayer\CLI\formatting.py", line 38, in format_output
        return format_prettytable(data)
      File "C:\Users\allmi\Source\py310\lib\site-packages\SoftLayer\CLI\formatting.py", line 76, in format_prettytable
        ptable = table.prettytable()
      File "C:\Users\allmi\Source\py310\lib\site-packages\SoftLayer\CLI\formatting.py", line 295, in prettytable
        table.add_row(*row)
      File "C:\Users\allmi\Source\py310\lib\site-packages\rich\table.py", line 460, in add_row
        raise errors.NotRenderableError(
    rich.errors.NotRenderableError: unable to render list; a string or other renderable object is required
    
    Feel free to report this error as it is likely a bug:
        https://github.com/softlayer/softlayer-python/issues
    The following snippet should be able to reproduce the error
    
    Bug 
    opened by allmightyspiff 2
  • call-api Formatting issues

    call-api Formatting issues

    $ ./slcli -vvv --format=json call-api SoftLayer_Account getNasNetworkStorage --mask="mask[id,replicatingVolume,replicationPartners]"
    Calling: SoftLayer_Account::getNasNetworkStorage(id=None, mask='mask[id,replicatingVolume,replicationPartners]', filter='{}', args=(), limit=None, offset=None))
    Starting new HTTPS connection (1): api.softlayer.com:443
    https://api.softlayer.com:443 "GET /rest/v3.1/SoftLayer_Account/getNasNetworkStorage.json?objectMask=mask%5Bid%2CreplicatingVolume%2CreplicationPartners%5D HTTP/1.1" 200 797
    Returned Data:
    [{'id': 4917309, 'replicationPartners': [{'id': 21021427, 'replicatingVolume': None, 'replicationPartners': []}]}, {'id': 22031701, 'replicationPartners': []}, {'id': 48489025, 'replicationPartners': []}, {'id': 121100770, 'replicationPartners': []}, {'id': 122113170, 'replicationPartners': []}, {'id': 133441542, 'replicationPartners': []}, {'id': 133453202, 'replicationPartners': []}, {'id': 133483212, 'replicationPartners': []}, {'id': 133593224, 'replicationPartners': []}, {'id': 183422848, 'replicationPartners': []}, {'id': 183434028, 'replicationPartners': []}, {'id': 183443408, 'replicationPartners': []}, {'id': 183463032, 'replicationPartners': []}, {'id': 21021427, 'replicatingVolume': {'id': 4917309, 'replicationPartners': [None]}, 'replicationPartners': []}, {'id': 250707946, 'replicationPartners': []}, {'id': 147860452, 'replicationPartners': []}]
    An unexpected error has occured:
    Traceback (most recent call last):
      File "C:\Users\allmi\Source\softlayer-python\SoftLayer\CLI\core.py", line 182, in main
        cli.main(**kwargs)
      File "C:\Users\allmi\Source\py38\lib\site-packages\click\core.py", line 1055, in main
        rv = self.invoke(ctx)
      File "C:\Users\allmi\Source\py38\lib\site-packages\click\core.py", line 1657, in invoke
        return _process_result(sub_ctx.command.invoke(sub_ctx))
      File "C:\Users\allmi\Source\py38\lib\site-packages\click\core.py", line 1404, in invoke
        return ctx.invoke(self.callback, **ctx.params)
      File "C:\Users\allmi\Source\py38\lib\site-packages\click\core.py", line 760, in invoke
        return __callback(*args, **kwargs)
      File "C:\Users\allmi\Source\py38\lib\site-packages\click\decorators.py", line 84, in new_func
        return ctx.invoke(f, obj, *args, **kwargs)
      File "C:\Users\allmi\Source\py38\lib\site-packages\click\core.py", line 760, in invoke
        return __callback(*args, **kwargs)
      File "C:\Users\allmi\Source\softlayer-python\SoftLayer\CLI\call_api.py", line 178, in cli
        env.fout(formatting.iter_to_table(result))
      File "C:\Users\allmi\Source\softlayer-python\SoftLayer\CLI\formatting.py", line 384, in iter_to_table
        return _format_list(value)
      File "C:\Users\allmi\Source\softlayer-python\SoftLayer\CLI\formatting.py", line 413, in _format_list
        return _format_list_objects(new_result)
      File "C:\Users\allmi\Source\softlayer-python\SoftLayer\CLI\formatting.py", line 437, in _format_list_objects
        value = iter_to_table(item.get(key))
      File "C:\Users\allmi\Source\softlayer-python\SoftLayer\CLI\formatting.py", line 386, in iter_to_table
        return _format_dict(value)
      File "C:\Users\allmi\Source\softlayer-python\SoftLayer\CLI\formatting.py", line 398, in _format_dict
        value = iter_to_table(value)
      File "C:\Users\allmi\Source\softlayer-python\SoftLayer\CLI\formatting.py", line 384, in iter_to_table
        return _format_list(value)
      File "C:\Users\allmi\Source\softlayer-python\SoftLayer\CLI\formatting.py", line 412, in _format_list
        if isinstance(new_result[0], dict):
    IndexError: list index out of range
    
    Feel free to report this error as it is likely a bug:
        https://github.com/softlayer/softlayer-python/issues
    The following snippet should be able to reproduce the error
    
    
    Bug 
    opened by allmightyspiff 1
Releases(v6.1.3)
  • v6.1.3(Dec 1, 2022)

    What's Changed

    • New Command: Hardware notifications by @caberos in https://github.com/softlayer/softlayer-python/pull/1756
    • New Command: virtual notifications by @caberos in https://github.com/softlayer/softlayer-python/pull/1758
    • Change regex in rich text in simple option in help text by @edsonarios in https://github.com/softlayer/softlayer-python/pull/1759
    • pip prod(deps): bump rich from 12.5.1 to 12.6.0 by @dependabot in https://github.com/softlayer/softlayer-python/pull/1760
    • add more information to vs credentials by @caberos in https://github.com/softlayer/softlayer-python/pull/1762
    • Fixed maxint issue by @allmightyspiff in https://github.com/softlayer/softlayer-python/pull/1765
    • Added csv output format by @edsonarios in https://github.com/softlayer/softlayer-python/pull/1766
    • add more information on hw credentials by @caberos in https://github.com/softlayer/softlayer-python/pull/1767
    • Delete twitter link in documentation by @edsonarios in https://github.com/softlayer/softlayer-python/pull/1769
    • new command hw create-credential by @caberos in https://github.com/softlayer/softlayer-python/pull/1774
    • fix the hw credential error by @caberos in https://github.com/softlayer/softlayer-python/pull/1781
    • Added test suite for py311 by @allmightyspiff in https://github.com/softlayer/softlayer-python/pull/1784
    • New feature to change theme in slcli like dark, light o maintain in default by @edsonarios in https://github.com/softlayer/softlayer-python/pull/1775
    • Match virtual detail --prices option with hardware detail --prices option by @BrianSantivanez in https://github.com/softlayer/softlayer-python/pull/1780
    • Fixing preset-list pricing table by @allmightyspiff in https://github.com/softlayer/softlayer-python/pull/1782
    • fix the call api cannot handle empty results by @caberos in https://github.com/softlayer/softlayer-python/pull/1789
    • Debug output changed to a valid JSON by @edsonarios in https://github.com/softlayer/softlayer-python/pull/1791
    • slcli hw add-notifications crashes with a bad user by @caberos in https://github.com/softlayer/softlayer-python/pull/1786
    • del-notification commands, rename the commands to notifications-add by @caberos in https://github.com/softlayer/softlayer-python/pull/1785
    • Add --extras to slcli order quote by @caberos in https://github.com/softlayer/softlayer-python/pull/1792
    • An error is displaying for volume with replica in slcli for Active pr… by @caberos in https://github.com/softlayer/softlayer-python/pull/1794
    • Version to 6.1.3 by @allmightyspiff in https://github.com/softlayer/softlayer-python/pull/1797

    Full Changelog: https://github.com/softlayer/softlayer-python/compare/v6.1.2...v6.1.3

    Source code(tar.gz)
    Source code(zip)
  • v6.1.2(Sep 23, 2022)

    What's Changed

    • Snapcraft: Updated to Core22 and add homeishome-launch by @kz6fittycent in https://github.com/softlayer/softlayer-python/pull/1740
    • Add status, create date and domain columns in slcli vs list command by @BrianSantivanez in https://github.com/softlayer/softlayer-python/pull/1728
    • New command: ipsec cancel by @caberos in https://github.com/softlayer/softlayer-python/pull/1729
    • New command: subnet clear-route by @caberos in https://github.com/softlayer/softlayer-python/pull/1738
    • Deprecate slcli hw guests by @caberos in https://github.com/softlayer/softlayer-python/pull/1736
    • Remove real usersnames from test fixtrues by @caberos in https://github.com/softlayer/softlayer-python/pull/1743
    • Fix tox request.get hangout issue by @caberos in https://github.com/softlayer/softlayer-python/pull/1746
    • add vs user-access command by @caberos in https://github.com/softlayer/softlayer-python/pull/1741
    • Update Help message for commands that take in multiple arguments by @caberos in https://github.com/softlayer/softlayer-python/pull/1748
    • Error with slcli order item-list by @caberos in https://github.com/softlayer/softlayer-python/pull/1751
    • deprecate sl autoscale by @BrianSantivanez in https://github.com/softlayer/softlayer-python/pull/1753
    • Unhandled error running a subcommand in slcli by @caberos in https://github.com/softlayer/softlayer-python/pull/1754

    Full Changelog: https://github.com/softlayer/softlayer-python/compare/v6.1.1...v6.1.2

    Source code(tar.gz)
    Source code(zip)
  • v6.1.1(Aug 18, 2022)

    What's Changed

    • v6.1.0 Changelog and version bump by @allmightyspiff in https://github.com/softlayer/softlayer-python/pull/1674
    • item-list fix by @allmightyspiff in https://github.com/softlayer/softlayer-python/pull/1679
    • updating release job to actually publish to pypi by @allmightyspiff in https://github.com/softlayer/softlayer-python/pull/1680
    • Update command - slcli object-storage endpoints by @edsonarios in https://github.com/softlayer/softlayer-python/pull/1685
    • add the block volume-options command by @caberos in https://github.com/softlayer/softlayer-python/pull/1681
    • add the file volume-options command by @caberos in https://github.com/softlayer/softlayer-python/pull/1684
    • fixed issues where a message warned users about closing datacenter by @allmightyspiff in https://github.com/softlayer/softlayer-python/pull/1688
    • Enable --format=raw and fixes table width by @allmightyspiff in https://github.com/softlayer/softlayer-python/pull/1689
    • Update slcli hardware sensor by @BrianSantivanez in https://github.com/softlayer/softlayer-python/pull/1691
    • Improved successful response to command - slcli vs cancel by @edsonarios in https://github.com/softlayer/softlayer-python/pull/1695
    • Fixed an issue with printing tables that contained empty items by @allmightyspiff in https://github.com/softlayer/softlayer-python/pull/1697
    • Added a dependabot scanner by @allmightyspiff in https://github.com/softlayer/softlayer-python/pull/1699
    • block|file volume-options improvements by @caberos in https://github.com/softlayer/softlayer-python/pull/1700
    • Option create-options in commands hardware and dedicatedhost fixed by @edsonarios in https://github.com/softlayer/softlayer-python/pull/1703
    • pip prod(deps): bump rich from 12.3.0 to 12.5.1 by @dependabot in https://github.com/softlayer/softlayer-python/pull/1704
    • block/file volume-options improvements 2 by @caberos in https://github.com/softlayer/softlayer-python/pull/1702
    • New command ipsec order by @caberos in https://github.com/softlayer/softlayer-python/pull/1698
    • block/file volume-options improvement 3 by @caberos in https://github.com/softlayer/softlayer-python/pull/1705
    • Command slcli vlan create - displaying an error message by @edsonarios in https://github.com/softlayer/softlayer-python/pull/1707
    • New Command: user device-access by @caberos in https://github.com/softlayer/softlayer-python/pull/1712
    • Command slcli vlan edit accept that we do not send any parameters by @edsonarios in https://github.com/softlayer/softlayer-python/pull/1709
    • Updated command - slcli vlan list by @edsonarios in https://github.com/softlayer/softlayer-python/pull/1713
    • slcli block subnets-list command display an error message by @BrianSantivanez in https://github.com/softlayer/softlayer-python/pull/1716
    • add user remove-access command by @caberos in https://github.com/softlayer/softlayer-python/pull/1717
    • Add Devices with Trunks to vlan detail by @edsonarios in https://github.com/softlayer/softlayer-python/pull/1721
    • slcli hardware reflash-firmware command does not display success message by @BrianSantivanez in https://github.com/softlayer/softlayer-python/pull/1724
    • Fix bug with command - slcli cdn edit by @edsonarios in https://github.com/softlayer/softlayer-python/pull/1726
    • v6.1.1 release notes by @allmightyspiff in https://github.com/softlayer/softlayer-python/pull/1734

    New Contributors

    • @dependabot made their first contribution in https://github.com/softlayer/softlayer-python/pull/1704

    Full Changelog: https://github.com/softlayer/softlayer-python/compare/v6.1.0...v6.1.1

    Source code(tar.gz)
    Source code(zip)
  • v6.1.0(Jun 30, 2022)

    Major Updates

    • Rich tables by @allmightyspiff in https://github.com/softlayer/softlayer-python/pull/1646
    • Rich Text support by @allmightyspiff in https://github.com/softlayer/softlayer-python/pull/1635

    Rich Text and Rich Tables will modernize the output of the SLCLI to be a little nicer to look at, with colors and other highlighting.

    image image

    What's Changed

    • slcli licenses is missing the help text by @caberos in https://github.com/softlayer/softlayer-python/pull/1605
    • Add a warning if user orders in a POD that is being closed by @caberos in https://github.com/softlayer/softlayer-python/pull/1600
    • updated number of updates in the command account event-detail by @edsonarios in https://github.com/softlayer/softlayer-python/pull/1609
    • Add an orderBy filter to slcli vlan list by @caberos in https://github.com/softlayer/softlayer-python/pull/1599
    • Add options to print a specific table in command slcli account events by @edsonarios in https://github.com/softlayer/softlayer-python/pull/1611
    • Update global ip assign/unassign to use new API by @caberos in https://github.com/softlayer/softlayer-python/pull/1614
    • Ability to route/unroute subnets by @caberos in https://github.com/softlayer/softlayer-python/pull/1615
    • Improved successful response to command - slcli account cancel-item by @edsonarios in https://github.com/softlayer/softlayer-python/pull/1617
    • Improved successful response to command - slcli virtual edit by @edsonarios in https://github.com/softlayer/softlayer-python/pull/1618
    • Improved successful response to command - slcli vlan cancel by @edsonarios in https://github.com/softlayer/softlayer-python/pull/1619
    • Mishandling of domain and hostname data in slcli account item-detail by @edsonarios in https://github.com/softlayer/softlayer-python/pull/1621
    • Unable to get VSI details when last TXN is "Software install is finis… by @caberos in https://github.com/softlayer/softlayer-python/pull/1625
    • new command on autoscale delete by @caberos in https://github.com/softlayer/softlayer-python/pull/1628
    • Incorrect table title is displayed when an Auto Scale Group is scaled to reduce members by @BrianSantivanez in https://github.com/softlayer/softlayer-python/pull/1629
    • slcli autoscale create by @caberos in https://github.com/softlayer/softlayer-python/pull/1623
    • Soap transport by @allmightyspiff in https://github.com/softlayer/softlayer-python/pull/1626
    • fix issue on loadbal order command by @caberos in https://github.com/softlayer/softlayer-python/pull/1633
    • Policy is not added when an AutoScale Group is created by @caberos in https://github.com/softlayer/softlayer-python/pull/1637
    • When slcli event-log not return any event log the command display an error by @BrianSantivanez in https://github.com/softlayer/softlayer-python/pull/1641
    • add new columns on vlan list(premium, tags) by @caberos in https://github.com/softlayer/softlayer-python/pull/1645
    • fixed documentation build issues by @allmightyspiff in https://github.com/softlayer/softlayer-python/pull/1648
    • Improved successful response to command - slcli licenses cancel by @edsonarios in https://github.com/softlayer/softlayer-python/pull/1653
    • update the firewall list by @caberos in https://github.com/softlayer/softlayer-python/pull/1649
    • Updated readme by @allmightyspiff in https://github.com/softlayer/softlayer-python/pull/1656
    • Update slcli firewall detail to handle multi vlan firewalls by @BrianSantivanez in https://github.com/softlayer/softlayer-python/pull/1651
    • New command for getting duplicate convert status by @ko101 in https://github.com/softlayer/softlayer-python/pull/1655
    • Fixed TOX errors by @allmightyspiff in https://github.com/softlayer/softlayer-python/pull/1661
    • add a new feature to get all cloud object storage by @caberos in https://github.com/softlayer/softlayer-python/pull/1662
    • Update slcli report bandwidth command by @BrianSantivanez in https://github.com/softlayer/softlayer-python/pull/1664
    • add firewall monitoring command by @caberos in https://github.com/softlayer/softlayer-python/pull/1657
    • add a new command on block object-storage details by @caberos in https://github.com/softlayer/softlayer-python/pull/1666
    • slcli account bandwidth-pools-detail command displays an error with b… by @caberos in https://github.com/softlayer/softlayer-python/pull/1670
    • new feature block object-storage permissions command by @caberos in https://github.com/softlayer/softlayer-python/pull/1668
    • fix the vlan table by @caberos in https://github.com/softlayer/softlayer-python/pull/1672

    New Contributors

    • @BrianSantivanez made their first contribution in https://github.com/softlayer/softlayer-python/pull/1629

    Full Changelog: https://github.com/softlayer/softlayer-python/compare/v6.0.2...v6.1.0

    Source code(tar.gz)
    Source code(zip)
  • v6.0.2(Mar 30, 2022)

    What's Changed

    • New Command slcli hardware|virtual monitoring by @caberos in https://github.com/softlayer/softlayer-python/pull/1593
    • When listing datacenters/pods, mark those that are closing soon. by @caberos in https://github.com/softlayer/softlayer-python/pull/1597
    • Version to 6.0.2, locked click to 8.0.4 for now by @allmightyspiff in https://github.com/softlayer/softlayer-python/pull/1607

    Full Changelog: https://github.com/softlayer/softlayer-python/compare/v6.0.1...v6.0.2

    Source code(tar.gz)
    Source code(zip)
  • v6.0.1(Mar 11, 2022)

  • v6.0.0(Mar 11, 2022)

    What's Changed

    • Replace the use of ptable with prettytable by @dvzrv in https://github.com/softlayer/softlayer-python/pull/1584
    • Bandwidth pool management by @caberos in https://github.com/softlayer/softlayer-python/pull/1582
    • Add id in the result in the command bandwidth-pools by @edsonarios in https://github.com/softlayer/softlayer-python/pull/1586
    • Datacenter closure report by @allmightyspiff in https://github.com/softlayer/softlayer-python/pull/1592
    • fix to errors in slcli hw create-options by @caberos in https://github.com/softlayer/softlayer-python/pull/1594

    Full Changelog: https://github.com/softlayer/softlayer-python/compare/v5.9.9...v6.0.0

    Source code(tar.gz)
    Source code(zip)
  • v5.9.9(Feb 4, 2022)

    What's Changed

    • add new feature on vlan by @caberos in https://github.com/softlayer/softlayer-python/pull/1572
    • Add loadbalancer timeout values by @caberos in https://github.com/softlayer/softlayer-python/pull/1576
    • Add pricing date to slcli order preset-list by @caberos in https://github.com/softlayer/softlayer-python/pull/1578
    • Bandwidth pool features by @allmightyspiff in https://github.com/softlayer/softlayer-python/pull/1579
    • v5.9.9 changelog and updates by @allmightyspiff in https://github.com/softlayer/softlayer-python/pull/1580

    Full Changelog: https://github.com/softlayer/softlayer-python/compare/v5.9.8...v5.9.9

    Source code(tar.gz)
    Source code(zip)
  • v5.9.8(Dec 7, 2021)

    New Commands

    • loadbal l7policies #1553
      • slcli loadbal l7policies --protocol-id
      • slcli loadbal l7policies
    • Snapshot notify #1554
      • slcli file|block snapshot-set-notification
      • slcli file|block snapshot-get-notification-status

    What's Changed

    • v5.9.7 changelog by @allmightyspiff in https://github.com/softlayer/softlayer-python/pull/1528
    • Fix code blocks formatting of The Solution section docs by @ATGE in https://github.com/softlayer/softlayer-python/pull/1534
    • Add retry decorator to documentation by @ATGE in https://github.com/softlayer/softlayer-python/pull/1535
    • Issues/1532 utility docs by @ATGE in https://github.com/softlayer/softlayer-python/pull/1536
    • Add Exceptions to Documentation by @ATGE in https://github.com/softlayer/softlayer-python/pull/1537
    • Forces specific endoing on XMLRPC requests by @allmightyspiff in https://github.com/softlayer/softlayer-python/pull/1543
    • Add sensor data to hardware by @caberos in https://github.com/softlayer/softlayer-python/pull/1544
    • Ignoring f-string related messages for tox for now by @allmightyspiff in https://github.com/softlayer/softlayer-python/pull/1548
    • Fix account events by @ATGE in https://github.com/softlayer/softlayer-python/pull/1546
    • Issues/1541 loadbal details by @ATGE in https://github.com/softlayer/softlayer-python/pull/1549
    • fix: initialized accountmanger by @grafuls in https://github.com/softlayer/softlayer-python/pull/1552
    • Issues/1550 loadbal l7policies by @ATGE in https://github.com/softlayer/softlayer-python/pull/1553
    • Fix hw billing reports 0 items by @ATGE in https://github.com/softlayer/softlayer-python/pull/1556
    • Update API docs link and remove travisCI mention by @camporter in https://github.com/softlayer/softlayer-python/pull/1557
    • Snapshot notify by @hariha74 in https://github.com/softlayer/softlayer-python/pull/1554
    • return error internal in vs usage feature when sent the valid-type in… by @caberos in https://github.com/softlayer/softlayer-python/pull/1559
    • Fix errors with vs bandwidth by @allmightyspiff in https://github.com/softlayer/softlayer-python/pull/1563
    • Add Item names to vs billing report by @caberos in https://github.com/softlayer/softlayer-python/pull/1564
    • Mapping is now in collections.abc by @sandrotosi in https://github.com/softlayer/softlayer-python/pull/1565
    • fix vs placementgroup list by @caberos in https://github.com/softlayer/softlayer-python/pull/1567
    • fixed up snapshot-notification cli commands by @allmightyspiff in https://github.com/softlayer/softlayer-python/pull/1569
    • Version and changelog update to 5.9.8 by @allmightyspiff in https://github.com/softlayer/softlayer-python/pull/1570

    New Contributors

    • @grafuls made their first contribution in https://github.com/softlayer/softlayer-python/pull/1552
    • @hariha74 made their first contribution in https://github.com/softlayer/softlayer-python/pull/1554
    • @sandrotosi made their first contribution in https://github.com/softlayer/softlayer-python/pull/1565

    Full Changelog: https://github.com/softlayer/softlayer-python/compare/v5.9.7...v5.9.8

    Source code(tar.gz)
    Source code(zip)
  • v5.9.7(Aug 4, 2021)

    [5.9.7] - 2021-08-04

    https://github.com/softlayer/softlayer-python/compare/v5.9.6...v5.9.7

    Improvements

    • Fixed some doc block issues when generating HTML #1513

    • Updates to the Release workflow for publishing to test pypi #1514

    • Adding in CodeQL Analysis #1517

    • Create SECURITY.md #1518

    • Fix the network space is empty on subnet detail #1523

    • Prevents SLCLI_VERSION environment variable from breaking things #1527

    • Refactor loadbal order-options #1521

    • slcli server create-options dal13 Error #1526

    New Commands

    • add new feature on vlan cli #1499
      • slcli vlan create
    Source code(tar.gz)
    Source code(zip)
  • v5.9.6(Jul 6, 2021)

    [5.9.6] - 2021-07-05

    https://github.com/softlayer/softlayer-python/compare/v5.9.5...v5.9.6

    Improvements

    • Updated snap to core20 and edited README #1494
    • Add a table result for slcli hw upgrade output. #1488
    • Remove block/file interval option for replica volume. #1497
    • slcli vlan cancel should report if a vlan is automatic. #1495
    • New method to manage how long text is in output tables. #1506
    • Fix Tox-analysis issues. #1510

    New Commands

    • add new email feature #1483
      • slcli email list
      • slcli email detail
      • slcli email edit
    • slcli vlan cancel
    • Add slcli account licenses #1501
      • slcli account licenses
    • Create a new commands on slcli that create/cancel a VMware licenses #1504
      • slcli licenses create
      • slcli licenses cancel
    Source code(tar.gz)
    Source code(zip)
  • v5.9.5(May 26, 2021)

    [5.9.5] - 2021-05-25

    https://github.com/softlayer/softlayer-python/compare/v5.9.4...v5.9.5

    Improvements

    • Changed a testing domain to one that really doesnt exist #1492
    • Fix Incomplete notes field for file and block #1484
    • Show component versions on hw detail #1470
    • Add the firewall information on slcli firewall detail #1475
    • Add an --orderBy parameters to call-api #1459
    • Add image detail transaction data #1479
    Source code(tar.gz)
    Source code(zip)
  • v5.9.4(Apr 27, 2021)

    [5.9.4] - 2021-04-27

    https://github.com/softlayer/softlayer-python/compare/v5.9.3...v5.9.4

    New Commands

    • slcli hw authorize-storage #1439
    • slcli order quote-save #1451

    Improvements

    • Refactored managers.ordering_manager.verify_quote() to work better with the REST endpoing #1430
    • Add routers for each DC in slcli hw create-options #1432
    • Add preset datatype in slcli virtual detail #1435
    • Add upgrade option to slcli hw. #1437
    • Ibmcloud authentication support #1315 / #1447
      • slcli config setup --ibmid
      • slcli config setup --sso
      • slcli config setup --cloud_key
      • slcli config setup --classic_key
    • Refactor slcli hw detail prices. #1443
    • Updated contributing guide #1458
    • Add the Hardware components on "slcli hardware detail" #1452
    • Add billing and lastTransaction on hardware detail #1446
    • Forced reserved capacity guests to be monthly #1454
    • Removing the rwhois commands #1456
    • Added automation to publish to test-pypi #1467
    • Updating author_email to SLDN distro list #1469
    • Add the option to add and upgrade the hw disk. #1455
    • Added a utility to merge objectFilters, #1468
    • Fixes shift+ins when pasteing into a password field for windows users. #1460
    • Add Billing and lastTransaction on slcli virtual detail #1466
    • Fixing 'import mock' pylint issues #1476
    Source code(tar.gz)
    Source code(zip)
  • v5.9.3(Mar 3, 2021)

    [5.9.3] - 2021-03-03

    https://github.com/softlayer/softlayer-python/compare/v5.9.2...v5.9.3

    New Commands

    • slcli file|block disaster-recovery-failover #1407

    Improvements

    • Unit testing for large integers #1403
    • Add Multi factor authentication to users list #1408
    • Add pagination to object storage list accounts. #1411
    • Add username lookup to slcli object-storage credential #1415
    • Add IOPs data to slcli block volume-list. #1418
    • Add 2FA and classic APIKeys fields to slcli user list as default values #1421
    • Add a flags in the report bandwidth #1420
    • Add the option network component by router to slcli hw create. #1422
    • Add slcli vs create by router data. #1414
    • Add testing and support for python 3.9. #1429
    • Checking for TermLength on prices #1428
    Source code(tar.gz)
    Source code(zip)
  • v5.9.2(Dec 3, 2020)

    [5.9.2] - 2020-12-03

    https://github.com/softlayer/softlayer-python/compare/v5.9.1...v5.9.2

    New Commands

    • slcli account orders #1349
    • slcli order lookup #1354

    Improvements

    • Ordering price information improvements. #1319
    • refactor vsi create-option #1337
    • Add Invoice Item id as parameter in slcli account item-detail command
    • Added order lookup command to block and file orders. #1350
    • Add prices to vs create-options. #1351
    • Allow orders without a location if needed #1356
    • Refactor file and block commands to use the username resolver #1357
    • Fix create subnet static for ipv4 price. #1358
    • moved snapcraft readme #1363
    • Update snapcraft.yaml #1365
    • Updated documentation on how to deal with KeyError #1366
    • Fix order item-list --prices location #1360
    • Removed Nessus scanner from docs and examples #1368
    • Fix subnet list. #1379
    • Fixed analysis/flake8 tests #1381
    • Remove the -a option from slcli user create. Only the user themselves can create an API key now. #1377
    Source code(tar.gz)
    Source code(zip)
  • v5.9.1(Sep 15, 2020)

    [5.9.1] - 2020-09-15

    https://github.com/softlayer/softlayer-python/compare/v5.9.0...v5.9.1

    • Fix the ha option for firewalls, add and implement unit test #1327
    • BluePages_Search and IntegratedOfferingTeam_Region don't need SoftLayer_ prefix #972
    • Fix new TOX issues #1330
    • Add more unit test coverage #1331
    • Set notes for network storage #1322
    • Some improvements to the dns commands #999
      • dns zone-list: added resourceRecordCount, added automatic pagination for large zones
      • dns record-list: fixed an issue where a record (like SRV types) that don't have a host would cause the command to fail
    • Renamed managers.storage.refresh_dep_dupe to SoftLayer.managers.storage.refresh_dupe #1342 to support the new API method. CLI commands now use this method.
    Source code(tar.gz)
    Source code(zip)
  • v5.9.0(Aug 18, 2020)

    [5.9.0] - 2020-08-03

    https://github.com/softlayer/softlayer-python/compare/v5.8.9...v5.9.0

    • #1280 Notification Management
      • slcli user notifications
      • slcli user edit-notifications
    • #828 Added networking options to slcli hw create-options
      • Refactored slcli hw create to use the ordering manager
      • Added --network option to slcli hw create for more granular network choices.
      • Deprecated --port-speed and --no-public . They still work for now, but will be removed in a future release.
    • #1298 Fix Unhandled exception in CLI - vs detail
    • #1309 Fix the empty lines in slcli vs create-options
    • #1301 Ability to list VirtualHost capable guests
      • slcli hardware guests
      • slcli vs list will show guests on VirtualHost servers
    • #875 added option to reload bare metal servers with LVM enabled
    • #874 Added Migrate command
    • #1313 Added support for filteredMask
    • #1305 Update docs links
    • #1302 Fix lots of whitespace slcli vs create-options
    • #900 Support for STDIN on creating and updating tickets.
    • #1318 add Drive number in guest drives details using the device number
    • #1323 add vs list hardware and all option
    • #1308 Added option to upgrade and add disks to existing virtual guests
    Source code(tar.gz)
    Source code(zip)
  • v5.8.9(Jul 6, 2020)

    https://github.com/softlayer/softlayer-python/compare/v5.8.8...v5.8.9

    • #1252 Automated Snap publisher
    • #1230 Tag Management
      • slcli tags cleanup
      • slcli tags delete
      • slcli tags details
      • slcli tags list
      • slcli tags set
      • slcli tags taggable
    • #1285 Vlan editing functionality
    • #1287 Edit IP note and add ipAddress table in detail view
    • #1283 Subnet Tagging
    • #1291 Storage documentation updates
    • #1293 add system operation referenceCode in create-option
    Source code(tar.gz)
    Source code(zip)
  • v5.8.8(May 18, 2020)

    [5.8.8] - 2020-05-18

    https://github.com/softlayer/softlayer-python/compare/v5.8.7...v5.8.8

    • #1266 Fixed ticket upload with REST endpoint
    • #1263 add the redundant/degraded option to hardware
    • #1262 Added iter option for ordering manager functions
    • #1264 Add Account planned, unplanned and announcement events
    • #1265 fixed pylint 2.5.0 errors
    • #1261 Fix AttributeError: 'NoneType' object has no attribute 'keys
    • #1256 Adding more github action tests, removing travis CI tests
    • #887 fix Response shows additional new lines (\n) in ticket details
    • #1241 Storage feature for virtual and hardware servers
    • #1242 Hardware and Virtual billing info
    • #1239 VPN subnet access to a use
    • #1254 added account billing-items/item-details/cancel-item commands
    Source code(tar.gz)
    Source code(zip)
  • v5.8.7(Mar 26, 2020)

    [5.8.7] - 2020-03-26

    https://github.com/softlayer/softlayer-python/compare/v5.8.5...v5.8.7

    • #1222 Get load balancer (LBaaS) by name
    • #1221 Added version checker
    • #1227 Updated unit test suite for TravisCI to run properly
    • #1225 Add note about using multiple colon symbols not working when setting tags.
    • #1228 Support ordering Dependent Duplicate Volumes
    • #1233 Refactored File/Block managers to reduce duplicated code.
    • #1231 Added Refresh functions for Dependent Duplicate Volumes
    • #801 Added support for JSON styled parameters and object filters
    • #1234 Added ability to change which datacenters an image template was stored in
    Source code(tar.gz)
    Source code(zip)
  • v5.8.5(Jan 29, 2020)

    https://github.com/softlayer/softlayer-python/compare/v5.8.4...v5.8.5

    • #1195 Fixed an issue with slcli vs dns-sync --ptr. Added slcli hw dns-sync
    • #1199 Fix File Storage failback and failover.
    • #1198 Fix issue where the summary command fails due to None being provided as the datacenter name.
    • #1208 Added The following commands:
      • slcli block volume-limits
      • slcli file volume-limits
    • #1209 Add testing/CI for python 3.8.
    • #1212 Fix vs detail erroring on servers pending cancellation.
    • #1210 support subnet ACL management through cli
      • slcli block subnets-list
      • slcli block subnets-assign
      • slcli block subnets-remove
    • #1215 Added documentation for all SLCLI commands.
    Source code(tar.gz)
    Source code(zip)
  • v5.8.4(Dec 20, 2019)

    [5.8.5] - 2019-12-20

    https://github.com/softlayer/softlayer-python/compare/v5.8.3...v5.8.4

    • #1199 Fix block storage failback and failover.
    • #1202 Order a virtual server private.
    Source code(tar.gz)
    Source code(zip)
  • v5.8.3(Dec 11, 2019)

    https://github.com/softlayer/softlayer-python/compare/v5.8.2...v5.8.3

    • #771 Fixed unicode errors in image list (for windows)
    • #1191 Fixed ordering virtual server dedicated from the CLI
    • #1155 Fixed capacity restriction when ordering storage quotes
    • #1192 Fixed hardware detail bandwidth allocation errors.
    Source code(tar.gz)
    Source code(zip)
  • v5.8.2(Nov 15, 2019)

    [5.8.2] - 2019-11-15

    • https://github.com/softlayer/softlayer-python/compare/v5.8.1...v5.8.2
    • #1186 Fixed a unit test that could fail if the test took too long to run.
    • #1183 Added a check to ensure subnet and vlan options are properly added to the order for virtual servers.
    • #1184 Fixed a readme misspelling.
    • #1182 Fixed vs reboot unable to resolve vs names.
    • #1095 Handle missing Fixtures better for unit tests.
    Source code(tar.gz)
    Source code(zip)
  • v5.8.1(Oct 11, 2019)

    [5.8.1] - 2019-10-11

    • https://github.com/softlayer/softlayer-python/compare/v5.8.0...v5.8.1
    • #1169 Drop python 2.7 support
    • #1170 Added CS# to ticket listing
    • #1162 Fixed issue looking up OS keyName instead of referenceCode
    • #627 Autoscale support
      • slcli autoscale detail
      • slcli autoscale edit
      • slcli autoscale list
      • slcli autoscale logs
      • slcli autoscale scale
      • slcli autoscale tag
    Source code(tar.gz)
    Source code(zip)
  • v5.8.0(Sep 4, 2019)

    [5.8.0] - 2019-09-04

    • https://github.com/softlayer/softlayer-python/compare/v5.7.2...v5.8.0
    • #1143 Upgrade to prompt_toolkit >= 2
    • #1003 Bandwidth Feature
      • slcli summary
      • slcli report bandwidth
      • slcli vs bandwidth
      • slcli hw bandwidth
      • Added bandwidth to VS and HW details page
    • #1146 DOCS: replace 'developer' with 'sldn' links
    • #1147 property 'contents' is not valid for 'SoftLayer_Ticket' when creating a ticket
    • #1139 cannot create static subnet with slcli
    • #1145 Refactor cdn network.
    • #1152 IBMID auth support
    • #1153, #1052 Transient VSI support
    • #1167 Removed legacy LoadBalancer command, added Citrix and IBM LBaaS commands.
      • slcli lb cancel
      • slcli lb detail
      • slcli lb health
      • slcli lb l7pool-add
      • slcli lb l7pool-del
      • slcli lb list
      • slcli lb member-add
      • slcli lb member-del
      • slcli lb ns-detail
      • slcli lb ns-list
      • slcli lb order
      • slcli lb order-options
      • slcli lb pool-add
      • slcli lb pool-del
      • slcli lb pool-edit
    • #1157 Remove VpnAllowedFlag.
    • #1160 Improve hardware cancellation to deal with additional cases
    Source code(tar.gz)
    Source code(zip)
  • v5.7.2(May 3, 2019)

    Changes: https://github.com/softlayer/softlayer-python/compare/v5.7.1...v5.7.2

    • #1107 Added exception to handle json parsing error when ordering
    • #1068 Support for -1 when changing port speed
    • #1109 Fixed docs about placement groups
    • #1112 File storage endurance iops upgrade
    • #1101 Handle the new user creation exceptions
    • #1116 Fix order place quantity option
    • #1002 Invoice commands
      • account invoices
      • account invoice-detail
      • account summary
    • #1004 Event Notification Management commands
      • account events
      • account event-detail
    • #1117 Two PCIe items can be added at order time
    • #1121 Fix object storage apiType for S3 and Swift.
    • #1100 Event Log performance improvements.
    • #872 column 'name' was renamed to 'hostname'
    • #1127 Fix object storage credentials.
    • #1129 Fixed unexpected errors in slcli subnet create
    • #1134 Change encrypt parameters for importing of images. Adds root-key-crn
    • #208 Quote ordering commands
      • order quote
      • order quote-detail
      • order quote-list
    • #1113 VS usage information command
      • virtual usage
    • #1131 made sure config_tests dont actually make api calls.
    Source code(tar.gz)
    Source code(zip)
  • v5.6.4(Nov 16, 2018)

    Changes: https://github.com/softlayer/softlayer-python/compare/v5.6.3...v5.6.4

    #1041 Dedicated host cancel, cancel-guests, list-guests #1071 Added createDate and modifyDate parameters to sg rule-list #1060 Fixed slcli subnet list #1056 Fixed documentation link in image manager #1062 Added description to slcli order

    Source code(tar.gz)
    Source code(zip)
  • v5.6.3(Nov 7, 2018)

    • Changes: https://github.com/softlayer/softlayer-python/compare/v5.6.0...v5.6.3
    • #1065 Updated urllib3 and requests libraries due to CVE-2018-18074
    • #1070 Fixed an ordering bug
    • Updated release process and fab-file
    Source code(tar.gz)
    Source code(zip)
  • v5.6.0(Oct 17, 2018)

    • Changes: https://github.com/softlayer/softlayer-python/compare/v5.5.3...v5.6.0
    • #1026 Support for Reserved Capacity
      • slcli vs capacity create
      • slcli vs capacity create-guest
      • slcli vs capacity create-options
      • slcli vs capacity detail
      • slcli vs capacity list
    • #1050 Fix post_uri parameter name on docstring
    • #1039 Fixed suspend cloud server order.
    • #1055 Update to use click 7
    • #1053 Add export/import capabilities to/from IBM Cloud Object Storage to the image manager as well as the slcli.
    Source code(tar.gz)
    Source code(zip)
🏆 A ranked list of awesome python developer tools and libraries. Updated weekly.

Best-of Python Developer Tools ?? A ranked list of awesome python developer tools and libraries. Updated weekly. This curated list contains 250 awesom

Machine Learning Tooling 646 Jan 7, 2023
API Documentation for Python Projects

API Documentation for Python Projects. Example pdoc -o ./html pdoc generates this website: pdoc.dev/docs. Installation pip install pdoc pdoc is compat

mitmproxy 1.4k Jan 7, 2023
📖 Generate markdown API documentation from Google-style Python docstring. The lazy alternative to Sphinx.

lazydocs Generate markdown API documentation for Google-style Python docstring. Getting Started • Features • Documentation • Support • Contribution •

Machine Learning Tooling 118 Dec 31, 2022
API spec validator and OpenAPI document generator for Python web frameworks.

API spec validator and OpenAPI document generator for Python web frameworks.

1001001 249 Dec 22, 2022
A simple tutorial to get you started with Discord and it's Python API

Hello there Feel free to fork and star, open issues if there are typos or you have a doubt. I decided to make this post because as a newbie I never fo

Sachit 1 Nov 1, 2021
A swagger tool for tornado, using python to write api doc!

SwaggerDoc About A swagger tool for tornado, using python to write api doc! Installation pip install swagger-doc Quick Start code import tornado.ioloo

aaashuai 1 Jan 10, 2022
Python 3 wrapper for the Vultr API v2.0

Vultr Python Python wrapper for the Vultr API. https://www.vultr.com https://www.vultr.com/api This is currently a WIP and not complete, but has some

CSSNR 6 Apr 28, 2022
SqlAlchemy Flask-Restful Swagger Json:API OpenAPI

SAFRS: Python OpenAPI & JSON:API Framework Overview Installation JSON:API Interface Resource Objects Relationships Methods Custom Methods Class Method

Thomas Pollet 361 Nov 16, 2022
Create docsets for Dash.app-compatible API browser.

doc2dash: Create Docsets for Dash.app and Clones doc2dash is an MIT-licensed extensible Documentation Set generator intended to be used with the Dash.

Hynek Schlawack 498 Dec 30, 2022
Automated Integration Testing and Live Documentation for your API

Automated Integration Testing and Live Documentation for your API

ScanAPI 1.3k Dec 30, 2022
Swagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.

Introduction Swagger UI allows anyone — be it your development team or your end consumers — to visualize and interact with the API’s resources without

Swagger 23.2k Dec 29, 2022
Data-Scrapping SEO - the project uses various data scrapping and Google autocompletes API tools to provide relevant points of different keywords so that search engines can be optimized

Data-Scrapping SEO - the project uses various data scrapping and Google autocompletes API tools to provide relevant points of different keywords so that search engines can be optimized; as this information is gathered, the marketing team can target the top keywords to get your company’s website higher on a results page.

Vibhav Kumar Dixit 2 Jul 18, 2022
A simple document management REST based API for collaboratively interacting with documents

documan_api A simple document management REST based API for collaboratively interacting with documents.

Shahid Yousuf 1 Jan 22, 2022
🌱 Complete API wrapper of Seedr.cc

Python API Wrapper of Seedr.cc Table of Contents Installation How I got the API endpoints? Start Guide Getting Token Logging with Username and Passwor

Hemanta Pokharel 43 Dec 26, 2022
A collection of simple python mini projects to enhance your python skills

A collection of simple python mini projects to enhance your python skills

PYTHON WORLD 12.1k Jan 5, 2023
Python Eacc is a minimalist but flexible Lexer/Parser tool in Python.

Python Eacc is a parsing tool it implements a flexible lexer and a straightforward approach to analyze documents.

Iury de oliveira gomes figueiredo 60 Nov 16, 2022
Repository for learning Python (Python Tutorial)

Repository for learning Python (Python Tutorial) Languages and Tools ?? Overview ?? Repository for learning Python (Python Tutorial) Languages and Too

Swiftman 2 Aug 22, 2022
A python package to avoid writing and maintaining duplicated python docstrings.

docstring-inheritance is a python package to avoid writing and maintaining duplicated python docstrings.

Antoine Dechaume 15 Dec 7, 2022
advance python series: Data Classes, OOPs, python

Working With Pydantic - Built-in Data Process ========================== Normal way to process data (reading json file): the normal princiople, it's f

Phung Hưng Binh 1 Nov 8, 2021