code: function doesInstanceProfileExist (iam, instanceProfileName) {
    function inspectError (err) {
      if (err.code === 'NoSuchEntity') {
        return false
      }
  
      return Bluebird.reject(err)
    }
  
    return iam
      .getInstanceProfilePromised({ InstanceProfileName: instanceProfileName })
      .then(_.constant(true))
      .error(inspectError)
  }
docs: Uses IAM.getInstanceProfile to check the existence of the instanceProfile.
  If the response comes back with instanceProfile data, the promise is
  resolved with True. If an error occurs the err is inspected to see if it is
  a 'NoSuchEntity' / 404 error. If it is, this means the instanceProfile does
  not exist, and the promise is resolved with False. All other errors result
  in a rejection.
  
  @returns {Promise}