Archive for the 'Features' Category

A Boatload Of New Features!

Howdy everyone! We’ve been pounding some really cool features out lately and just updated our documentation wiki with their API services. In addition to a whole ton of new additions to the SoftLayer_Account, SoftLayer_Hardware_Server, and our other staple services we’re proud to introduce:

I love the wide collection of services we’ve got running here. Quite a few of the features available in our CDNLayer API is from direct user feedback. If you have any questions how to use these services or want us to implement a feature drop us a line on our forums. In the meantime happy coding, everyone!

No comments

Worth A Thousand Words

Logan, the chief architect behind our API framework, has been playing with graphviz lately to make pretty pictures out of our codebase and help find areas for improvement. You’d be surprised at how much a map of your object relationships can help make your structure more efficient. These pictures looked so cool that I asked him for a diagram of our API’s object relationships.

The picture below represents how each API data type relates to each other. The ones with the most lines connecting them to outher types are SoftLayer_Account and SoftLayer_Hardware. Go figure. : ) Here’s an SVG version of the image or click on the image below for a higher resolution version for your viewing pleasure. It looks most impressive when printed out and taped to your cubicle wall. Enjoy! See y’all next time.

No comments

Where’s the Beef?

In preparation for the new Seattle launch this Monday we’ve updated getHardwareList() to return a “Location” string at the end of the return array. Location reads “Dallas” for servers in Dallas and strangely enough it reads “Seattle” for servers in Seattle. It’s great to see all this prep-work coming together, though I think we developers will need a nap once the dust settles. In the mean time there’s always Monster.

A few months ago I talked about a fancy new API feature coming up. Sit tight, everyone. We’re still working on it. It’s going to knock your socks off. :)

No comments

Catching Up

(This post refers to SoftLayer API version 1. Check out API version 3 for our latest updates.)

Where has the time gone? We’ve been busy in the devCave working out some big projects and improving what we’ve got. In the mean time here’s some new API features for ya’ll to try out:

 
Back It Up
 

You can now query the state of your NAS or lockbox accounts through the API via the getNasSummaryDetails(strNasType) method. Pass along the string “N” or “L” if you want to check NAS or lockbox accounts and it’ll return a list of NAS accounts containing your NAS server’s hostname and IP address, connect username and password, capacity, and the server id and name that the NAS account is attached to. If your NAS account isn’t tied to a server then it returns “N/A” for the attached server hostname and IP address. Its another way to keep track of your services through the API.

 
The Port Authority
 

The Port Control features of the Customer Portal are now available in the API to help you manage your ports programmatically. Now you can get the port SPEED of the given server by using the method, getServerPortSpeed(strServerIdentifier). This function also returns the ID, SERVERNAME, PUBLIC IP, and PRIVATE IP. If you would like to broaden your scope of data, use the getServerPortSpeedList() method. This function returns the same data provided by the former but for all of your servers.

With access to this data, you may find that you want to make a few changes. The updateServerPortSpeed(strServerIdentifier, intNewSpeed, strControlInterface) function was created to do just that. Just provide the ID of your server (IP or Hardware ID), the new port speed that you would like configured (values of 0, 10, 100, 1000), and the interface (public or private), and you are on your way. Not only will the ports for the specified server be reconfigured, but the upstream and downstream connected components will be updated as well.

Give it a shot and let us know your thoughts!

No comments

Revenge of the bugfixes

(This post refers to SoftLayer API version 1. Check out API version 3 for our latest updates.)

We’ve updated the API again! This latest refresh sports:

  • fixed: getBandwidthList()’s output now mirrors the estimated and projected bandwidth amounts measured by our management portal.
  • fixed: Hostnames and domain names in server names are now separated by a period in getBandwidthList()’s output.
  • fixed: The Savvis #2 and Global Grossing links are now properly reported in getBackboneList().
  • added: The getServerBandwidthDetails() method has been added to the SoftLayer API. getServerBandwidthDetails() mirrors getBandwidthList()’s output for a single server. It returns an array and requires two paraeters:

    strServerIdentifier: A server ID, public IP addres, or private IP address.
    strBandwidthType: The string “public” or “private” depending on which port you want to retrieve bandwidth data from. This value defaults to “public”.

We really should give a shout out to those that have been keeping us on our toes by reporting issues to us on our forums and in support tickets. Please keep them coming. Your contributions are turning the API into a great product. See ya’ll next time!

