- Adds the SecurityGroupExtension to compute, with tests and stub support. - Gets everything else to actually build against this. - Unifies on compute's IpPermission/IpProtocol, eliminating EC2's. - Converters from EC2/Nova/CloudStack SecurityGroup (and rules, for the latter two) to the compute SecurityGroup (and rules, etc). - EC2SecurityGroupExtension and tests. You can merge this Pull Request by running:
git pull https://github.com/abayer/jclouds-1 jclouds-101 Or you can view, comment on it, or merge it online at: https://github.com/jclouds/jclouds/pull/33 -- Commit Summary -- * JCLOUDS-101 - Add SecurityGroupExtension for compute -- File Changes -- M apis/cloudstack/src/main/java/org/jclouds/cloudstack/compute/CloudStackComputeService.java (6) M apis/cloudstack/src/main/java/org/jclouds/cloudstack/compute/config/CloudStackComputeServiceContextModule.java (8) A apis/cloudstack/src/main/java/org/jclouds/cloudstack/compute/functions/CloudStackSecurityGroupToSecurityGroup.java (74) A apis/cloudstack/src/main/java/org/jclouds/cloudstack/compute/functions/IngressRuleToIpPermission.java (55) A apis/cloudstack/src/test/java/org/jclouds/cloudstack/compute/functions/CloudStackSecurityGroupToSecurityGroupTest.java (80) A apis/cloudstack/src/test/java/org/jclouds/cloudstack/compute/functions/IngressRuleToIpPermissionTest.java (61) M apis/ec2/src/main/clojure/org/jclouds/ec2/security_group2.clj (6) M apis/ec2/src/main/java/org/jclouds/ec2/binders/BindIpPermissionToIndexedFormParams.java (2) M apis/ec2/src/main/java/org/jclouds/ec2/binders/BindIpPermissionsToIndexedFormParams.java (2) M apis/ec2/src/main/java/org/jclouds/ec2/compute/EC2ComputeService.java (6) M apis/ec2/src/main/java/org/jclouds/ec2/compute/config/EC2ComputeServiceContextModule.java (5) M apis/ec2/src/main/java/org/jclouds/ec2/compute/config/EC2ComputeServiceDependenciesModule.java (8) A apis/ec2/src/main/java/org/jclouds/ec2/compute/extensions/EC2SecurityGroupExtension.java (385) A apis/ec2/src/main/java/org/jclouds/ec2/compute/functions/EC2SecurityGroupToSecurityGroup.java (95) M apis/ec2/src/main/java/org/jclouds/ec2/compute/loaders/CreateSecurityGroupIfNeeded.java (2) D apis/ec2/src/main/java/org/jclouds/ec2/domain/IpPermission.java (189) M apis/ec2/src/main/java/org/jclouds/ec2/domain/SecurityGroup.java (1) M apis/ec2/src/main/java/org/jclouds/ec2/services/SecurityGroupAsyncClient.java (2) M apis/ec2/src/main/java/org/jclouds/ec2/services/SecurityGroupClient.java (2) M apis/ec2/src/main/java/org/jclouds/ec2/util/IpPermissions.java (22) M apis/ec2/src/main/java/org/jclouds/ec2/xml/IpPermissionHandler.java (8) M apis/ec2/src/test/java/org/jclouds/ec2/CloudApplicationArchitecturesEC2ClientLiveTest.java (2) M apis/ec2/src/test/java/org/jclouds/ec2/EBSBootEC2ClientLiveTest.java (2) M apis/ec2/src/test/java/org/jclouds/ec2/compute/EC2ComputeServiceLiveTest.java (2) A apis/ec2/src/test/java/org/jclouds/ec2/compute/extensions/EC2SecurityGroupExtensionExpectTest.java (585) R apis/ec2/src/test/java/org/jclouds/ec2/compute/extensions/EC2SecurityGroupExtensionLiveTest.java (37) A apis/ec2/src/test/java/org/jclouds/ec2/compute/functions/EC2SecurityGroupToSecurityGroupTest.java (85) M apis/ec2/src/test/java/org/jclouds/ec2/compute/loaders/CreateSecurityGroupIfNeededTest.java (2) M apis/ec2/src/test/java/org/jclouds/ec2/services/SecurityGroupAsyncClientTest.java (2) M apis/ec2/src/test/java/org/jclouds/ec2/services/SecurityGroupClientLiveTest.java (8) M apis/ec2/src/test/java/org/jclouds/ec2/util/IpPermissionsTest.java (2) M apis/ec2/src/test/java/org/jclouds/ec2/xml/DescribeSecurityGroupsResponseHandlerTest.java (10) A apis/ec2/src/test/resources/delete_securitygroup.xml (4) A apis/ec2/src/test/resources/describe_instances_running_securitygroups.xml (74) M apis/ec2/src/test/resources/describe_securitygroups.xml (4) M apis/ec2/src/test/resources/describe_securitygroups_empty.xml (2) A apis/ec2/src/test/resources/describe_securitygroups_extension_cidr.xml (24) A apis/ec2/src/test/resources/describe_securitygroups_extension_group.xml (26) A apis/ec2/src/test/resources/describe_securitygroups_extension_new.xml (27) A apis/ec2/src/test/resources/describe_securitygroups_extension_single.xml (12) M apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/NovaComputeService.java (6) M apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/config/NovaComputeServiceContextModule.java (11) M apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/functions/CreateSecurityGroupIfNeeded.java (2) A apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/functions/NovaSecurityGroupToSecurityGroup.java (74) A apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/functions/SecurityGroupRuleToIpPermission.java (57) M apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/Ingress.java (1) D apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/IpProtocol.java (39) M apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/domain/SecurityGroupRule.java (1) A apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/functions/NovaSecurityGroupToSecurityGroupTest.java (112) A apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/compute/functions/SecurityGroupRuleToIpPermissionTest.java (86) M apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/SecurityGroupApiExpectTest.java (2) M apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/extensions/SecurityGroupApiLiveTest.java (2) M apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/parse/ParseComputeServiceTypicalSecurityGroupTest.java (2) M apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/parse/ParseSecurityGroupListTest.java (2) M apis/openstack-nova/src/test/java/org/jclouds/openstack/nova/v2_0/parse/ParseSecurityGroupTest.java (2) M common/trmk/src/main/java/org/jclouds/trmk/vcloud_0_8/compute/TerremarkVCloudComputeService.java (5) M compute/src/main/java/org/jclouds/compute/ComputeService.java (9) M compute/src/main/java/org/jclouds/compute/config/BaseComputeServiceContextModule.java (7) M compute/src/main/java/org/jclouds/compute/domain/ComputeType.java (2) A compute/src/main/java/org/jclouds/compute/domain/SecurityGroup.java (80) A compute/src/main/java/org/jclouds/compute/domain/SecurityGroupBuilder.java (122) A compute/src/main/java/org/jclouds/compute/extensions/SecurityGroupExtension.java (180) M compute/src/main/java/org/jclouds/compute/internal/BaseComputeService.java (12) M compute/src/main/java/org/jclouds/compute/options/TemplateOptions.java (60) M compute/src/main/java/org/jclouds/compute/stub/config/StubComputeServiceAdapter.java (34) M compute/src/main/java/org/jclouds/compute/stub/config/StubComputeServiceContextModule.java (10) M compute/src/main/java/org/jclouds/compute/stub/config/StubComputeServiceDependenciesModule.java (58) A compute/src/main/java/org/jclouds/compute/stub/extensions/StubSecurityGroupExtension.java (256) M compute/src/main/java/org/jclouds/net/domain/IpPermission.java (22) M compute/src/main/java/org/jclouds/net/domain/IpProtocol.java (12) A compute/src/test/java/org/jclouds/compute/extensions/internal/BaseSecurityGroupExtensionLiveTest.java (348) A compute/src/test/java/org/jclouds/compute/stub/extensions/StubSecurityGroupExtensionIntegrationTest.java (70) M compute/src/test/java/org/jclouds/net/util/IpPermissionsTest.java (14) M core/src/main/java/org/jclouds/util/Strings2.java (9) M core/src/test/java/org/jclouds/util/Strings2Test.java (8) M providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/AWSEC2ComputeService.java (6) M providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/config/AWSEC2ComputeServiceContextModule.java (6) M providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/compute/config/AWSEC2ComputeServiceDependenciesModule.java (8) M providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/services/AWSSecurityGroupAsyncClient.java (2) M providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/services/AWSSecurityGroupClient.java (2) M providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/compute/AWSEC2ComputeServiceLiveTest.java (2) M providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/parse/DescribeSecurityGroupsResponseTest.java (6) M providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AWSSecurityGroupAsyncClientTest.java (4) M providers/aws-ec2/src/test/java/org/jclouds/aws/ec2/services/AWSSecurityGroupClientLiveTest.java (6) M providers/gogrid/src/main/java/org/jclouds/gogrid/compute/GoGridComputeService.java (5) -- Patch Links -- https://github.com/jclouds/jclouds/pull/33.patch https://github.com/jclouds/jclouds/pull/33.diff
