All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.softlayer.api.service.utility.Network Maven / Gradle / Ivy

There is a newer version: 0.3.4
Show newest version
package com.softlayer.api.service.utility;

import com.softlayer.api.ApiClient;
import com.softlayer.api.ResponseHandler;
import com.softlayer.api.annotation.ApiMethod;
import com.softlayer.api.annotation.ApiType;
import com.softlayer.api.service.Entity;
import java.util.concurrent.Future;

/**
 * The SoftLayer_Utility_Network service allows users to send network diagnostic requests from SoftLayer's application servers to a given host on the Internet. 
 *
 * @see SoftLayer_Utility_Network
 */
@ApiType("SoftLayer_Utility_Network")
public class Network extends Entity {

    public static Service service(ApiClient client) {
        return client.createService(Service.class, null);
    }

    /**
     * The SoftLayer_Utility_Network service allows users to send network diagnostic requests from SoftLayer's application servers to a given host on the Internet. 
     *
     * @see SoftLayer_Utility_Network
     */
    @com.softlayer.api.annotation.ApiService("SoftLayer_Utility_Network")
    public static interface Service extends com.softlayer.api.Service {

        public ServiceAsync asAsync();
        public Mask withNewMask();
        public Mask withMask();
        public void setMask(Mask mask);

        /**
         * Send a single ICMP ping from SoftLayer's application servers to the given IP address or hostname and return whether or not the remote host was pingable. Pinging is a good way to determine if a particular host is alive on the Internet. A host that's unreachable to ping may not necessarily be down, as many providers employ filtering to deny ICMP traffic. Pinging a hostname instead of an IP address may fail if DNS lookup for that hostname also fails. isPingable() differs from [[SoftLayer_Utility_Network::ping|ping()]] in that it returns whether an address was pingable while ping() retrieves the full results of the ping command. 
         *
         * @see SoftLayer_Utility_Network::isPingable
         */
        @ApiMethod
        public Boolean isPingable(String address);

        /**
         * A method used to return the nameserver information for a given address
         *
         * @see SoftLayer_Utility_Network::nsLookup
         */
        @ApiMethod
        public String nsLookup(String address, String type);

        /**
         * Send a single ICMP ping from SoftLayer's application servers to the given IP address or hostname and return the raw results of that command. The returned result is similar to the result received from running the command `ping -c 1` from a command shell. Pinging is a good way to determine if a particular host is alive on the Internet. A host that's unreachable to ping may not necessarily be down, as many providers employ filtering to deny ICMP traffic. Running ping on a hostname instead of an IP address may fail if DNS lookup for that hostname also fails. 
         *
         * @see SoftLayer_Utility_Network::ping
         */
        @ApiMethod
        public String ping(String address);

        /**
         * Perform an ICMP traceroute from SoftLayer's application servers to the given IP address or hostname and return the raw results of that command. The returned result is similar to the result received from running the command `traceroute` from a UNIX command shell. A traceroute sends small diagnostic packets to every hop along the network route to a given host. Traceroutes are useful tools for debugging network connectivity to a host on the Internet. Routing loops and intermediate hop timeouts help to narrow down problematic providers along the network chain. Some providers elect to deny ICMP on their networks, which may cause a traceroute to show skewed results. Furthermore, many providers assign a low priority to traceroutes in their infrastructure which may lead to inaccurate hop response times. Running traceroute on a hostname instead of an IP address may fail if DNS lookup for that hostname also fails. 
         *
         * @see SoftLayer_Utility_Network::traceroute
         */
        @ApiMethod
        public String traceroute(String address);

        /**
         * Perform a WHOIS lookup from SoftLayer's application servers on the given IP address or hostname and return the raw results of that command. The returned result is similar to the result received from running the command `whois` from a UNIX command shell. A WHOIS lookup queries a host's registrar to retrieve domain registrant information including registration date, expiry date, and the administrative, technical, billing, and abuse contacts responsible for a domain. WHOIS lookups are useful for determining a physical contact responsible for a particular domain. WHOIS lookups are also useful for determining domain availability. Running a WHOIS lookup on an IP address queries ARIN for that IP block's ownership, and is helpful for determining a physical entity responsible for a certain IP address. 
         *
         * @see SoftLayer_Utility_Network::whois
         */
        @ApiMethod
        public String whois(String address);

    }

    public static interface ServiceAsync extends com.softlayer.api.ServiceAsync {

        public Mask withNewMask();
        public Mask withMask();
        public void setMask(Mask mask);

        /**
         * Async version of {@link Service#isPingable}
         */
        public Future isPingable(String address);

        public Future isPingable(String address, ResponseHandler callback);

        /**
         * Async version of {@link Service#nsLookup}
         */
        public Future nsLookup(String address, String type);

        public Future nsLookup(String address, String type, ResponseHandler callback);

        /**
         * Async version of {@link Service#ping}
         */
        public Future ping(String address);

        public Future ping(String address, ResponseHandler callback);

        /**
         * Async version of {@link Service#traceroute}
         */
        public Future traceroute(String address);

        public Future traceroute(String address, ResponseHandler callback);

        /**
         * Async version of {@link Service#whois}
         */
        public Future whois(String address);

        public Future whois(String address, ResponseHandler callback);

    }

    public static class Mask extends com.softlayer.api.service.Entity.Mask {

    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy