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 Summary
FieldsModifier and TypeFieldDescriptionprotected final CloudStackApiprotected final BlockUntilJobCompletesAndReturnResultprotected final com.google.common.base.Function<SecurityGroup,org.jclouds.compute.domain.SecurityGroup> protected final com.google.common.cache.LoadingCache<ZoneAndName,SecurityGroup> protected final com.google.common.base.Predicate<String>protected final com.google.common.base.Supplier<Set<? extends org.jclouds.domain.Location>>protected final org.jclouds.compute.functions.GroupNamingConvention.Factory -
Constructor Summary
ConstructorsConstructorDescriptionCloudStackSecurityGroupExtension(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 Summary
Modifier and TypeMethodDescriptionorg.jclouds.compute.domain.SecurityGroupaddIpPermission(org.jclouds.net.domain.IpPermission ipPermission, org.jclouds.compute.domain.SecurityGroup group) org.jclouds.compute.domain.SecurityGroupaddIpPermission(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) org.jclouds.compute.domain.SecurityGroupcreateSecurityGroup(String name, org.jclouds.domain.Location location) org.jclouds.compute.domain.SecurityGroupSet<org.jclouds.compute.domain.SecurityGroup>Set<org.jclouds.compute.domain.SecurityGroup>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().org.jclouds.compute.domain.SecurityGroupremoveIpPermission(org.jclouds.net.domain.IpPermission ipPermission, org.jclouds.compute.domain.SecurityGroup group) org.jclouds.compute.domain.SecurityGroupremoveIpPermission(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) booleanbooleanbooleanbooleanbooleanboolean
-
Field Details
-
api
-
groupConverter
protected final com.google.common.base.Function<SecurityGroup,org.jclouds.compute.domain.SecurityGroup> groupConverter -
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
-
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
- Specified by:
listSecurityGroupsin interfaceorg.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:
listSecurityGroupsInLocationin interfaceorg.jclouds.compute.extensions.SecurityGroupExtension- Parameters:
location-- Returns:
- security groups
-
listSecurityGroupsForNode
- Specified by:
listSecurityGroupsForNodein interfaceorg.jclouds.compute.extensions.SecurityGroupExtension
-
getSecurityGroupById
- Specified by:
getSecurityGroupByIdin interfaceorg.jclouds.compute.extensions.SecurityGroupExtension
-
createSecurityGroup
public org.jclouds.compute.domain.SecurityGroup createSecurityGroup(String name, org.jclouds.domain.Location location) - Specified by:
createSecurityGroupin interfaceorg.jclouds.compute.extensions.SecurityGroupExtension
-
removeSecurityGroup
- Specified by:
removeSecurityGroupin interfaceorg.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:
addIpPermissionin interfaceorg.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:
addIpPermissionin interfaceorg.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:
removeIpPermissionin interfaceorg.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:
removeIpPermissionin interfaceorg.jclouds.compute.extensions.SecurityGroupExtension
-
supportsTenantIdGroupNamePairs
public boolean supportsTenantIdGroupNamePairs()- Specified by:
supportsTenantIdGroupNamePairsin interfaceorg.jclouds.compute.extensions.SecurityGroupExtension
-
supportsTenantIdGroupIdPairs
public boolean supportsTenantIdGroupIdPairs()- Specified by:
supportsTenantIdGroupIdPairsin interfaceorg.jclouds.compute.extensions.SecurityGroupExtension
-
supportsGroupIds
public boolean supportsGroupIds()- Specified by:
supportsGroupIdsin interfaceorg.jclouds.compute.extensions.SecurityGroupExtension
-
supportsPortRangesForGroups
public boolean supportsPortRangesForGroups()- Specified by:
supportsPortRangesForGroupsin interfaceorg.jclouds.compute.extensions.SecurityGroupExtension
-
supportsExclusionCidrBlocks
public boolean supportsExclusionCidrBlocks()- Specified by:
supportsExclusionCidrBlocksin interfaceorg.jclouds.compute.extensions.SecurityGroupExtension
-