org.jclouds.aws.ec2.compute.extensions
Class AWSEC2SecurityGroupExtension

java.lang.Object
  extended by org.jclouds.ec2.compute.extensions.EC2SecurityGroupExtension
      extended by org.jclouds.aws.ec2.compute.extensions.AWSEC2SecurityGroupExtension
All Implemented Interfaces:
org.jclouds.compute.extensions.SecurityGroupExtension

public class AWSEC2SecurityGroupExtension
extends org.jclouds.ec2.compute.extensions.EC2SecurityGroupExtension

An extension to compute service to allow for the manipulation of SecurityGroups. Implementation is optional by providers.


Field Summary
protected  AWSEC2Api client
           
protected  com.google.common.base.Function<String,String> groupNameToId
           
 
Fields inherited from class org.jclouds.ec2.compute.extensions.EC2SecurityGroupExtension
groupConverter, groupCreator, locations, namingConvention, regions, userExecutor
 
Constructor Summary
AWSEC2SecurityGroupExtension(AWSEC2Api client, com.google.common.util.concurrent.ListeningExecutorService userExecutor, com.google.common.base.Supplier<Set<String>> regions, com.google.common.base.Function<org.jclouds.ec2.domain.SecurityGroup,org.jclouds.compute.domain.SecurityGroup> groupConverter, com.google.common.base.Supplier<Set<? extends org.jclouds.domain.Location>> locations, com.google.common.cache.LoadingCache<org.jclouds.ec2.compute.domain.RegionAndName,String> groupCreator, org.jclouds.compute.functions.GroupNamingConvention.Factory namingConvention, com.google.common.base.Function<String,String> groupNameToId)
           
 
Method Summary
 org.jclouds.compute.domain.SecurityGroup addIpPermission(org.jclouds.net.domain.IpPermission ipPermission, org.jclouds.compute.domain.SecurityGroup group)
           
 org.jclouds.compute.domain.SecurityGroup addIpPermission(org.jclouds.net.domain.IpProtocol protocol, int startPort, int endPort, com.google.common.collect.Multimap<String,String> tenantIdGroupNamePairs, Iterable<String> ipRanges, Iterable<String> groupIds, org.jclouds.compute.domain.SecurityGroup group)
           
 org.jclouds.compute.domain.SecurityGroup createSecurityGroup(String name, String region)
           
 org.jclouds.compute.domain.SecurityGroup getSecurityGroupById(String id)
           
 org.jclouds.compute.domain.SecurityGroup removeIpPermission(org.jclouds.net.domain.IpPermission ipPermission, org.jclouds.compute.domain.SecurityGroup group)
           
 org.jclouds.compute.domain.SecurityGroup removeIpPermission(org.jclouds.net.domain.IpProtocol protocol, int startPort, int endPort, com.google.common.collect.Multimap<String,String> tenantIdGroupNamePairs, Iterable<String> ipRanges, Iterable<String> groupIds, org.jclouds.compute.domain.SecurityGroup group)
           
 boolean removeSecurityGroup(String id)
           
 boolean supportsTenantIdGroupIdPairs()
           
 boolean supportsTenantIdGroupNamePairs()
           
 
Methods inherited from class org.jclouds.ec2.compute.extensions.EC2SecurityGroupExtension
allSecurityGroupsInRegion, createSecurityGroup, findLocationWithId, listSecurityGroups, listSecurityGroupsForNode, listSecurityGroupsInLocation, listSecurityGroupsInLocation, pollSecurityGroups, pollSecurityGroupsByRegion, supportsGroupIds, supportsPortRangesForGroups
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

client

protected final AWSEC2Api client

groupNameToId

protected final com.google.common.base.Function<String,String> groupNameToId
Constructor Detail

AWSEC2SecurityGroupExtension

@Inject
public AWSEC2SecurityGroupExtension(AWSEC2Api client,
                                           @Named(value="jclouds.user-threads")
                                           com.google.common.util.concurrent.ListeningExecutorService userExecutor,
                                           com.google.common.base.Supplier<Set<String>> regions,
                                           com.google.common.base.Function<org.jclouds.ec2.domain.SecurityGroup,org.jclouds.compute.domain.SecurityGroup> groupConverter,
                                           com.google.common.base.Supplier<Set<? extends org.jclouds.domain.Location>> locations,
                                           @Named(value="SECURITY")
                                           com.google.common.cache.LoadingCache<org.jclouds.ec2.compute.domain.RegionAndName,String> groupCreator,
                                           org.jclouds.compute.functions.GroupNamingConvention.Factory namingConvention,
                                           @Named(value="SECGROUP_NAME_TO_ID")
                                           com.google.common.base.Function<String,String> groupNameToId)
