private Builder() { securityGroup = new SecurityGroup(); }
public NeutronSecurityGroupInRegion(SecurityGroup securityGroup, String regionId, Iterable<SecurityGroup> allGroupsInRegion) { super(regionId, checkNotNull(securityGroup, "securityGroup").getName()); this.securityGroup = securityGroup; this.groupsByName = HashMultimap.create(); for (SecurityGroup groupInRegion : allGroupsInRegion) { final TenantIdAndName tenantIdAndName = TenantIdAndName.builder() .tenantId(groupInRegion.getTenantId()) .name(groupInRegion.getName()) .build(); this.groupsByName.put(tenantIdAndName, groupInRegion); } }
@Override public SecurityGroup apply(@Nullable org.jclouds.openstack.neutron.v2.domain.SecurityGroup group) { SecurityGroupBuilder builder = new SecurityGroupBuilder(); builder.providerId(group.getId()); builder.ownerId(group.getTenantId()); builder.name(group.getName()); final String regionId = location.getId(); builder.location(location); builder.id(regionId + "/" + group.getId()); if (group.getRules() != null) { builder.ipPermissions(filter(transform(group.getRules(), new Function<Rule, IpPermission>() { @Override public IpPermission apply(Rule from) {
public void testListSpecificPageSecurityGroup() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(200).setBody(stringFromResource("/security_group_list_response_paged1.json")))); try { NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne"); SecurityGroups securityGroups = api.listSecurityGroups(PaginationOptions.Builder.limit(2).marker("abcdefg")); /* * Check request */ assertEquals(server.getRequestCount(), 2); assertAuthentication(server); assertRequest(server.takeRequest(), "GET", uriApiVersion + "/security-groups?limit=2&marker=abcdefg"); /* * Check response */ assertNotNull(securityGroups); assertEquals(size(securityGroups), 2); // Ensures the full collection is parsed and ordering is preserved. assertEquals(securityGroups.first().get().getId(), "85cc3048-abc3-43cc-89b3-377341426ac5"); assertEquals(securityGroups.get(1).getId(), "85cc3048-abc3-43cc-89b3-377341426ac52"); } finally { server.shutdown(); } }
@Override public SecurityGroup apply(@Nullable org.jclouds.openstack.neutron.v2.domain.SecurityGroup group) { SecurityGroupBuilder builder = new SecurityGroupBuilder(); builder.providerId(group.getId()); builder.ownerId(group.getTenantId()); builder.name(group.getName()); final String regionId = location.getId(); builder.location(location); builder.id(regionId + "/" + group.getId()); if (group.getRules() != null) { builder.ipPermissions(filter(transform(group.getRules(), new Function<Rule, IpPermission>() { @Override public IpPermission apply(Rule from) {
public void testListPagedSecurityGroups() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(200).setBody(stringFromResource("/security_group_list_response_paged1.json")))); server.enqueue(addCommonHeaders(new MockResponse().setResponseCode(200).setBody(stringFromResource("/security_group_list_response_paged2.json")))); try { NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne"); // Note: Lazy! Have to actually look at the collection. List<SecurityGroup> securityGroups = api.listSecurityGroups().concat().toList(); /* * Check request */ assertEquals(server.getRequestCount(), 3); assertAuthentication(server); assertRequest(server.takeRequest(), "GET", uriApiVersion + "/security-groups"); assertRequest(server.takeRequest(), "GET", uriApiVersion + "/security-groups?marker=71c1e68c-171a-4aa2-aca5-50ea153a3718"); /* * Check response */ assertNotNull(securityGroups); assertEquals(securityGroups.size(), 4); // Ensures ordering is preserved and both pages are parsed. assertEquals(securityGroups.get(0).getId(), "85cc3048-abc3-43cc-89b3-377341426ac5"); assertEquals(securityGroups.get(3).getId(), "85cc3048-abc3-43cc-89b3-377341426ac524"); } finally { server.shutdown(); } }
SecurityGroup.createBuilder().name("jclouds-test").description("jclouds test security group") .build()); assertNotNull(securityGroup); Rule.createBuilder(RuleDirection.INGRESS, securityGroup.getId()) .ethertype(RuleEthertype.IPV6) .portRangeMax(90) securityGroup = sgApi.getSecurityGroup(securityGroup.getId()); assertEquals(securityGroup.getName(), "jclouds-test"); assertEquals(securityGroup.getDescription(), "jclouds test security group"); assertEquals(size(filter(securityGroup.getRules(), new Predicate<Rule>() { @Override public boolean apply(Rule input) { for (Rule sgr : securityGroup.getRules()) { if (sgr.getId().equals(rule.getId())) { newSecGroupRule = sgr; assertTrue(sgApi.deleteSecurityGroup(securityGroup.getId()));
public NeutronSecurityGroupInRegion(SecurityGroup securityGroup, String regionId, Iterable<SecurityGroup> allGroupsInRegion) { super(regionId, checkNotNull(securityGroup, "securityGroup").getName()); this.securityGroup = securityGroup; this.groupsByName = HashMultimap.create(); for (SecurityGroup groupInRegion : allGroupsInRegion) { final TenantIdAndName tenantIdAndName = TenantIdAndName.builder() .tenantId(groupInRegion.getTenantId()) .name(groupInRegion.getName()) .build(); this.groupsByName.put(tenantIdAndName, groupInRegion); } }
private Builder() { securityGroup = new SecurityGroup(); }
SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne"); SecurityGroup.CreateSecurityGroup createSecurityGroup = SecurityGroup.createBuilder().name("new-webservers") .description("security group for webservers") .build(); assertEquals(securityGroup.getId(), "2076db17-a522-4506-91de-c6dd8e837028"); assertEquals(securityGroup.getTenantId(), "e4f50856753b4dc6afee5fa6b9b6c550"); assertEquals(securityGroup.getName(), "new-webservers"); assertEquals(securityGroup.getDescription(), "security group for webservers"); Rule sgr0 = securityGroup.getRules().get(0); Rule sgr1 = securityGroup.getRules().get(1);
public void testGetSecurityGroup() throws IOException, InterruptedException, URISyntaxException { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); server.enqueue(addCommonHeaders( new MockResponse().setResponseCode(201).setBody(stringFromResource("/security_group_get_response.json")))); try { NeutronApi neutronApi = api(server.getUrl("/").toString(), "openstack-neutron", overrides); SecurityGroupApi api = neutronApi.getSecurityGroupApi("RegionOne"); SecurityGroup securityGroup = api.getSecurityGroup("12345"); /* * Check request */ assertEquals(server.getRequestCount(), 2); assertAuthentication(server); assertRequest(server.takeRequest(), "GET", uriApiVersion + "/security-groups/12345"); /* * Check response */ assertNotNull(securityGroup); assertEquals(securityGroup.getName(), "default"); assertEquals(securityGroup.getDescription(), "default"); assertEquals(securityGroup.getId(), "85cc3048-abc3-43cc-89b3-377341426ac5"); assertEquals(securityGroup.getTenantId(), "e4f50856753b4dc6afee5fa6b9b6c550"); Rule sgr = securityGroup.getRules().get(0); assertEquals(sgr.getId(), "3c0e45ff-adaf-4124-b083-bf390e5482ff"); } finally { server.shutdown(); } }