我正在尝试使用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());