Method Detail

createSecurityGroup

public org.jclouds.compute.domain.SecurityGroup createSecurityGroup(String name,
                                                                    String region)
Overrides:
createSecurityGroup in class org.jclouds.ec2.compute.extensions.EC2SecurityGroupExtension

getSecurityGroupById

public org.jclouds.compute.domain.SecurityGroup getSecurityGroupById(String id)
Specified by:
getSecurityGroupById in interface org.jclouds.compute.extensions.SecurityGroupExtension
Overrides:
getSecurityGroupById in class org.jclouds.ec2.compute.extensions.EC2SecurityGroupExtension

removeSecurityGroup

public boolean removeSecurityGroup(String id)
Specified by:
removeSecurityGroup in interface org.jclouds.compute.extensions.SecurityGroupExtension
Overrides:
removeSecurityGroup in class org.jclouds.ec2.compute.extensions.EC2SecurityGroupExtension

addIpPermission

public org.jclouds.compute.domain.SecurityGroup addIpPermission(org.jclouds.net.domain.IpPermission ipPermission,
                                                                org.jclouds.compute.domain.SecurityGroup group)
Specified by:
addIpPermission in interface org.jclouds.compute.extensions.SecurityGroupExtension
Overrides:
addIpPermission in class org.jclouds.ec2.compute.extensions.EC2SecurityGroupExtension

addIpPermission

public org.jclouds.compute.domain.SecurityGroup addIpPermission(org.jclouds.net.domain.IpProtocol protocol,
                                                                int startPort,
                                                                int endPort,
                                                                com.google.common.collect.Multimap<String,String> tenantIdGroupNamePairs,
                                                                Iterable<String> ipRanges,
                                                                Iterable<String> groupIds,
                                                                org.jclouds.compute.domain.SecurityGroup group)
Specified by:
addIpPermission in interface org.jclouds.compute.extensions.SecurityGroupExtension
Overrides:
addIpPermission in class org.jclouds.ec2.compute.extensions.EC2SecurityGroupExtension

removeIpPermission

public org.jclouds.compute.domain.SecurityGroup removeIpPermission(org.jclouds.net.domain.IpPermission ipPermission,
                                                                   org.jclouds.compute.domain.SecurityGroup group)
Specified by:
removeIpPermission in interface org.jclouds.compute.extensions.SecurityGroupExtension
Overrides:
removeIpPermission in class org.jclouds.ec2.compute.extensions.EC2SecurityGroupExtension

removeIpPermission

public org.jclouds.compute.domain.SecurityGroup removeIpPermission(org.jclouds.net.domain.IpProtocol protocol,
                                                                   int startPort,
                                                                   int endPort,
                                                                   com.google.common.collect.Multimap<String,String> tenantIdGroupNamePairs,
                                                                   Iterable<String> ipRanges,
                                                                   Iterable<String> groupIds,
                                                                   org.jclouds.compute.domain.SecurityGroup group)
Specified by:
removeIpPermission in interface org.jclouds.compute.extensions.SecurityGroupExtension
Overrides:
removeIpPermission in class org.jclouds.ec2.compute.extensions.EC2SecurityGroupExtension

supportsTenantIdGroupNamePairs

public boolean supportsTenantIdGroupNamePairs()
Specified by:
supportsTenantIdGroupNamePairs in interface org.jclouds.compute.extensions.SecurityGroupExtension
Overrides:
supportsTenantIdGroupNamePairs in class org.jclouds.ec2.compute.extensions.EC2SecurityGroupExtension

supportsTenantIdGroupIdPairs

public boolean supportsTenantIdGroupIdPairs()
Specified by:
supportsTenantIdGroupIdPairs in interface org.jclouds.compute.extensions.SecurityGroupExtension
Overrides:
supportsTenantIdGroupIdPairs in class org.jclouds.ec2.compute.extensions.EC2SecurityGroupExtension


Copyright © 2009-2014 The Apache Software Foundation. All Rights Reserved.