No comments

Go Play in a Sandbox

(This post refers to SoftLayer API version 1. Check out API version 3 for our latest updates.)

I think we on the SLDN development team have it pretty lucky. You can’t beat developing at a datacenter where there are umpteen, wonderful servers to test your code on. Need to reboot a box? Sure! Go for it! After all, it’s just a quick phone call to the datacenter to bring it back online if your test code broke something. In the mean time there are plenty of other boxes to test on. Sure that’s great for us, but it can get hairy if you only have one or two systems to test with. While our sales droids would have you fix that by ordering more servers we on the dev team just implemented a tried and true code test mechanism, the sandbox! Wait, I mean this sandbox!

Our API sandbox is a way for you to safely test sensitive methods without affecting your servers. Method calls from the sandbox will return accurate return data without actually affecting your services or SoftLayer services. Most of our methods are simple get methods; those still work exactly the same. More fun methods like rebootServer() will not reboot your server if called from our sandbox, but will return the same response to your app as if they did.

To use the API sandbox change the API entry point server in your code to api-sandbox.service.softlayer.com. That’s it! Use the same methods and parameters that you’d normally call. The sandbox works on both the XML-RPC and SOAP interfaces. When you’re done testing point your API calls back to api.service.softlayer.com to return to normal functionality.

As always, we welcome your feedback and suggestions. Let us know what you think on our forums. See you next time!

No comments

More methods, this time for the bean counters.

(This post refers to SoftLayer API version 1. Check out API version 3 for our latest updates.)

We’ve put four new methods into the API. They are:

getInvoiceList()
Return a listing for each account that includes the invoice id, date, starting balance, ending balance, invoice amount, payment amount, and account type.

getAccountBalance()
Return the current balance and next bill date for an account.

getInvoice(intInvoiceId)
Retrieve a copy of an invoice in PDF format.

And by request:

getServerCost(strServerIdentifier)
Return the “Total cost of a single server.”

Keep’em comin’, epratt!

By the way, users running each of these methods must have the “View Account Summary” priviledge. You should not have any problem if you can access the accounting tools in the portal.

No comments

New API method for searching IP addresses

(This post refers to SoftLayer API version 1. Check out API version 3 for our latest updates.)

We’ve added a new feature to the
Softlayer API: getIPaddressDetails. For a given IP address, this method will retrieve the parent subnet, VLAN identifier, IP address which it is routed to and the name of the server it’s routed to. Instead of using the customer portal and typing in a slew of IP addresses one by one into the public network ip search page, simply call this IP for each IP address, saving you time and typing. It’s incredibly useful for tracking down your secondary IPs.

getIPaddressDetails(strIPaddress)
Retreive subnet and server details for given IP Address

This new method is available via both SOAP and XML-RPC interface.

We’d love to hear your thoughts on this new feature. Feel free to provide any comments and recommendations for improvements on this new API.

No comments

It pays to ask

(This post refers to SoftLayer API version 1. Check out API version 3 for our latest updates.)

Ask…

And you shall receive…

The newest addition to the API methods has been released and is now available for use. We have improved upon the Portal’s monitoring features by adding just a little more data. In addition to receiving the number of servers that are up, recovering, and down, the new function also returns an array with specific details about the servers that are down. This includes: SERVER_NAME, ID, PUBLIC_IP, PRIVATE_IP, and TIME_FIRST_DOWN, which as requested is “the time that the monitoring system first detected that it was down”.

getServerStatus()
Retreive a server status of UP DOWN or RECOVERING for a given account id.

The new method is available through our SOAP and XML-RPC interfaces. Okay, so we didn’t quite give you exactly what you asked for, we gave you more!

No comments

API Addition - Backbone Graphs

(This post refers to SoftLayer API version 1. Check out API version 3 for our latest updates.)

Due to popular demand, we rolled out a change today which allows querying of our backbone connection graphs. For the uninitiated, backbone graphs show the network usage between the SoftLayer datacenter and the Internet. This functionality was accomplished by adding two new methods to the SoftLayer API.

getBackboneList
Retrieves an array of id and name pairs for all SoftLayer’s Backbone providers

getBackboneImage(intBackboneId)
Retrieves a PNG image for display or local storage

Both of the methods are available via the SOAP and XML-RPC interfaces. We will be updating the documentation and examples for these methods and a few other additions (Top Secret) over the next few weeks.

1 comment

Next Page »