Class CloudStackSecurityGroupExtension
java.lang.Object
org.jclouds.cloudstack.compute.extensions.CloudStackSecurityGroupExtension
- All Implemented Interfaces:
SecurityGroupExtension
An extension to compute service to allow for the manipulation of
SecurityGroups. Implementation
is optional by providers.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final CloudStackApiprotected final BlockUntilJobCompletesAndReturnResultprotected final com.google.common.base.Function<SecurityGroup,SecurityGroup> protected final com.google.common.cache.LoadingCache<ZoneAndName,SecurityGroup> protected final com.google.common.base.Predicate<String>protected final GroupNamingConvention.Factory -
Constructor Summary
ConstructorsConstructorDescriptionCloudStackSecurityGroupExtension(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
Modifier and TypeMethodDescriptionaddIpPermission(IpPermission ipPermission, SecurityGroup group) addIpPermission(IpProtocol protocol, int startPort, int endPort, com.google.common.collect.Multimap<String, String> tenantIdGroupNamePairs, Iterable<String> ipRanges, Iterable<String> groupIds, SecurityGroup group) createSecurityGroup(String name, Location location) listSecurityGroupsInLocation(Location location) Note that for the time being, security groups are not scoped by location in CloudStack, so this will simply return listSecurityGroups().removeIpPermission(IpPermission ipPermission, SecurityGroup group) removeIpPermission(IpProtocol protocol, int startPort, int endPort, com.google.common.collect.Multimap<String, String> tenantIdGroupNamePairs, Iterable<String> ipRanges, Iterable<String> groupIds, SecurityGroup group) booleanbooleanbooleanbooleanbooleanboolean
-
Field Details
-
api
-
groupConverter
-
groupCreator
-
namingConvention
-
locations
-
blockUntilJobCompletesAndReturnResult
-
jobComplete
-
-
Constructor Details
-
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 Details
-
listSecurityGroups
- Specified by:
listSecurityGroupsin interfaceSecurityGroupExtension
-
listSecurityGroupsInLocation
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
- Specified by:
listSecurityGroupsForNodein interfaceSecurityGroupExtension
-
getSecurityGroupById
- Specified by:
getSecurityGroupByIdin interfaceSecurityGroupExtension
-
createSecurityGroup
- Specified by:
createSecurityGroupin interfaceSecurityGroupExtension
-
removeSecurityGroup
- Specified by:
removeSecurityGroupin interfaceSecurityGroupExtension
-
addIpPermission
- 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
- 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
-