Class CloudStackSecurityGroupExtension
- java.lang.Object
-
- org.jclouds.cloudstack.compute.extensions.CloudStackSecurityGroupExtension
-
- All Implemented Interfaces:
SecurityGroupExtension
public class CloudStackSecurityGroupExtension extends Object implements SecurityGroupExtension
An extension to compute service to allow for the manipulation ofSecurityGroups. Implementation is optional by providers.
-
-
Field Summary
Fields Modifier and Type Field Description protected CloudStackApiapiprotected BlockUntilJobCompletesAndReturnResultblockUntilJobCompletesAndReturnResultprotected com.google.common.base.Function<SecurityGroup,SecurityGroup>groupConverterprotected com.google.common.cache.LoadingCache<ZoneAndName,SecurityGroup>groupCreatorprotected com.google.common.base.Predicate<String>jobCompleteprotected com.google.common.base.Supplier<Set<? extends Location>>locationsprotected GroupNamingConvention.FactorynamingConvention
-
Constructor Summary
Constructors Constructor Description CloudStackSecurityGroupExtension(CloudStackApi api, com.google.common.base.Function<SecurityGroup,SecurityGroup> groupConverter, com.google.common.cache.LoadingCache<ZoneAndName,SecurityGroup> groupCreator, GroupNamingConvention.Factory namingConvention, com.google.common.base.Supplier<Set<? extends Location>> locations, BlockUntilJobCompletesAndReturnResult blockUntilJobCompletesAndReturnResult, com.google.common.base.Predicate<String> jobComplete)
-
Method Summary
-
-
-
Field Detail
-
api
protected final CloudStackApi api
-
groupConverter
protected final com.google.common.base.Function<SecurityGroup,SecurityGroup> groupConverter
-
groupCreator
protected final com.google.common.cache.LoadingCache<ZoneAndName,SecurityGroup> groupCreator
-
namingConvention
protected final GroupNamingConvention.Factory namingConvention
-
blockUntilJobCompletesAndReturnResult
protected final BlockUntilJobCompletesAndReturnResult blockUntilJobCompletesAndReturnResult
-
jobComplete
protected final com.google.common.base.Predicate<String> jobComplete
-
-
Constructor Detail
-
CloudStackSecurityGroupExtension
@Inject public CloudStackSecurityGroupExtension(CloudStackApi api, com.google.common.base.Function<SecurityGroup,SecurityGroup> groupConverter, com.google.common.cache.LoadingCache<ZoneAndName,SecurityGroup> groupCreator, GroupNamingConvention.Factory namingConvention, com.google.common.base.Supplier<Set<? extends Location>> locations, BlockUntilJobCompletesAndReturnResult blockUntilJobCompletesAndReturnResult, com.google.common.base.Predicate<String> jobComplete)
-
-
Method Detail
-
listSecurityGroups
public Set<SecurityGroup> listSecurityGroups()
- Specified by:
listSecurityGroupsin interfaceSecurityGroupExtension
-
listSecurityGroupsInLocation
public Set<SecurityGroup> listSecurityGroupsInLocation(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:
listSecurityGroupsInLocationin interfaceSecurityGroupExtension- Parameters:
location-- Returns:
- security groups
-
listSecurityGroupsForNode
public Set<SecurityGroup> listSecurityGroupsForNode(String id)
- Specified by:
listSecurityGroupsForNodein interfaceSecurityGroupExtension
-
getSecurityGroupById
public SecurityGroup getSecurityGroupById(String id)
- Specified by:
getSecurityGroupByIdin interfaceSecurityGroupExtension
-
createSecurityGroup
public SecurityGroup createSecurityGroup(String name, Location location)
- Specified by:
createSecurityGroupin interfaceSecurityGroupExtension
-
removeSecurityGroup
public boolean removeSecurityGroup(String id)
- Specified by:
removeSecurityGroupin interfaceSecurityGroupExtension
-
addIpPermission
public SecurityGroup addIpPermission(IpPermission ipPermission, SecurityGroup group)
- Specified by:
addIpPermissionin interfaceSecurityGroupExtension
-
addIpPermission
public SecurityGroup addIpPermission(IpProtocol protocol, int startPort, int endPort, com.google.common.collect.Multimap<String,String> tenantIdGroupNamePairs, Iterable<String> ipRanges, Iterable<String> groupIds, SecurityGroup group)
- Specified by:
addIpPermissionin interfaceSecurityGroupExtension
-
removeIpPermission
public SecurityGroup removeIpPermission(IpPermission ipPermission, SecurityGroup group)
- Specified by:
removeIpPermissionin interfaceSecurityGroupExtension
-
removeIpPermission
public SecurityGroup removeIpPermission(IpProtocol protocol, int startPort, int endPort, com.google.common.collect.Multimap<String,String> tenantIdGroupNamePairs, Iterable<String> ipRanges, Iterable<String> groupIds, SecurityGroup group)
- Specified by:
removeIpPermissionin interfaceSecurityGroupExtension
-
supportsTenantIdGroupNamePairs
public boolean supportsTenantIdGroupNamePairs()
- Specified by:
supportsTenantIdGroupNamePairsin interfaceSecurityGroupExtension
-
supportsTenantIdGroupIdPairs
public boolean supportsTenantIdGroupIdPairs()
- Specified by:
supportsTenantIdGroupIdPairsin interfaceSecurityGroupExtension
-
supportsGroupIds
public boolean supportsGroupIds()
- Specified by:
supportsGroupIdsin interfaceSecurityGroupExtension
-
supportsPortRangesForGroups
public boolean supportsPortRangesForGroups()
- Specified by:
supportsPortRangesForGroupsin interfaceSecurityGroupExtension
-
supportsExclusionCidrBlocks
public boolean supportsExclusionCidrBlocks()
- Specified by:
supportsExclusionCidrBlocksin interfaceSecurityGroupExtension
-
-