com.softlayer.api.service.hardware.SecurityModule 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
The newest version!
package com.softlayer.api.service.hardware;
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.hardware.Server;
import java.util.concurrent.Future;
/**
* @see SoftLayer_Hardware_SecurityModule
*/
@ApiType("SoftLayer_Hardware_SecurityModule")
public class SecurityModule extends Server {
public Service asService(ApiClient client) {
if (id != null) {
return service(client, id);
} else {
return service(client, globalIdentifier);
}
}
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());
}
public static Service service(ApiClient client, String globalIdentifier) {
return client.createService(Service.class, globalIdentifier);
}
/**
* @see SoftLayer_Hardware_SecurityModule
*/
@com.softlayer.api.annotation.ApiService("SoftLayer_Hardware_SecurityModule")
public static interface Service extends Server.Service {
public ServiceAsync asAsync();
public Mask withNewMask();
public Mask withMask();
public void setMask(Mask mask);
/**
*
*
* createObject() enables the creation of servers on an account. This
* method is a simplified alternative to interacting with the ordering system directly.
*
*
* In order to create a server, a template object must be sent in with a few required
* values.
*
*
* When this method returns an order will have been placed for a server of the specified configuration.
*
*
* To determine when the server is available you can poll the server via [[SoftLayer_Hardware/getObject|getObject]],
* checking the provisionDate
property.
* When provisionDate
is not null, the server will be ready. Be sure to use the globalIdentifier
* as your initialization parameter.
*
*
* Warning: Servers created via this method will incur charges on your account. For testing input parameters see [[SoftLayer_Hardware/generateOrderTemplate|generateOrderTemplate]].
*
*
* Input - [[SoftLayer_Hardware (type)|SoftLayer_Hardware]]
*
* hostname
* Hostname for the server.
* - Required
* - Type - string
*
*
*
* domain
* Domain for the server.
* - Required
* - Type - string
*
*
*
* processorCoreAmount
* The number of logical CPU cores to allocate.
* - Required
* - Type - int
* - See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.
*
*
*
* memoryCapacity
* The amount of memory to allocate in gigabytes.
* - Required
* - Type - int
* - See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.
*
*
*
* hourlyBillingFlag
* Specifies the billing type for the server.
* - Required
* - Type - boolean
* - When true the server will be billed on hourly usage, otherwise it will be billed on a monthly basis.
*
*
*
* operatingSystemReferenceCode
* An identifier for the operating system to provision the server with.
* - Required
* - Type - string
* - See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.
*
*
*
* datacenter.name
* Specifies which datacenter the server is to be provisioned in.
* - Required
* - Type - string
* - The
datacenter
property is a [[SoftLayer_Location (type)|location]] structure with the name
field set.
* - See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.
*
* {
* "datacenter": {
* "name": "dal05"
* }
* }
*
*
* networkComponents.maxSpeed
* Specifies the connection speed for the server's network components.
* - Optional
* - Type - int
* - Default - The highest available zero cost port speed will be used.
* - Description - The
networkComponents
property is an array with a single [[SoftLayer_Network_Component (type)|network component]] structure. The maxSpeed
property must be set to specify the network uplink speed, in megabits per second, of the server.
* - See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.
*
* {
* "networkComponents": [
* {
* "maxSpeed": 1000
* }
* ]
* }
*
*
* networkComponents.redundancyEnabledFlag
* Specifies whether or not the server's network components should be in redundancy groups.
* - Optional
* - Type - bool
* - Default -
false
* - Description - The
networkComponents
property is an array with a single [[SoftLayer_Network_Component (type)|network component]] structure. When the redundancyEnabledFlag
property is true the server's network components will be in redundancy groups.
*
* {
* "networkComponents": [
* {
* "redundancyEnabledFlag": false
* }
* ]
* }
*
*
* privateNetworkOnlyFlag
* Specifies whether or not the server only has access to the private network
* - Optional
* - Type - boolean
* - Default -
false
* - When true this flag specifies that a server is to only have access to the private network.
*
*
*
* primaryNetworkComponent.networkVlan.id
* Specifies the network vlan which is to be used for the frontend interface of the server.
* - Optional
* - Type - int
* - Description - The
primaryNetworkComponent
property is a [[SoftLayer_Network_Component (type)|network component]] structure with the networkVlan
property populated with a [[SoftLayer_Network_Vlan (type)|vlan]] structure. The id
property must be set to specify the frontend network vlan of the server.
*
* {
* "primaryNetworkComponent": {
* "networkVlan": {
* "id": 1
* }
* }
* }
*
*
* primaryBackendNetworkComponent.networkVlan.id
* Specifies the network vlan which is to be used for the backend interface of the server.
* - Optional
* - Type - int
* - Description - The
primaryBackendNetworkComponent
property is a [[SoftLayer_Network_Component (type)|network component]] structure with the networkVlan
property populated with a [[SoftLayer_Network_Vlan (type)|vlan]] structure. The id
property must be set to specify the backend network vlan of the server.
*
* {
* "primaryBackendNetworkComponent": {
* "networkVlan": {
* "id": 2
* }
* }
* }
*
*
* fixedConfigurationPreset.keyName
*
* - Optional
* - Type - string
* - Description - The
fixedConfigurationPreset
property is a [[SoftLayer_Product_Package_Preset (type)|fixed configuration preset]] structure. The keyName
property must be set to specify preset to use.
* - If a fixed configuration preset is used
processorCoreAmount
, memoryCapacity
and hardDrives
properties must not be set.
* - See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.
*
* {
* "fixedConfigurationPreset": {
* "keyName": "SOME_KEY_NAME"
* }
* }
*
*
* userData.value
* Arbitrary data to be made available to the server.
* - Optional
* - Type - string
* - Description - The
userData
property is an array with a single [[SoftLayer_Hardware_Attribute (type)|attribute]] structure with the value
property set to an arbitrary value.
* - This value can be retrieved via the [[SoftLayer_Resource_Metadata/getUserMetadata|getUserMetadata]] method from a request originating from the server. This is primarily useful for providing data to software that may be on the server and configured to execute upon first boot.
*
* {
* "userData": [
* {
* "value": "someValue"
* }
* ]
* }
*
*
* hardDrives
* Hard drive settings for the server
* - Optional
* - Type - SoftLayer_Hardware_Component
* - Default - The largest available capacity for a zero cost primary disk will be used.
* - Description - The
hardDrives
property is an array of [[SoftLayer_Hardware_Component (type)|hardware component]] structures.
* - Each hard drive must specify the
capacity
property.
* - See [[SoftLayer_Hardware/getCreateObjectOptions|getCreateObjectOptions]] for available options.
*
* {
* "hardDrives": [
* {
* "capacity": 500
* }
* ]
* }
*
*
* sshKeys
* SSH keys to install on the server upon provisioning.
* - Optional
* - Type - array of [[SoftLayer_Security_Ssh_Key (type)|SoftLayer_Security_Ssh_Key]]
* - Description - The
sshKeys
property is an array of [[SoftLayer_Security_Ssh_Key (type)|SSH Key]] structures with the id
property set to the value of an existing SSH key.
* - To create a new SSH key, call [[SoftLayer_Security_Ssh_Key/createObject|createObject]] on the [[SoftLayer_Security_Ssh_Key]] service.
* - To obtain a list of existing SSH keys, call [[SoftLayer_Account/getSshKeys|getSshKeys]] on the [[SoftLayer_Account]] service.
*
* {
* "sshKeys": [
* {
* "id": 123
* }
* ]
* }
*
*
* postInstallScriptUri
* Specifies the uri location of the script to be downloaded and run after installation is complete.
* - Optional
* - Type - string
*
*
*
*
*
*
* REST Example
* curl -X POST -d '{
* "parameters":[
* {
* "hostname": "host1",
* "domain": "example.com",
* "processorCoreAmount": 2,
* "memoryCapacity": 2,
* "hourlyBillingFlag": true,
* "operatingSystemReferenceCode": "UBUNTU_LATEST"
* }
* ]
* }' https://api.softlayer.com/rest/v3/SoftLayer_Hardware.json
*
* HTTP/1.1 201 Created
* Location: https://api.softlayer.com/rest/v3/SoftLayer_Hardware/f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5/getObject
*
*
* {
* "accountId": 232298,
* "bareMetalInstanceFlag": null,
* "domain": "example.com",
* "hardwareStatusId": null,
* "hostname": "host1",
* "id": null,
* "serviceProviderId": null,
* "serviceProviderResourceId": null,
* "globalIdentifier": "f5a3fcff-db1d-4b7c-9fa0-0349e41c29c5",
* "hourlyBillingFlag": true,
* "memoryCapacity": 2,
* "operatingSystemReferenceCode": "UBUNTU_LATEST",
* "processorCoreAmount": 2
* }
*
*
* @see SoftLayer_Hardware_SecurityModule::createObject
*/
@ApiMethod
public SecurityModule createObject(SecurityModule templateObject);
/**
* @see SoftLayer_Hardware_SecurityModule::getObject
*/
@ApiMethod(value = "getObject", instanceRequired = true)
public SecurityModule getObjectForSecurityModule();
}
public static interface ServiceAsync extends Server.ServiceAsync {
public Mask withNewMask();
public Mask withMask();
public void setMask(Mask mask);
/**
* Async version of {@link Service#createObject}
*/
public Future createObject(SecurityModule templateObject);
public Future> createObject(SecurityModule templateObject, ResponseHandler callback);
/**
* Async version of {@link Service#getObjectForSecurityModule}
*/
public Future getObjectForSecurityModule();
public Future> getObjectForSecurityModule(ResponseHandler callback);
}
public static class Mask extends Server.Mask {
}
}