Class NovaSecurityGroupExtension

java.lang.Object
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 Details

    • api

      protected final NovaApi api
    • userExecutor

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

      protected final com.google.common.base.Supplier<Set<String>> regionIds
    • groupConverter

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

      protected final com.google.common.cache.LoadingCache<RegionAndName,org.jclouds.compute.domain.SecurityGroup> groupCreator
    • namingConvention

      protected final org.jclouds.compute.functions.GroupNamingConvention.Factory namingConvention
  • Constructor Details

    • NovaSecurityGroupExtension

      @Inject public NovaSecurityGroupExtension(NovaApi api, @Named("jclouds.user-threads") com.google.common.util.concurrent.ListeningExecutorService userExecutor, com.google.common.base.Supplier<Set<String>> regionIds, com.google.common.base.Function<SecurityGroupInRegion,org.jclouds.compute.domain.SecurityGroup> groupConverter, com.google.common.cache.LoadingCache<RegionAndName,org.jclouds.compute.domain.SecurityGroup> groupCreator, org.jclouds.compute.functions.GroupNamingConvention.Factory namingConvention)
  • Method Details

    • 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 region)
    • 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 region)
    • 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
    • supportsExclusionCidrBlocks

      public boolean supportsExclusionCidrBlocks()
      Specified by:
      supportsExclusionCidrBlocks in interface org.jclouds.compute.extensions.SecurityGroupExtension
    • pollSecurityGroups

      protected Iterable<? extends SecurityGroupInRegion> pollSecurityGroups()
    • pollSecurityGroupsByRegion

      protected Iterable<? extends SecurityGroupInRegion> pollSecurityGroupsByRegion(String region)
    • allSecurityGroupsInRegion

      protected com.google.common.base.Function<String,Set<? extends SecurityGroupInRegion>> allSecurityGroupsInRegion()
    • groupToGroupInRegion

      protected com.google.common.base.Function<SecurityGroup,SecurityGroupInRegion> groupToGroupInRegion(Iterable<SecurityGroup> allGroups, String region)