Interface Subnet.Service
-
- All Superinterfaces:
Maskable
,ResultLimitable
,Service
- Enclosing class:
- Subnet
@ApiService("SoftLayer_Network_Subnet") public static interface Subnet.Service extends Service
Every SoftLayer ip address is associated with a subnet which is defined in the SoftLayer_Network_Subnet service. SoftLayer subnets define a group of ip addresses and are assigned to a SoftLayer_Network_Vlan. The SoftLayer_Network_Subnet service gives you information about your subnet such as your network address, broadcast address, the subnet gateway address, and the total number of IP addresses within the subnet. Use the data returned by these methods with other API services to get more detailed information about your services.
Along with VLANs, subnets are an integral part of the SoftLayer network. Each server ordered by SoftLayer comes with at least one public and one private subnet, with more available for order in the customer portal. Subnets exist in the SoftLayer network as either interfaces on a VLAN or as route destination from an IP address or VLAN.
SoftLayer customers can order and manage subnets through the customer portal. If you need to cancel a subnet please open a sales ticket in our customer portal and our account management staff will assist you.- See Also:
- SoftLayer_Network_Subnet
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Boolean
allowAccessToNetworkStorage(Storage networkStorageTemplateObject)
This method is used to allow access to a SoftLayer_Network_Storage volume that supports host- or network-level access control.Boolean
allowAccessToNetworkStorageList(List<Storage> networkStorageTemplateObjects)
This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.Subnet.ServiceAsync
asAsync()
Get an async version of this serviceBoolean
clearRoute()
This interface allows you to remove the route of your Account Owned subnets.Reverse
createReverseDomainRecords()
Create the default PTR records for this subnetBoolean
createSubnetRouteUpdateTransaction(String newEndPointIpAddress)
***DEPRECATED***
This endpoint is deprecated in favor of the more expressive and capable SoftLayer_Network_Subnet::route, to which this endpoint now proxies.Boolean
createSwipTransaction()
***DEPRECATED***
This function is used to create a new SoftLayer SWIP transaction to register your RWHOIS data with ARIN.Boolean
editNote(String note)
Edit the note for this subnet.List<Subnet>
findAllSubnetsAndActiveSwipTransactionStatus()
***DEPRECATED***
Retrieve a list of a SoftLayer customer's subnets along with their SWIP transaction statuses.Account
getAccount()
Registration
getActiveRegistration()
If present, the active registration for this subnet.Transaction
getActiveSwipTransaction()
DEPRECATEDTransaction
getActiveTransaction()
DEPRECATEDString
getAddressSpace()
Identifier which distinguishes what classification of addresses the subnet represents.Host
getAllowedHost()
The SoftLayer_Network_Storage_Allowed_Host information to connect this Subnet to Network Storage supporting access control lists.List<Storage>
getAllowedNetworkStorage()
The SoftLayer_Network_Storage objects that this SoftLayer_Hardware has access to.List<Storage>
getAllowedNetworkStorageReplicas()
The SoftLayer_Network_Storage objects whose Replica that this SoftLayer_Hardware has access to.List<Storage>
getAttachedNetworkStorages(String nasType)
This method is retrieve a list of SoftLayer_Network_Storage volumes that are authorized access to this SoftLayer_Network_Subnet.List<Storage>
getAvailableNetworkStorages(String nasType)
This method retrieves a list of SoftLayer_Network_Storage volumes that can be authorized to this SoftLayer_Network_Subnet.Item
getBillingItem()
The billing item for a subnet.List<Subnet>
getBoundDescendants()
Boolean
getBoundRouterFlag()
Whether or not this subnet is associated with a router.List<Hardware>
getBoundRouters()
List<Subnet>
getChildren()
Datacenter
getDatacenter()
The data center this subnet may be routed within.List<Subnet>
getDescendants()
String
getDisplayLabel()
IpAddress
getEndPointIpAddress()
A static routed ip addressGlobal
getGlobalIpRecord()
List<Hardware>
getHardware()
The hardware using IP addresses on this subnet.List<IpAddress>
getIpAddresses()
All the ip addresses associated with a subnet.Firewall
getNetworkComponentFirewall()
The upstream network component firewall.List<Address>
getNetworkProtectionAddresses()
List<Context>
getNetworkTunnelContexts()
IPSec network tunnels that have access to a private subnet.Vlan
getNetworkVlan()
The VLAN object that a subnet is associated with.Subnet
getObject()
getObject retrieves the SoftLayer_Network_Subnet object whose ID number corresponds to the ID number of the init parameter passed to the SoftLayer_Network_Subnet service.String
getPodName()
The pod in which this subnet resides.List<IpAddress>
getProtectedIpAddresses()
Registry
getRegionalInternetRegistry()
List<Registration>
getRegistrations()
All registrations that have been created for this subnet.Domain
getReverseDomain()
The reverse DNS domain associated with this subnet.List<Domain>
getReverseDomainRecords()
Retrieve all reverse DNS records associated with a subnet.String
getRoleKeyName()
An identifier of the role the subnet is within.String
getRoleName()
The name of the role the subnet is within.List<IpAddress>
getRoutableEndpointIpAddresses()
Returns IP addresses which may be used as routing endpoints for a given subnet.String
getRoutingTypeKeyName()
The identifier for the type of route then subnet is currently configured for.String
getRoutingTypeName()
The name for the type of route then subnet is currently configured for.Subnet
getSubnetForIpAddress(String ipAddress)
Retrieve the subnet associated with an IP address.List<Transaction>
getSwipTransaction()
DEPRECATEDList<Reference>
getTagReferences()
References to all tags for this subnet.List<Subnet>
getUnboundDescendants()
Long
getUtilizedIpAddressCount()
Provides the total number of utilized IP addresses on this subnet.List<Guest>
getVirtualGuests()
The Virtual Servers using IP addresses on this subnet.Boolean
removeAccessToNetworkStorageList(List<Storage> networkStorageTemplateObjects)
This method is used to remove access to multiple SoftLayer_Network_Storage volumesBoolean
route(String type, String identifier)
This interface allows you to change the route of your Account Owned subnets.void
setMask(Subnet.Mask mask)
Boolean
setTags(String tags)
Tag a subnet by passing in one or more tags separated by a comma.Subnet.Mask
withMask()
Use the existing mask on this service or create it if not presentSubnet.Mask
withNewMask()
Overwrite the existing mask on this service with a new one and return it-
Methods inherited from interface com.softlayer.api.ResultLimitable
getLastResponseTotalItemCount, getResultLimit, setResultLimit
-
-
-
-
Method Detail
-
asAsync
Subnet.ServiceAsync asAsync()
Description copied from interface:Service
Get an async version of this service
-
withNewMask
Subnet.Mask withNewMask()
Description copied from interface:Maskable
Overwrite the existing mask on this service with a new one and return it- Specified by:
withNewMask
in interfaceMaskable
-
withMask
Subnet.Mask withMask()
Description copied from interface:Maskable
Use the existing mask on this service or create it if not present
-
setMask
void setMask(Subnet.Mask mask)
-
allowAccessToNetworkStorage
@ApiMethod(instanceRequired=true) Boolean allowAccessToNetworkStorage(Storage networkStorageTemplateObject)
This method is used to allow access to a SoftLayer_Network_Storage volume that supports host- or network-level access control.
-
allowAccessToNetworkStorageList
@ApiMethod(instanceRequired=true) Boolean allowAccessToNetworkStorageList(List<Storage> networkStorageTemplateObjects)
This method is used to allow access to multiple SoftLayer_Network_Storage volumes that support host- or network-level access control.
-
clearRoute
@ApiMethod(instanceRequired=true) Boolean clearRoute()
This interface allows you to remove the route of your Account Owned subnets. The result will be a subnet that is no longer routed on the network. Remove the route of subnets you are not actively using, as it will make it easier to identify available subnets later.
'''Important:''' When removing the route of ''Portable'' subnets, know that any subnet depending on an IP address provided by the Portable subnet will also have their routes removed!
To review what subnets are routed to IP addresses provided by a ''Portable'' subnet, you can utilize the following object mask: 'mask[ipAddresses[endpointSubnets]]'. Any subnet present in conjunction with ''endpointSubnets'' is a subnet which depends on the respective IP address.
The behavior of this interface is such that either true or false is returned. A result of false can be interpreted as the clear route request having already been completed. In contrast, a result of true means the subnet is currently routed and will be transitioned. This route change is asynchronous to the request. A response of true does not mean the subnet's route has changed, but simply that it will change. In order to monitor for the completion of the change, you may either attempt a clear route again until the result is false, or monitor one or more SoftLayer_Network_Subnet properties: subnetType, networkVlanId, and or endPointIpAddress to determine if routing of the subnet has been removed.- See Also:
- SoftLayer_Network_Subnet::clearRoute
-
createReverseDomainRecords
@ApiMethod(instanceRequired=true) Reverse createReverseDomainRecords()
Create the default PTR records for this subnet
-
createSubnetRouteUpdateTransaction
@ApiMethod(instanceRequired=true) Boolean createSubnetRouteUpdateTransaction(String newEndPointIpAddress)
***DEPRECATED***
This endpoint is deprecated in favor of the more expressive and capable SoftLayer_Network_Subnet::route, to which this endpoint now proxies. Refer to it for more information.
Similarly, unroute requests are proxied to SoftLayer_Network_Subnet::clearRoute.
-
createSwipTransaction
@ApiMethod(instanceRequired=true) Boolean createSwipTransaction()
***DEPRECATED***
This function is used to create a new SoftLayer SWIP transaction to register your RWHOIS data with ARIN. SWIP transactions can only be initiated on subnets that contain more than 8 IP addresses.
-
editNote
@ApiMethod(instanceRequired=true) Boolean editNote(String note)
Edit the note for this subnet.- See Also:
- SoftLayer_Network_Subnet::editNote
-
findAllSubnetsAndActiveSwipTransactionStatus
@ApiMethod List<Subnet> findAllSubnetsAndActiveSwipTransactionStatus()
***DEPRECATED***
Retrieve a list of a SoftLayer customer's subnets along with their SWIP transaction statuses. This is a shortcut method that combines the SoftLayer_Network_Subnet retrieval methods along with [[object masks]] to retrieve their subnets' associated SWIP transactions as well.
This is a special function built for SoftLayer's use on the SWIP section of the customer portal, but may also be useful for API users looking for the same data.
-
getAttachedNetworkStorages
@ApiMethod(instanceRequired=true) List<Storage> getAttachedNetworkStorages(String nasType)
This method is retrieve a list of SoftLayer_Network_Storage volumes that are authorized access to this SoftLayer_Network_Subnet.
-
getAvailableNetworkStorages
@ApiMethod(instanceRequired=true) List<Storage> getAvailableNetworkStorages(String nasType)
This method retrieves a list of SoftLayer_Network_Storage volumes that can be authorized to this SoftLayer_Network_Subnet.
-
getObject
@ApiMethod(instanceRequired=true) Subnet getObject()
getObject retrieves the SoftLayer_Network_Subnet object whose ID number corresponds to the ID number of the init parameter passed to the SoftLayer_Network_Subnet service. You can only retrieve the subnet whose vlan is associated with the account that you portal user is assigned to.- See Also:
- SoftLayer_Network_Subnet::getObject
-
getReverseDomainRecords
@ApiMethod(instanceRequired=true) List<Domain> getReverseDomainRecords()
Retrieve all reverse DNS records associated with a subnet.
-
getRoutableEndpointIpAddresses
@ApiMethod(instanceRequired=true) List<IpAddress> getRoutableEndpointIpAddresses()
Returns IP addresses which may be used as routing endpoints for a given subnet. IP address which are currently the network, gateway, or broadcast address of a Secondary Portable subnet, are an address in a Secondary Static subnet, or if the address is not assigned to a resource when part of a Primary Subnet will not be available as a routing endpoint.
-
getSubnetForIpAddress
@ApiMethod Subnet getSubnetForIpAddress(String ipAddress)
Retrieve the subnet associated with an IP address. You may only retrieve subnets assigned to your SoftLayer customer account.
-
removeAccessToNetworkStorageList
@ApiMethod(instanceRequired=true) Boolean removeAccessToNetworkStorageList(List<Storage> networkStorageTemplateObjects)
This method is used to remove access to multiple SoftLayer_Network_Storage volumes
-
route
@ApiMethod(instanceRequired=true) Boolean route(String type, String identifier)
This interface allows you to change the route of your Account Owned subnets. It accommodates a number of ways to identify your desired routing destination through the use of a 'type' and 'identifier'. Subnets may be routed as either Static or Portable, and that designation is dictated by the routing destination specified.
Static subnets have an ultimate routing destination of a single IP address but may not be routed to an existing subnet's IP address whose subnet is routed as a Static. Portable subnets have an ultimate routing destination of a VLAN.
A subnet can be routed to any resource within the same "routing region" as the subnet itself. A subnet's routing region can be diverse but is usually limited to a single data center.
The following identifier 'type' values will result in Static routing:- SoftLayer_Network_Subnet_IpAddress
- SoftLayer_Hardware_Server
- SoftLayer_Virtual_Guest
The following identifier 'type' values will result in Portable routing:- SoftLayer_Network_Vlan
For each identifier type, one or more 'identifier' formats are possible.
''SoftLayer_Network_Subnet_IpAddress'' will accept the following identifier formats:- An entirely numeric value will be treated as a SoftLayer_Network_Subnet_IpAddress.id value of the desired IP address object.
- A dotted-quad IPv4 address.
- A full or compressed IPv6 address.
''SoftLayer_Network_Vlan'' will accept the following identifier formats:- An entirely numeric value will be treated as a SoftLayer_Network_Vlan.id value of the desired VLAN object.
- A semantic VLAN identifier of the form .
. , eg. dal13.fcr01.1234 - the router name may optionally contain the 'a' or 'b' redundancy qualifier (which has no meaning in this context).
''SoftLayer_Hardware_Server'' will accept the following identifier formats:- An entirely numeric value will be treated as a SoftLayer_Hardware_Server.id value of the desired server.
- A UUID corresponding to a server's SoftLayer_Hardware_Server.globalIdentifier.
- A value corresponding to a unique SoftLayer_Hardware_Server.hostname.
- A value corresponding to a unique fully-qualified domain name in the format 'hostname<domain>' where < and > are literal, hostname refers to SoftLayer_Hardware_Server.hostname and domain to SoftLayer_Hardware_Server.domain, respectively.
''SoftLayer_Virtual_Guest'' will accept the following identifier formats:- An entirely numeric value will be treated as a SoftLayer_Virtual_Guest.id value of the desired server.
- A UUID corresponding to a server's SoftLayer_Virtual_Guest.globalIdentifier.
- A value corresponding to a unique SoftLayer_Virtual_Guest.hostname.
- A value corresponding to a unique fully-qualified domain name in the format 'hostname<domain>' where < and > are literal, hostname refers to SoftLayer_Virtual_Guest.hostname and domain to SoftLayer_Virtual_Guest.domain, respectively.
The routing destination result of specifying a SoftLayer_Hardware_Server or SoftLayer_Virtual_Guest type will be the primary IP address of the server for the same network segment the subnet is on. Thus, a public subnet will be routed to the server's public, primary IP address. Additionally, this IP address resolution will match the subnet's IP version; routing a IPv6 subnet to a server will result in selection of the primary IPv6 address of the respective network segment, if available.
Subnets may only be routed to the IP version they themselves represent. That means an IPv4 subnet can only be routed to IPv4 addresses. Any type/identifier combination that resolves to an IP address must be able to locate an IP address of the same version as the subnet being routed.
When routing to an IP address on a Primary subnet, only those addresses actively assigned to resources may be targeted. Additionally, the network, gateway, or broadcast address of any Portable subnet may not be a routing destination. For some VLANs utilizing the HSRP redundancy strategy, there are additional addresses which cannot be a route destination.
When routing a subnet that is already routed, note that the subnet first has its route removed; this procedure is the same as what will occur when using SoftLayer_Network_Subnet::clearRoute. Special consideration should be made for subnets routed as Portable. Please refer to the documentation for SoftLayer_Network_Subnet::clearRoute for details.
The behavior of this interface is such that either true or false is returned. A response of false indicates the route request would not result in the route of the subnet changing; attempts to route the subnet to the same destination, even if identified by differing means, will result in no changes. A result of false can be interpreted as the route request having already been completed. In contrast, a result of true means the requested destination is different from the current destination and the subnet's routing will be transitioned. This route change is asynchronous to the request. A response of true does not mean the subnet's route has changed, but simply that it will change. In order to monitor for the completion of the change, you may either attempt a route change again until the result is false, or monitor one or more SoftLayer_Network_Subnet properties: subnetType, networkVlanId, and or endPointIpAddress to determine if routing of the subnet has become the desired route destination.
Use of this operation is limited to a single active request per subnet. If a previous route request is not yet complete, a "not ready" message will be returned upon subsequent requests.- See Also:
- SoftLayer_Network_Subnet::route
-
setTags
@ApiMethod(instanceRequired=true) Boolean setTags(String tags)
Tag a subnet by passing in one or more tags separated by a comma. Any existing tags you wish to keep should be included in the set of tags, as any missing tags will be removed. To remove all tags from the subnet, send an empty string.- See Also:
- SoftLayer_Network_Subnet::setTags
-
getAccount
@ApiMethod(instanceRequired=true) Account getAccount()
- See Also:
- SoftLayer_Network_Subnet::getAccount
-
getActiveRegistration
@ApiMethod(instanceRequired=true) Registration getActiveRegistration()
If present, the active registration for this subnet.
-
getActiveSwipTransaction
@ApiMethod(instanceRequired=true) Transaction getActiveSwipTransaction()
DEPRECATED
-
getActiveTransaction
@ApiMethod(instanceRequired=true) Transaction getActiveTransaction()
DEPRECATED
-
getAddressSpace
@ApiMethod(instanceRequired=true) String getAddressSpace()
Identifier which distinguishes what classification of addresses the subnet represents.
-
getAllowedHost
@ApiMethod(instanceRequired=true) Host getAllowedHost()
The SoftLayer_Network_Storage_Allowed_Host information to connect this Subnet to Network Storage supporting access control lists.- See Also:
- SoftLayer_Network_Subnet::getAllowedHost
-
getAllowedNetworkStorage
@ApiMethod(instanceRequired=true) List<Storage> getAllowedNetworkStorage()
The SoftLayer_Network_Storage objects that this SoftLayer_Hardware has access to.
-
getAllowedNetworkStorageReplicas
@ApiMethod(instanceRequired=true) List<Storage> getAllowedNetworkStorageReplicas()
The SoftLayer_Network_Storage objects whose Replica that this SoftLayer_Hardware has access to.
-
getBillingItem
@ApiMethod(instanceRequired=true) Item getBillingItem()
The billing item for a subnet.- See Also:
- SoftLayer_Network_Subnet::getBillingItem
-
getBoundDescendants
@ApiMethod(instanceRequired=true) List<Subnet> getBoundDescendants()
-
getBoundRouterFlag
@ApiMethod(instanceRequired=true) Boolean getBoundRouterFlag()
Whether or not this subnet is associated with a router. Subnets that are not associated with a router cannot be routed.
-
getBoundRouters
@ApiMethod(instanceRequired=true) List<Hardware> getBoundRouters()
-
getChildren
@ApiMethod(instanceRequired=true) List<Subnet> getChildren()
- See Also:
- SoftLayer_Network_Subnet::getChildren
-
getDatacenter
@ApiMethod(instanceRequired=true) Datacenter getDatacenter()
The data center this subnet may be routed within.- See Also:
- SoftLayer_Network_Subnet::getDatacenter
-
getDescendants
@ApiMethod(instanceRequired=true) List<Subnet> getDescendants()
- See Also:
- SoftLayer_Network_Subnet::getDescendants
-
getDisplayLabel
@ApiMethod(instanceRequired=true) String getDisplayLabel()
-
getEndPointIpAddress
@ApiMethod(instanceRequired=true) IpAddress getEndPointIpAddress()
A static routed ip address
-
getGlobalIpRecord
@ApiMethod(instanceRequired=true) Global getGlobalIpRecord()
-
getHardware
@ApiMethod(instanceRequired=true) List<Hardware> getHardware()
The hardware using IP addresses on this subnet.- See Also:
- SoftLayer_Network_Subnet::getHardware
-
getIpAddresses
@ApiMethod(instanceRequired=true) List<IpAddress> getIpAddresses()
All the ip addresses associated with a subnet.- See Also:
- SoftLayer_Network_Subnet::getIpAddresses
-
getNetworkComponentFirewall
@ApiMethod(instanceRequired=true) Firewall getNetworkComponentFirewall()
The upstream network component firewall.
-
getNetworkProtectionAddresses
@ApiMethod(instanceRequired=true) List<Address> getNetworkProtectionAddresses()
-
getNetworkTunnelContexts
@ApiMethod(instanceRequired=true) List<Context> getNetworkTunnelContexts()
IPSec network tunnels that have access to a private subnet.
-
getNetworkVlan
@ApiMethod(instanceRequired=true) Vlan getNetworkVlan()
The VLAN object that a subnet is associated with.- See Also:
- SoftLayer_Network_Subnet::getNetworkVlan
-
getPodName
@ApiMethod(instanceRequired=true) String getPodName()
The pod in which this subnet resides.- See Also:
- SoftLayer_Network_Subnet::getPodName
-
getProtectedIpAddresses
@ApiMethod(instanceRequired=true) List<IpAddress> getProtectedIpAddresses()
-
getRegionalInternetRegistry
@ApiMethod(instanceRequired=true) Registry getRegionalInternetRegistry()
-
getRegistrations
@ApiMethod(instanceRequired=true) List<Registration> getRegistrations()
All registrations that have been created for this subnet.
-
getReverseDomain
@ApiMethod(instanceRequired=true) Domain getReverseDomain()
The reverse DNS domain associated with this subnet.
-
getRoleKeyName
@ApiMethod(instanceRequired=true) String getRoleKeyName()
An identifier of the role the subnet is within. Roles dictate how a subnet may be used.- See Also:
- SoftLayer_Network_Subnet::getRoleKeyName
-
getRoleName
@ApiMethod(instanceRequired=true) String getRoleName()
The name of the role the subnet is within. Roles dictate how a subnet may be used.- See Also:
- SoftLayer_Network_Subnet::getRoleName
-
getRoutingTypeKeyName
@ApiMethod(instanceRequired=true) String getRoutingTypeKeyName()
The identifier for the type of route then subnet is currently configured for.
-
getRoutingTypeName
@ApiMethod(instanceRequired=true) String getRoutingTypeName()
The name for the type of route then subnet is currently configured for.
-
getSwipTransaction
@ApiMethod(instanceRequired=true) List<Transaction> getSwipTransaction()
DEPRECATED
-
getTagReferences
@ApiMethod(instanceRequired=true) List<Reference> getTagReferences()
References to all tags for this subnet.
-
getUnboundDescendants
@ApiMethod(instanceRequired=true) List<Subnet> getUnboundDescendants()
-
getUtilizedIpAddressCount
@ApiMethod(instanceRequired=true) Long getUtilizedIpAddressCount()
Provides the total number of utilized IP addresses on this subnet. The primary consumer of IP addresses are compute resources, which can consume more than one address. This value is only supported for primary subnet types.
-
getVirtualGuests
@ApiMethod(instanceRequired=true) List<Guest> getVirtualGuests()
The Virtual Servers using IP addresses on this subnet.
-
-