com.softlayer.api.service.network.security.scanner.Request 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.security.scanner;
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.Account;
import com.softlayer.api.service.Entity;
import com.softlayer.api.service.Hardware;
import com.softlayer.api.service.network.security.scanner.request.Status;
import com.softlayer.api.service.virtual.Guest;
import java.util.GregorianCalendar;
import java.util.concurrent.Future;
/**
* The SoftLayer_Network_Security_Scanner_Request data type represents a single vulnerability scan request. It provides information on when the scan was created, last updated, and the current status. The status messages are as follows:
* *Scan Pending
* *Scan Processing
* *Scan Complete
* *Scan Cancelled
* *Generating Report.
*
* @see SoftLayer_Network_Security_Scanner_Request
*/
@ApiType("SoftLayer_Network_Security_Scanner_Request")
public class Request extends Entity {
/**
* The account associated with a security scan request.
*/
@ApiProperty
protected Account account;
public Account getAccount() {
return account;
}
public void setAccount(Account account) {
this.account = account;
}
/**
* The virtual guest a security scan is run against.
*/
@ApiProperty
protected Guest guest;
public Guest getGuest() {
return guest;
}
public void setGuest(Guest guest) {
this.guest = guest;
}
/**
* The hardware a security scan is run against.
*/
@ApiProperty
protected Hardware hardware;
public Hardware getHardware() {
return hardware;
}
public void setHardware(Hardware hardware) {
this.hardware = hardware;
}
/**
* Flag whether the requestor owns the hardware the scan was run on. This flag will return for hardware servers only, virtual servers will result in a null return even if you have a request out for them.
*/
@ApiProperty
protected Boolean requestorOwnedFlag;
public Boolean getRequestorOwnedFlag() {
return requestorOwnedFlag;
}
public void setRequestorOwnedFlag(Boolean requestorOwnedFlag) {
this.requestorOwnedFlag = requestorOwnedFlag;
}
/**
* A security scan request's status.
*/
@ApiProperty
protected Status status;
public Status getStatus() {
return status;
}
public void setStatus(Status status) {
this.status = status;
}
/**
* A request's associated customer account identifier.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected Long accountId;
public Long getAccountId() {
return accountId;
}
public void setAccountId(Long accountId) {
accountIdSpecified = true;
this.accountId = accountId;
}
protected boolean accountIdSpecified;
public boolean isAccountIdSpecified() {
return accountIdSpecified;
}
public void unsetAccountId() {
accountId = null;
accountIdSpecified = false;
}
/**
* The date and time that the request is created.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected GregorianCalendar createDate;
public GregorianCalendar getCreateDate() {
return createDate;
}
public void setCreateDate(GregorianCalendar createDate) {
createDateSpecified = true;
this.createDate = createDate;
}
protected boolean createDateSpecified;
public boolean isCreateDateSpecified() {
return createDateSpecified;
}
public void unsetCreateDate() {
createDate = null;
createDateSpecified = false;
}
/**
* Virtual Guest Identification Number for the guest this security scanner request belongs to.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected Long guestId;
public Long getGuestId() {
return guestId;
}
public void setGuestId(Long guestId) {
guestIdSpecified = true;
this.guestId = guestId;
}
protected boolean guestIdSpecified;
public boolean isGuestIdSpecified() {
return guestIdSpecified;
}
public void unsetGuestId() {
guestId = null;
guestIdSpecified = false;
}
/**
* The identifier of the hardware item a scan is run on.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected Long hardwareId;
public Long getHardwareId() {
return hardwareId;
}
public void setHardwareId(Long hardwareId) {
hardwareIdSpecified = true;
this.hardwareId = hardwareId;
}
protected boolean hardwareIdSpecified;
public boolean isHardwareIdSpecified() {
return hardwareIdSpecified;
}
public void unsetHardwareId() {
hardwareId = null;
hardwareIdSpecified = false;
}
/**
* Identification Number for the host this security scanner request belongs to.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected Long hostId;
public Long getHostId() {
return hostId;
}
public void setHostId(Long hostId) {
hostIdSpecified = true;
this.hostId = hostId;
}
protected boolean hostIdSpecified;
public boolean isHostIdSpecified() {
return hostIdSpecified;
}
public void unsetHostId() {
hostId = null;
hostIdSpecified = false;
}
/**
* A security scan request's internal 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;
}
/**
* The IP address that a scan will be performed on.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected String ipAddress;
public String getIpAddress() {
return ipAddress;
}
public void setIpAddress(String ipAddress) {
ipAddressSpecified = true;
this.ipAddress = ipAddress;
}
protected boolean ipAddressSpecified;
public boolean isIpAddressSpecified() {
return ipAddressSpecified;
}
public void unsetIpAddress() {
ipAddress = null;
ipAddressSpecified = false;
}
/**
* The date and time that the request was last modified.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected GregorianCalendar modifyDate;
public GregorianCalendar getModifyDate() {
return modifyDate;
}
public void setModifyDate(GregorianCalendar modifyDate) {
modifyDateSpecified = true;
this.modifyDate = modifyDate;
}
protected boolean modifyDateSpecified;
public boolean isModifyDateSpecified() {
return modifyDateSpecified;
}
public void unsetModifyDate() {
modifyDate = null;
modifyDateSpecified = false;
}
/**
* A request status identifier.
*/
@ApiProperty(canBeNullOrNotSet = true)
protected Long statusId;
public Long getStatusId() {
return statusId;
}
public void setStatusId(Long statusId) {
statusIdSpecified = true;
this.statusId = statusId;
}
protected boolean statusIdSpecified;
public boolean isStatusIdSpecified() {
return statusIdSpecified;
}
public void unsetStatusId() {
statusId = null;
statusIdSpecified = false;
}
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());
}
/**
* SoftLayer gives customers the ability to manage vulnerability scans for each of their servers. This service provides the ability to create a new scan request, view the status of a current request, and finally view the report of a finished scan.
*
* A vulnerability scan attempts to find potential security problems on a server by first searching for open ports and the services that run on them. If any services are found the scanner will then check for version and patch information of each service found. Lastly, the scanner will use the information gathered to search its database of known vulnerabilities and generate a report. Reports typically take five to ten minutes to run but allow for up to thirty minutes in rare cases.
*
* A vulnerability report will typically include the following information:
* *Number of security holes and warnings.
* *The hosts that were scanned.
* *The port/service and the corresponding issue.
* *Detailed information about the issue, risk factor, and possible fixes.
*
*
* If you have a firewall, SoftLayer's administrative networks need to be allowed for the vulnerability scan to be effective. If a firewall is blocking all ports, the report may not show any problems even if some exist. In addition you may have some indication in your firewall logs of the scan taking place as ports on your system are investigated.
*
* @see SoftLayer_Network_Security_Scanner_Request
*/
@com.softlayer.api.annotation.ApiService("SoftLayer_Network_Security_Scanner_Request")
public static interface Service extends com.softlayer.api.Service {
public ServiceAsync asAsync();
public Mask withNewMask();
public Mask withMask();
public void setMask(Mask mask);
/**
* Create a new vulnerability scan request. New scan requests are picked up every five minutes, and the time to complete an actual scan may vary. Once the scan is finished, it can take up to another five minutes for the report to be generated and accessible.
*
* @see SoftLayer_Network_Security_Scanner_Request::createObject
*/
@ApiMethod
public Request createObject(Request templateObject);
/**
* getObject retrieves the SoftLayer_Network_Security_Scanner_Request object whose ID number corresponds to the ID number of the init parameter passed to the SoftLayer_Network_Security_Scanner_Request service. You can only retrieve requests and reports that are assigned to your SoftLayer account.
*
* @see SoftLayer_Network_Security_Scanner_Request::getObject
*/
@ApiMethod(instanceRequired = true)
public Request getObject();
/**
* Get the vulnerability report for a scan request, formatted as HTML string. Previous scan reports are held indefinitely.
*
* @see SoftLayer_Network_Security_Scanner_Request::getReport
*/
@ApiMethod(instanceRequired = true)
public String getReport();
/**
* The account associated with a security scan request.
*
* @see SoftLayer_Network_Security_Scanner_Request::getAccount
*/
@ApiMethod(instanceRequired = true)
public Account getAccount();
/**
* The virtual guest a security scan is run against.
*
* @see SoftLayer_Network_Security_Scanner_Request::getGuest
*/
@ApiMethod(instanceRequired = true)
public Guest getGuest();
/**
* The hardware a security scan is run against.
*
* @see SoftLayer_Network_Security_Scanner_Request::getHardware
*/
@ApiMethod(instanceRequired = true)
public Hardware getHardware();
/**
* Flag whether the requestor owns the hardware the scan was run on. This flag will return for hardware servers only, virtual servers will result in a null return even if you have a request out for them.
*
* @see SoftLayer_Network_Security_Scanner_Request::getRequestorOwnedFlag
*/
@ApiMethod(instanceRequired = true)
public Boolean getRequestorOwnedFlag();
/**
* A security scan request's status.
*
* @see SoftLayer_Network_Security_Scanner_Request::getStatus
*/
@ApiMethod(instanceRequired = true)
public Status getStatus();
}
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#createObject}
*/
public Future createObject(Request templateObject);
public Future> createObject(Request templateObject, ResponseHandler callback);
/**
* Async version of {@link Service#getObject}
*/
public Future getObject();
public Future> getObject(ResponseHandler callback);
/**
* Async version of {@link Service#getReport}
*/
public Future getReport();
public Future> getReport(ResponseHandler callback);
/**
* Async version of {@link Service#getAccount}
*/
public Future getAccount();
/**
* Async callback version of {@link Service#getAccount}
*/
public Future> getAccount(ResponseHandler callback);
/**
* Async version of {@link Service#getGuest}
*/
public Future getGuest();
/**
* Async callback version of {@link Service#getGuest}
*/
public Future> getGuest(ResponseHandler callback);
/**
* Async version of {@link Service#getHardware}
*/
public Future getHardware();
/**
* Async callback version of {@link Service#getHardware}
*/
public Future> getHardware(ResponseHandler callback);
/**
* Async version of {@link Service#getRequestorOwnedFlag}
*/
public Future getRequestorOwnedFlag();
/**
* Async callback version of {@link Service#getRequestorOwnedFlag}
*/
public Future> getRequestorOwnedFlag(ResponseHandler callback);
/**
* Async version of {@link Service#getStatus}
*/
public Future getStatus();
/**
* Async callback version of {@link Service#getStatus}
*/
public Future> getStatus(ResponseHandler callback);
}
public static class Mask extends com.softlayer.api.service.Entity.Mask {
public com.softlayer.api.service.Account.Mask account() {
return withSubMask("account", com.softlayer.api.service.Account.Mask.class);
}
public com.softlayer.api.service.virtual.Guest.Mask guest() {
return withSubMask("guest", com.softlayer.api.service.virtual.Guest.Mask.class);
}
public com.softlayer.api.service.Hardware.Mask hardware() {
return withSubMask("hardware", com.softlayer.api.service.Hardware.Mask.class);
}
public Mask requestorOwnedFlag() {
withLocalProperty("requestorOwnedFlag");
return this;
}
public com.softlayer.api.service.network.security.scanner.request.Status.Mask status() {
return withSubMask("status", com.softlayer.api.service.network.security.scanner.request.Status.Mask.class);
}
public Mask accountId() {
withLocalProperty("accountId");
return this;
}
public Mask createDate() {
withLocalProperty("createDate");
return this;
}
public Mask guestId() {
withLocalProperty("guestId");
return this;
}
public Mask hardwareId() {
withLocalProperty("hardwareId");
return this;
}
public Mask hostId() {
withLocalProperty("hostId");
return this;
}
public Mask id() {
withLocalProperty("id");
return this;
}
public Mask ipAddress() {
withLocalProperty("ipAddress");
return this;
}
public Mask modifyDate() {
withLocalProperty("modifyDate");
return this;
}
public Mask statusId() {
withLocalProperty("statusId");
return this;
}
}
}