Class CloudStackSecurityGroupExtension

java.lang.Object
org.jclouds.cloudstack.compute.extensions.CloudStackSecurityGroupExtension
All Implemented Interfaces:
org.jclouds.compute.extensions.SecurityGroupExtension

public class CloudStackSecurityGroupExtension 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 CloudStackApi api
    • groupConverter

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

      protected final com.google.common.cache.LoadingCache<ZoneAndName,SecurityGroup> groupCreator
    • namingConvention

      protected final org.jclouds.compute.functions.GroupNamingConvention.Factory namingConvention
    • locations

      protected final com.google.common.base.Supplier<Set<? extends org.jclouds.domain.Location>> locations
    • blockUntilJobCompletesAndReturnResult

      protected final BlockUntilJobCompletesAndReturnResult blockUntilJobCompletesAndReturnResult
    • jobComplete

      protected final com.google.common.base.Predicate<String> jobComplete
  • Constructor Details

    • CloudStackSecurityGroupExtension

      @Inject public CloudStackSecurityGroupExtension(CloudStackApi api, com.google.common.base.Function<SecurityGroup,org.jclouds.compute.domain.SecurityGroup> groupConverter, com.google.common.cache.LoadingCache<ZoneAndName,SecurityGroup> groupCreator, org.jclouds.compute.functions.GroupNamingConvention.Factory namingConvention, com.google.common.base.Supplier<Set<? extends org.jclouds.domain.Location>> locations, BlockUntilJobCompletesAndReturnResult blockUntilJobCompletesAndReturnResult, com.google.common.base.Predicate<String> jobComplete)
  • 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)
      Note that for the time being, security groups are not scoped by location in CloudStack, so this will simply return listSecurityGroups().
      Specified by:
      listSecurityGroupsInLocation in interface org.jclouds.compute.extensions.SecurityGroupExtension
      Parameters:
      location -
      Returns:
      security groups
    • 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
    • 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