com.softlayer.api.service.network.vlan.Firewall Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of softlayer-api-client Show documentation
Show all versions of softlayer-api-client Show documentation
API client for accessing the SoftLayer API
package com.softlayer.api.service.network.vlan;
import com.softlayer.api.ApiClient;
import com.softlayer.api.ResponseHandler;
import com.softlayer.api.annotation.ApiMethod;
import com.softlayer.api.annotation.ApiProperty;
import com.softlayer.api.annotation.ApiType;
import com.softlayer.api.service.Entity;
import com.softlayer.api.service.Location;
import com.softlayer.api.service.billing.Item;
import com.softlayer.api.service.metric.tracking.Object;
import com.softlayer.api.service.network.Gateway;
import com.softlayer.api.service.network.Vlan;
import com.softlayer.api.service.network.bandwidth.Usage;
import com.softlayer.api.service.network.vlan.firewall.Rule;
import com.softlayer.api.service.product.upgrade.Request;
import com.softlayer.api.service.provisioning.version1.Transaction;
import com.softlayer.api.service.software.component.Password;
import com.softlayer.api.service.tag.Reference;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Future;
/**
* The SoftLayer_Network_Vlan_Firewall data type contains general information relating to a single SoftLayer VLAN firewall. This is the object which ties the running rules to a specific downstream server. Use the [[SoftLayer Network Firewall Template]] service to pull SoftLayer recommended rule set templates. Use the [[SoftLayer Network Firewall Update Request]] service to submit a firewall update request.
*
* @see SoftLayer_Network_Vlan_Firewall
*/
@ApiType("SoftLayer_Network_Vlan_Firewall")
public class Firewall extends Entity {
@ApiProperty
protected Long accountId;
public Long getAccountId() {
return accountId;
}
public void setAccountId(Long accountId) {
this.accountId = accountId;
}
/**
* A firewall's allotted bandwidth (measured in GB).
*/
@ApiProperty
protected BigDecimal bandwidthAllocation;
public BigDecimal getBandwidthAllocation() {
return bandwidthAllocation;
}
public void setBandwidthAllocation(BigDecimal bandwidthAllocation) {
this.bandwidthAllocation = bandwidthAllocation;
}
/**
* The raw bandwidth usage data for the current billing cycle. One object will be returned for each network this firewall is attached to.
*/
@ApiProperty
protected List billingCycleBandwidthUsage;
public List getBillingCycleBandwidthUsage() {
if (billingCycleBandwidthUsage == null) {
billingCycleBandwidthUsage = new ArrayList();
}
return billingCycleBandwidthUsage;
}
/**
* The raw private bandwidth usage data for the current billing cycle.
*/
@ApiProperty
protected Usage billingCyclePrivateBandwidthUsage;
public Usage getBillingCyclePrivateBandwidthUsage() {
return billingCyclePrivateBandwidthUsage;
}
public void setBillingCyclePrivateBandwidthUsage(Usage billingCyclePrivateBandwidthUsage) {
this.billingCyclePrivateBandwidthUsage = billingCyclePrivateBandwidthUsage;
}
/**
* The raw public bandwidth usage data for the current billing cycle.
*/
@ApiProperty
protected Usage billingCyclePublicBandwidthUsage;
public Usage getBillingCyclePublicBandwidthUsage() {
return billingCyclePublicBandwidthUsage;
}
public void setBillingCyclePublicBandwidthUsage(Usage billingCyclePublicBandwidthUsage) {
this.billingCyclePublicBandwidthUsage = billingCyclePublicBandwidthUsage;
}
/**
* The billing item for a Hardware Firewall (Dedicated).
*/
@ApiProperty
protected Item billingItem;
public Item getBillingItem() {
return billingItem;
}
public void setBillingItem(Item billingItem) {
this.billingItem = billingItem;
}
/**
* Administrative bypass request status.
*/
@ApiProperty
protected String bypassRequestStatus;
public String getBypassRequestStatus() {
return bypassRequestStatus;
}
public void setBypassRequestStatus(String bypassRequestStatus) {
this.bypassRequestStatus = bypassRequestStatus;
}
/**
* The datacenter that the firewall resides in.
*/
@ApiProperty
protected Location datacenter;
public Location getDatacenter() {
return datacenter;
}
public void setDatacenter(Location datacenter) {
this.datacenter = datacenter;
}
/**
* The firewall device type.
*/
@ApiProperty
protected String firewallType;
public String getFirewallType() {
return firewallType;
}
public void setFirewallType(String firewallType) {
this.firewallType = firewallType;
}
/**
* A name reflecting the hostname and domain of the firewall. This is created from the combined values of the firewall's logical name and vlan number automatically, and thus can not be edited directly.
*/
@ApiProperty
protected String fullyQualifiedDomainName;
public String getFullyQualifiedDomainName() {
return fullyQualifiedDomainName;
}
public void setFullyQualifiedDomainName(String fullyQualifiedDomainName) {
this.fullyQualifiedDomainName = fullyQualifiedDomainName;
}
/**
* The credentials to log in to a firewall device. This is only present for dedicated appliances.
*/
@ApiProperty
protected Password managementCredentials;
public Password getManagementCredentials() {
return managementCredentials;
}
public void setManagementCredentials(Password managementCredentials) {
this.managementCredentials = managementCredentials;
}
/**
* A firewall's metric tracking object.
*/
@ApiProperty
protected Object metricTrackingObject;
public Object getMetricTrackingObject() {
return metricTrackingObject;
}
public void setMetricTrackingObject(Object metricTrackingObject) {
this.metricTrackingObject = metricTrackingObject;
}
/**
* The metric tracking object ID for this firewall.
*/
@ApiProperty
protected Long metricTrackingObjectId;
public Long getMetricTrackingObjectId() {
return metricTrackingObjectId;
}
public void setMetricTrackingObjectId(Long metricTrackingObjectId) {
this.metricTrackingObjectId = metricTrackingObjectId;
}
/**
* The update requests made for this firewall.
*/
@ApiProperty
protected List networkFirewallUpdateRequests;
public List getNetworkFirewallUpdateRequests() {
if (networkFirewallUpdateRequests == null) {
networkFirewallUpdateRequests = new ArrayList();
}
return networkFirewallUpdateRequests;
}
/**
* The gateway associated with this firewall, if any.
*/
@ApiProperty
protected Gateway networkGateway;
public Gateway getNetworkGateway() {
return networkGateway;
}
public void setNetworkGateway(Gateway networkGateway) {
this.networkGateway = networkGateway;
}
/**
* The VLAN object that a firewall is associated with and protecting.
*/
@ApiProperty
protected Vlan networkVlan;
public Vlan getNetworkVlan() {
return networkVlan;
}
public void setNetworkVlan(Vlan networkVlan) {
this.networkVlan = networkVlan;
}
/**
* The VLAN objects that a firewall is associated with and protecting.
*/
@ApiProperty
protected List networkVlans;
public List getNetworkVlans() {
if (networkVlans == null) {
networkVlans = new ArrayList();
}
return networkVlans;
}
/**
* The currently running rule set of this network component firewall.
*/
@ApiProperty
protected List rules;
public List getRules() {
if (rules == null) {
rules = new ArrayList();
}
return rules;
}
@ApiProperty
protected List tagReferences;
public List getTagReferences() {
if (tagReferences == null) {
tagReferences = new ArrayList();
}
return tagReferences;
}
/**
* A firewall's associated upgrade request object, if any.
*/
@ApiProperty
protected Request upgradeRequest;
public Request getUpgradeRequest() {
return upgradeRequest;
}
public void setUpgradeRequest(Request upgradeRequest) {
this.upgradeRequest = upgradeRequest;
}
/**
* A flag to indicate if the firewall is in administrative bypass mode. In other words, no rules are being applied to the traffic coming through.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected String administrativeBypassFlag;
public String getAdministrativeBypassFlag() {
return administrativeBypassFlag;
}
public void setAdministrativeBypassFlag(String administrativeBypassFlag) {
administrativeBypassFlagSpecified = true;
this.administrativeBypassFlag = administrativeBypassFlag;
}
protected boolean administrativeBypassFlagSpecified;
public boolean isAdministrativeBypassFlagSpecified() {
return administrativeBypassFlagSpecified;
}
public void unsetAdministrativeBypassFlag() {
administrativeBypassFlag = null;
administrativeBypassFlagSpecified = false;
}
/**
* Whether or not this firewall can be directly logged in to.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected Boolean customerManagedFlag;
public Boolean getCustomerManagedFlag() {
return customerManagedFlag;
}
public void setCustomerManagedFlag(Boolean customerManagedFlag) {
customerManagedFlagSpecified = true;
this.customerManagedFlag = customerManagedFlag;
}
protected boolean customerManagedFlagSpecified;
public boolean isCustomerManagedFlagSpecified() {
return customerManagedFlagSpecified;
}
public void unsetCustomerManagedFlag() {
customerManagedFlag = null;
customerManagedFlagSpecified = false;
}
/**
* A firewall's unique identifier.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected Long id;
public Long getId() {
return id;
}
public void setId(Long id) {
idSpecified = true;
this.id = id;
}
protected boolean idSpecified;
public boolean isIdSpecified() {
return idSpecified;
}
public void unsetId() {
id = null;
idSpecified = false;
}
/**
* A firewall's primary IP address. This field will be the IP shown when doing network traces and reverse DNS and is a read-only property.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected String primaryIpAddress;
public String getPrimaryIpAddress() {
return primaryIpAddress;
}
public void setPrimaryIpAddress(String primaryIpAddress) {
primaryIpAddressSpecified = true;
this.primaryIpAddress = primaryIpAddress;
}
protected boolean primaryIpAddressSpecified;
public boolean isPrimaryIpAddressSpecified() {
return primaryIpAddressSpecified;
}
public void unsetPrimaryIpAddress() {
primaryIpAddress = null;
primaryIpAddressSpecified = false;
}
/**
* A count of the raw bandwidth usage data for the current billing cycle. One object will be returned for each network this firewall is attached to.
*/
@ApiProperty
protected Long billingCycleBandwidthUsageCount;
public Long getBillingCycleBandwidthUsageCount() {
return billingCycleBandwidthUsageCount;
}
public void setBillingCycleBandwidthUsageCount(Long billingCycleBandwidthUsageCount) {
this.billingCycleBandwidthUsageCount = billingCycleBandwidthUsageCount;
}
/**
* A count of the update requests made for this firewall.
*/
@ApiProperty
protected Long networkFirewallUpdateRequestCount;
public Long getNetworkFirewallUpdateRequestCount() {
return networkFirewallUpdateRequestCount;
}
public void setNetworkFirewallUpdateRequestCount(Long networkFirewallUpdateRequestCount) {
this.networkFirewallUpdateRequestCount = networkFirewallUpdateRequestCount;
}
/**
* A count of the VLAN objects that a firewall is associated with and protecting.
*/
@ApiProperty
protected Long networkVlanCount;
public Long getNetworkVlanCount() {
return networkVlanCount;
}
public void setNetworkVlanCount(Long networkVlanCount) {
this.networkVlanCount = networkVlanCount;
}
/**
* A count of the currently running rule set of this network component firewall.
*/
@ApiProperty
protected Long ruleCount;
public Long getRuleCount() {
return ruleCount;
}
public void setRuleCount(Long ruleCount) {
this.ruleCount = ruleCount;
}
/**
* A count of
*/
@ApiProperty
protected Long tagReferenceCount;
public Long getTagReferenceCount() {
return tagReferenceCount;
}
public void setTagReferenceCount(Long tagReferenceCount) {
this.tagReferenceCount = tagReferenceCount;
}
public Service asService(ApiClient client) {
return service(client, id);
}
public static Service service(ApiClient client) {
return client.createService(Service.class, null);
}
public static Service service(ApiClient client, Long id) {
return client.createService(Service.class, id == null ? null : id.toString());
}
/**
* The SoftLayer_Network_Vlan_Firewall service accesses general information relating to a single SoftLayer VLAN firewall. This is the object which ties the running rules to a specific downstream server. The current running rule set can be pulled from this service. Use the [[SoftLayer Network Firewall Template]] service to pull SoftLayer recommended rule set templates. Use the [[SoftLayer Network Firewall Update Request]] service to submit a firewall update request.
*
* @see SoftLayer_Network_Vlan_Firewall
*/
@com.softlayer.api.annotation.ApiService("SoftLayer_Network_Vlan_Firewall")
public static interface Service extends com.softlayer.api.Service {
public ServiceAsync asAsync();
public Mask withNewMask();
public Mask withMask();
public void setMask(Mask mask);
/**
* Approve a request from technical support to bypass the firewall. Once approved, support will be able to route and unroute the VLAN on the firewall.
*
* @see SoftLayer_Network_Vlan_Firewall::approveBypassRequest
*/
@ApiMethod(instanceRequired = true)
public Void approveBypassRequest();
/**
* getObject returns a SoftLayer_Network_Vlan_Firewall object. You can only get objects for vlans attached to your account that have a network firewall enabled.
*
* @see SoftLayer_Network_Vlan_Firewall::getObject
*/
@ApiMethod(instanceRequired = true)
public Firewall getObject();
/**
* Whether this firewall qualifies for High Availability upgrade.
*
* @see SoftLayer_Network_Vlan_Firewall::isHighAvailabilityUpgradeAvailable
*/
@ApiMethod(instanceRequired = true)
public Boolean isHighAvailabilityUpgradeAvailable();
/**
* Reject a request from technical support to bypass the firewall. Once rejected, IBM support will not be able to route and unroute the VLAN on the firewall.
*
* @see SoftLayer_Network_Vlan_Firewall::rejectBypassRequest
*/
@ApiMethod(instanceRequired = true)
public Void rejectBypassRequest();
/**
* This will completely reset the firewall to factory settings. If the firewall is not a dedicated appliance an error will occur. Note, this process is performed asynchronously. During the process all traffic will not be routed through the firewall.
*
* @see SoftLayer_Network_Vlan_Firewall::restoreDefaults
*/
@ApiMethod(instanceRequired = true)
public Transaction restoreDefaults();
/**
* This method will associate a comma separated list of tags with this object.
*
* @see SoftLayer_Network_Vlan_Firewall::setTags
*/
@ApiMethod(instanceRequired = true)
public Boolean setTags(String tags);
/**
* Enable or disable route bypass for this context. If enabled, this will bypass the firewall entirely and all traffic will be routed directly to the host(s) behind it. If disabled, traffic will flow through the firewall normally. This feature is only available for Hardware Firewall (Dedicated) and dedicated appliances.
*
* @see SoftLayer_Network_Vlan_Firewall::updateRouteBypass
*/
@ApiMethod(instanceRequired = true)
public Transaction updateRouteBypass(Boolean bypass);
/**
* @see SoftLayer_Network_Vlan_Firewall::getAccountId
*/
@ApiMethod(instanceRequired = true)
public Long getAccountId();
/**
* A firewall's allotted bandwidth (measured in GB).
*
* @see SoftLayer_Network_Vlan_Firewall::getBandwidthAllocation
*/
@ApiMethod(instanceRequired = true)
public BigDecimal getBandwidthAllocation();
/**
* The raw bandwidth usage data for the current billing cycle. One object will be returned for each network this firewall is attached to.
*
* @see SoftLayer_Network_Vlan_Firewall::getBillingCycleBandwidthUsage
*/
@ApiMethod(instanceRequired = true)
public List getBillingCycleBandwidthUsage();
/**
* The raw private bandwidth usage data for the current billing cycle.
*
* @see SoftLayer_Network_Vlan_Firewall::getBillingCyclePrivateBandwidthUsage
*/
@ApiMethod(instanceRequired = true)
public Usage getBillingCyclePrivateBandwidthUsage();
/**
* The raw public bandwidth usage data for the current billing cycle.
*
* @see SoftLayer_Network_Vlan_Firewall::getBillingCyclePublicBandwidthUsage
*/
@ApiMethod(instanceRequired = true)
public Usage getBillingCyclePublicBandwidthUsage();
/**
* The billing item for a Hardware Firewall (Dedicated).
*
* @see SoftLayer_Network_Vlan_Firewall::getBillingItem
*/
@ApiMethod(instanceRequired = true)
public Item getBillingItem();
/**
* Administrative bypass request status.
*
* @see SoftLayer_Network_Vlan_Firewall::getBypassRequestStatus
*/
@ApiMethod(instanceRequired = true)
public String getBypassRequestStatus();
/**
* The datacenter that the firewall resides in.
*
* @see SoftLayer_Network_Vlan_Firewall::getDatacenter
*/
@ApiMethod(instanceRequired = true)
public Location getDatacenter();
/**
* The firewall device type.
*
* @see SoftLayer_Network_Vlan_Firewall::getFirewallType
*/
@ApiMethod(instanceRequired = true)
public String getFirewallType();
/**
* A name reflecting the hostname and domain of the firewall. This is created from the combined values of the firewall's logical name and vlan number automatically, and thus can not be edited directly.
*
* @see SoftLayer_Network_Vlan_Firewall::getFullyQualifiedDomainName
*/
@ApiMethod(instanceRequired = true)
public String getFullyQualifiedDomainName();
/**
* The credentials to log in to a firewall device. This is only present for dedicated appliances.
*
* @see SoftLayer_Network_Vlan_Firewall::getManagementCredentials
*/
@ApiMethod(instanceRequired = true)
public Password getManagementCredentials();
/**
* A firewall's metric tracking object.
*
* @see SoftLayer_Network_Vlan_Firewall::getMetricTrackingObject
*/
@ApiMethod(instanceRequired = true)
public Object getMetricTrackingObject();
/**
* The metric tracking object ID for this firewall.
*
* @see SoftLayer_Network_Vlan_Firewall::getMetricTrackingObjectId
*/
@ApiMethod(instanceRequired = true)
public Long getMetricTrackingObjectId();
/**
* The update requests made for this firewall.
*
* @see SoftLayer_Network_Vlan_Firewall::getNetworkFirewallUpdateRequests
*/
@ApiMethod(instanceRequired = true)
public List getNetworkFirewallUpdateRequests();
/**
* The gateway associated with this firewall, if any.
*
* @see SoftLayer_Network_Vlan_Firewall::getNetworkGateway
*/
@ApiMethod(instanceRequired = true)
public Gateway getNetworkGateway();
/**
* The VLAN object that a firewall is associated with and protecting.
*
* @see SoftLayer_Network_Vlan_Firewall::getNetworkVlan
*/
@ApiMethod(instanceRequired = true)
public Vlan getNetworkVlan();
/**
* The VLAN objects that a firewall is associated with and protecting.
*
* @see SoftLayer_Network_Vlan_Firewall::getNetworkVlans
*/
@ApiMethod(instanceRequired = true)
public List getNetworkVlans();
/**
* The currently running rule set of this network component firewall.
*
* @see SoftLayer_Network_Vlan_Firewall::getRules
*/
@ApiMethod(instanceRequired = true)
public List getRules();
/**
* @see SoftLayer_Network_Vlan_Firewall::getTagReferences
*/
@ApiMethod(instanceRequired = true)
public List getTagReferences();
/**
* A firewall's associated upgrade request object, if any.
*
* @see SoftLayer_Network_Vlan_Firewall::getUpgradeRequest
*/
@ApiMethod(instanceRequired = true)
public Request getUpgradeRequest();
}
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#approveBypassRequest}
*/
public Future approveBypassRequest();
public Future> approveBypassRequest(ResponseHandler callback);
/**
* Async version of {@link Service#getObject}
*/
public Future getObject();
public Future> getObject(ResponseHandler callback);
/**
* Async version of {@link Service#isHighAvailabilityUpgradeAvailable}
*/
public Future isHighAvailabilityUpgradeAvailable();
public Future> isHighAvailabilityUpgradeAvailable(ResponseHandler callback);
/**
* Async version of {@link Service#rejectBypassRequest}
*/
public Future rejectBypassRequest();
public Future> rejectBypassRequest(ResponseHandler callback);
/**
* Async version of {@link Service#restoreDefaults}
*/
public Future restoreDefaults();
public Future> restoreDefaults(ResponseHandler callback);
/**
* Async version of {@link Service#setTags}
*/
public Future setTags(String tags);
public Future> setTags(String tags, ResponseHandler callback);
/**
* Async version of {@link Service#updateRouteBypass}
*/
public Future updateRouteBypass(Boolean bypass);
public Future> updateRouteBypass(Boolean bypass, ResponseHandler callback);
/**
* Async version of {@link Service#getAccountId}
*/
public Future getAccountId();
/**
* Async callback version of {@link Service#getAccountId}
*/
public Future> getAccountId(ResponseHandler callback);
/**
* Async version of {@link Service#getBandwidthAllocation}
*/
public Future getBandwidthAllocation();
/**
* Async callback version of {@link Service#getBandwidthAllocation}
*/
public Future> getBandwidthAllocation(ResponseHandler callback);
/**
* Async version of {@link Service#getBillingCycleBandwidthUsage}
*/
public Future> getBillingCycleBandwidthUsage();
/**
* Async callback version of {@link Service#getBillingCycleBandwidthUsage}
*/
public Future> getBillingCycleBandwidthUsage(ResponseHandler> callback);
/**
* Async version of {@link Service#getBillingCyclePrivateBandwidthUsage}
*/
public Future getBillingCyclePrivateBandwidthUsage();
/**
* Async callback version of {@link Service#getBillingCyclePrivateBandwidthUsage}
*/
public Future> getBillingCyclePrivateBandwidthUsage(ResponseHandler callback);
/**
* Async version of {@link Service#getBillingCyclePublicBandwidthUsage}
*/
public Future getBillingCyclePublicBandwidthUsage();
/**
* Async callback version of {@link Service#getBillingCyclePublicBandwidthUsage}
*/
public Future> getBillingCyclePublicBandwidthUsage(ResponseHandler callback);
/**
* Async version of {@link Service#getBillingItem}
*/
public Future- getBillingItem();
/**
* Async callback version of {@link Service#getBillingItem}
*/
public Future> getBillingItem(ResponseHandler
- callback);
/**
* Async version of {@link Service#getBypassRequestStatus}
*/
public Future
getBypassRequestStatus();
/**
* Async callback version of {@link Service#getBypassRequestStatus}
*/
public Future> getBypassRequestStatus(ResponseHandler callback);
/**
* Async version of {@link Service#getDatacenter}
*/
public Future getDatacenter();
/**
* Async callback version of {@link Service#getDatacenter}
*/
public Future> getDatacenter(ResponseHandler callback);
/**
* Async version of {@link Service#getFirewallType}
*/
public Future getFirewallType();
/**
* Async callback version of {@link Service#getFirewallType}
*/
public Future> getFirewallType(ResponseHandler callback);
/**
* Async version of {@link Service#getFullyQualifiedDomainName}
*/
public Future getFullyQualifiedDomainName();
/**
* Async callback version of {@link Service#getFullyQualifiedDomainName}
*/
public Future> getFullyQualifiedDomainName(ResponseHandler callback);
/**
* Async version of {@link Service#getManagementCredentials}
*/
public Future getManagementCredentials();
/**
* Async callback version of {@link Service#getManagementCredentials}
*/
public Future> getManagementCredentials(ResponseHandler callback);
/**
* Async version of {@link Service#getMetricTrackingObject}
*/
public Future