-
Notifications
You must be signed in to change notification settings - Fork 2
Gerenciando Nodes
O gerenciando de nodes é simples, bastando você utilizando este código inicial:
public class Main {
public static void main(String[] args) {
PteroAPI.initPteroAPI("https://example.com.br", "TOKEN", ManagerPolicy.ALL);
NodeManager nodeManager = PteroAPI.getManager(NodeManager.class);
}
}Para listar todos os nodes, você precisará chamar a função "listNodes", que retorna um CompletableFuture, do tipo lista de nodes.
public class Main {
public static void main(String[] args) {
PteroAPI.initPteroAPI("https://example.com.br", "TOKEN", ManagerPolicy.ALL);
NodeManager nodeManager = PteroAPI.getManager(NodeManager.class);
CompletableFuture<List<Node>> completableFuture = nodeManager.listNodes();
completableFuture.thenAccept(nodeList -> nodeList.forEach(node -> System.out.println("The node: " + node.getName() + " is present"))).exceptionally(throwable -> {
throw new RuntimeException(throwable);
});
}
}Para pegar as informações de um node, você precisará chamar a função "getNode", que retorna um CompletableFuture, do tipo Node.
public class Main {
public static void main(String[] args) {
PteroAPI.initPteroAPI("https://example.com.br", "TOKEN", ManagerPolicy.ALL);
NodeManager nodeManager = PteroAPI.getManager(NodeManager.class);
CompletableFuture<Node> completableFuture = nodeManager.getNode(1L);
completableFuture.thenAccept(node -> System.out.println(node.getName())).exceptionally(throwable -> {
throw new RuntimeException(throwable);
});
}
}Para atualizar as informações de um node, você precisará chamar a função "updateNode", passando um object node atualizado, que retorna um CompletableFuture, do tipo Json, que é a resposta da request.
public class Main {
public static void main(String[] args) {
PteroAPI.initPteroAPI("https://example.com.br", "TOKEN", ManagerPolicy.ALL);
NodeManager nodeManager = PteroAPI.getManager(NodeManager.class);
CompletableFuture<Node> completableFuture = nodeManager.getNode(1L);
completableFuture.thenAccept(node -> {
node.setName("New Name");
CompletableFuture<JSONObject> response = nodeManager.updateNode(node);
response.thenAccept(System.out::println).exceptionally(throwable -> {
throw new RuntimeException(throwable);
});
});
}
}Para criar um node, você precisará chamar a função "createNode", passando o builder de node, que retorna um CompletableFuture, do tipo Json, que é a resposta da request.
Ao criar um builder, lembre-se de setar o valor em todos os parametros, pois, caso deixe algum nulo, poderá resultar em execessões.
public class Main {
public static void main(String[] args) {
PteroAPI.initPteroAPI("https://example.com.br", "TOKEN", ManagerPolicy.ALL);
NodeManager nodeManager = PteroAPI.getManager(NodeManager.class);
NodeBuilder builder = new NodeBuilder().appendName("New Node")
.appendLocationID(1L)
.appendFqdn("node2.example.com")
.appendScheme("https")
.appendMemory(10240)
.appendMemoryOverallocate(0)
.appendDisk(50000)
.appendDiskOverallocate(0)
.appendUploadSize(100)
.appendDaemonSftp(2022)
.appendDaemonListen(8080);
CompletableFuture<JSONObject> completableFuture = nodeManager.createNode(builder);
completableFuture.thenAccept(System.out::println).exceptionally(throwable -> {
throw new RuntimeException(throwable);
});
}
}Para deletar um node, você precisará chamar a função "deleteNode", passando o ID do node, que retorna um CompletableFuture, do tipo Json, que é a resposta da request.
public class Main {
public static void main(String[] args) {
PteroAPI.initPteroAPI("https://example.com.br", "TOKEN", ManagerPolicy.ALL);
NodeManager nodeManager = PteroAPI.getManager(NodeManager.class);
CompletableFuture<JSONObject> completableFuture = nodeManager.deleteNode(1L);
completableFuture.thenAccept(System.out::println).exceptionally(throwable -> {
throw new RuntimeException(throwable);
});
}
}Para listar todos as allocations, você precisará chamar a função "listAllocations", que retorna um CompletableFuture, do tipo lista de allocations.
public class Main {
public static void main(String[] args) {
PteroAPI.initPteroAPI("https://example.com.br", "TOKEN", ManagerPolicy.ALL);
NodeManager nodeManager = PteroAPI.getManager(NodeManager.class);
CompletableFuture<List<Allocation>> completableFuture = nodeManager.listAllocations(1L);
completableFuture.thenAccept(allocationsList -> allocationsList.forEach(node -> System.out.println("The allocation: " + node.getPort() + " is present"))).exceptionally(throwable -> {
throw new RuntimeException(throwable);
});
}
}Para criar um allocation, você precisará chamar a função "createAllocation", passando o builder de allocation, juntamente ao ID do node, que retorna um CompletableFuture, do tipo Json, que é a resposta da request.
Ao criar um builder, lembre-se de setar o valor em todos os parametros, pois, caso deixe algum nulo, poderá resultar em execessões.
public class Main {
public static void main(String[] args) {
PteroAPI.initPteroAPI("https://example.com.br", "TOKEN", ManagerPolicy.ALL);
NodeManager nodeManager = PteroAPI.getManager(NodeManager.class);
AllocationBuilder allocationBuilder = new AllocationBuilder().appendIP("exemple.com.br")
.appendPorts(25565);
CompletableFuture<JSONObject> completableFuture = nodeManager.createAllocation(allocationBuilder, 1L);
completableFuture.thenAccept(System.out::println).exceptionally(throwable -> {
throw new RuntimeException(throwable);
});
}
}Para deletar uma allocation, você precisará chamar a função "deleteAllocation", passando o ID do node e da allocation, que retorna um CompletableFuture, do tipo Json, que é a resposta da request.
public class Main {
public static void main(String[] args) {
PteroAPI.initPteroAPI("https://example.com.br", "TOKEN", ManagerPolicy.ALL);
NodeManager nodeManager = PteroAPI.getManager(NodeManager.class);
CompletableFuture<JSONObject> completableFuture = nodeManager.deleteAllocation(1L, 1L);
completableFuture.thenAccept(System.out::println).exceptionally(throwable -> {
throw new RuntimeException(throwable);
});
}
}