我正在尝试使用Apache JClouds将特定的安全组添加/删除到区域中的某些实例(已经在运行)。我知道可以使用Nova-CLI完成此操作。有人可以指出如何使用jclouds完成此操作吗?该文档并没有说太多。

最佳答案

NovaApi novaApi = ContextBuilder
        .newBuilder("openstack-nova")
        .credentials("username", "api_key")
        .buildApi(NovaApi.class);

Ingress ingress = Ingress.builder().fromPort(80).toPort(80).ipProtocol(IpProtocol.TCP).build();

SecurityGroupApi securityGroupApi = novaApi.getSecurityGroupExtensionForZone("RegionOne").get();
SecurityGroup securityGroup = securityGroupApi.createWithDescription("name", "description");
SecurityGroupRule rule = securityGroupApi.createRuleAllowingCidrBlock(securityGroup.getName(), ingress, "0.0.0.0/0");
securityGroupApi.delete(securityGroup.getId());

10-07 16:30