org.jclouds.openstack.nova.v2_0.compute.extensions
Class NovaSecurityGroupExtension

java.lang.Object
  extended by org.jclouds.openstack.nova.v2_0.compute.extensions.NovaSecurityGroupExtension
All Implemented Interfaces:
org.jclouds.compute.extensions.SecurityGroupExtension

public class NovaSecurityGroupExtension
extends Object
implements org.jclouds.compute.extensions.SecurityGroupExtension

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


Field Summary
protected  NovaApi api
           
protected  com.google.common.base.Function<SecurityGroupInZone,org.jclouds.compute.domain.SecurityGroup> groupConverter
           
protected  com.google.common.cache.LoadingCache<ZoneAndName,SecurityGroupInZone> groupCreator
           
protected  org.jclouds.compute.functions.GroupNamingConvention.Factory namingConvention
           
protected  com.google.common.util.concurrent.ListeningExecutorService userExecutor
           
protected  com.google.common.base.Supplier<Set<String>> zoneIds
           
 
Constructor Summary
NovaSecurityGroupExtension(NovaApi api, com.google.common.util.concurrent.ListeningExecutorService userExecutor, com.google.common.base.Supplier<Set<String>> zoneIds, com.google.common.base.Function<SecurityGroupInZone,org.jclouds.compute.domain.SecurityGroup> groupConverter, com.google.common.cache.LoadingCache<ZoneAndName,SecurityGroupInZone> groupCreator, org.jclouds.compute.functions.GroupNamingConvention.Factory namingConvention)
           
 
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)
           
protected  com.google.common.base.Function<String,Set<? extends SecurityGroupInZone>> allSecurityGroupsInZone()
           
 org.jclouds.compute.domain.SecurityGroup createSecurityGroup(String name, org.jclouds.domain.Location location)
           
 org.jclouds.compute.domain.SecurityGroup createSecurityGroup(String name, String zone)
           
 org.jclouds.compute.domain.SecurityGroup getSecurityGroupById(String id)
           
protected  com.google.common.base.Function<SecurityGroup,SecurityGroupInZone> groupToGroupInZone(String zone)
           
 Set<org.jclouds.compute.domain.SecurityGroup> listSecurityGroups()
           
 Set<org.jclouds.compute.domain.SecurityGroup> listSecurityGroupsForNode(String id)
           
 Set<org.jclouds.compute.domain.SecurityGroup> listSecurityGroupsInLocation(org.jclouds.domain.Location location)
           
 Set<org.jclouds.compute.domain.SecurityGroup> listSecurityGroupsInLocation(String zone)
           
protected  Iterable<? extends SecurityGroupInZone> pollSecurityGroups()
           
protected  Iterable<? extends SecurityGroupInZone> pollSecurityGroupsByZone(String zone)
           
 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 supportsGroupIds()
           
 boolean supportsPortRangesForGroups()
           
 boolean supportsTenantIdGroupIdPairs()
           
 boolean supportsTenantIdGroupNamePairs()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

api

protected final NovaApi api

userExecutor

protected final com.google.common.util.concurrent.ListeningExecutorService userExecutor

zoneIds

protected final com.google.common.base.Supplier<Set<String>> zoneIds

groupConverter

protected final com.google.common.base.Function<SecurityGroupInZone,org.jclouds.compute.domain.SecurityGroup> groupConverter

groupCreator

protected final com.google.common.cache.LoadingCache<ZoneAndName,SecurityGroupInZone> groupCreator

namingConvention

protected final org.jclouds.compute.functions.GroupNamingConvention.Factory namingConvention
Constructor Detail

NovaSecurityGroupExtension

@Inject
public NovaSecurityGroupExtension(NovaApi api,
                                         @Named(value="jclouds.user-threads")
                                         com.google.common.util.concurrent.ListeningExecutorService userExecutor,
                                         com.google.common.base.Supplier<Set<String>> zoneIds,
                                         com.google.common.base.Function<SecurityGroupInZone,org.jclouds.compute.domain.SecurityGroup> groupConverter,
                                         com.google.common.cache.LoadingCache<ZoneAndName,SecurityGroupInZone> groupCreator,
                                         org.jclouds.compute.functions.GroupNamingConvention.Factory namingConvention)
Method Detail

listSecurityGroups

public Set<org.jclouds.compute.domain.SecurityGroup> listSecurityGroups()
Specified by:
listSecurityGroups in interface org.jclouds.compute.extensions.SecurityGroupExtension

listSecurityGroupsInLocation

public Set<org.jclouds.compute.domain.SecurityGroup> listSecurityGroupsInLocation(org.jclouds.domain.Location location)
Specified by:
listSecurityGroupsInLocation in interface org.jclouds.compute.extensions.SecurityGroupExtension

listSecurityGroupsInLocation

public Set<org.jclouds.compute.domain.SecurityGroup> listSecurityGroupsInLocation(String zone)

listSecurityGroupsForNode

public Set<org.jclouds.compute.domain.SecurityGroup> listSecurityGroupsForNode(String id)
Specified by:
listSecurityGroupsForNode in interface org.jclouds.compute.extensions.SecurityGroupExtension

getSecurityGroupById

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

createSecurityGroup

public org.jclouds.compute.domain.SecurityGroup createSecurityGroup(String name,
                                                                    org.jclouds.domain.Location location)
Specified by:
createSecurityGroup in interface org.jclouds.compute.extensions.SecurityGroupExtension

createSecurityGroup

public org.jclouds.compute.domain.SecurityGroup createSecurityGroup(String name,
                                                                    String zone)

removeSecurityGroup

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

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

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

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

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

supportsTenantIdGroupNamePairs

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

supportsTenantIdGroupIdPairs

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

supportsGroupIds

public boolean supportsGroupIds()
Specified by:
supportsGroupIds in interface org.jclouds.compute.extensions.SecurityGroupExtension

supportsPortRangesForGroups

public boolean supportsPortRangesForGroups()
Specified by:
supportsPortRangesForGroups in interface org.jclouds.compute.extensions.SecurityGroupExtension

pollSecurityGroups

protected Iterable<? extends SecurityGroupInZone> pollSecurityGroups()

pollSecurityGroupsByZone

protected Iterable<? extends SecurityGroupInZone> pollSecurityGroupsByZone(String zone)

allSecurityGroupsInZone

protected com.google.common.base.Function<String,Set<? extends SecurityGroupInZone>> allSecurityGroupsInZone()

groupToGroupInZone

protected com.google.common.base.Function<SecurityGroup,SecurityGroupInZone> groupToGroupInZone(String zone)


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