org.jclouds.googlecomputeengine.compute.extensions
Class GoogleComputeEngineSecurityGroupExtension

java.lang.Object
  extended by org.jclouds.googlecomputeengine.compute.extensions.GoogleComputeEngineSecurityGroupExtension
All Implemented Interfaces:
org.jclouds.compute.extensions.SecurityGroupExtension

public class GoogleComputeEngineSecurityGroupExtension
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.

Author:
Andrew Bayer

Field Summary
protected  GoogleComputeEngineApi api
           
protected  com.google.common.base.Function<Network,org.jclouds.compute.domain.SecurityGroup> groupConverter
           
protected  org.jclouds.compute.functions.GroupNamingConvention.Factory namingConvention
           
protected  com.google.common.cache.LoadingCache<NetworkAndAddressRange,Network> networkCreator
           
protected  long operationCompleteCheckInterval
           
protected  long operationCompleteCheckTimeout
           
protected  com.google.common.base.Predicate<AtomicReference<Operation>> operationDonePredicate
           
protected  com.google.common.base.Supplier<String> userProject
           
 
Constructor Summary
GoogleComputeEngineSecurityGroupExtension(GoogleComputeEngineApi api, com.google.common.base.Supplier<String> userProject, org.jclouds.compute.functions.GroupNamingConvention.Factory namingConvention, com.google.common.cache.LoadingCache<NetworkAndAddressRange,Network> networkCreator, com.google.common.base.Function<Network,org.jclouds.compute.domain.SecurityGroup> groupConverter, com.google.common.base.Predicate<AtomicReference<Operation>> operationDonePredicate, Long operationCompleteCheckInterval, Long operationCompleteCheckTimeout)
           
 
Method Summary
 org.jclouds.compute.domain.SecurityGroup addIpPermission(org.jclouds.net.domain.IpPermission ipPermission, org.jclouds.compute.domain.SecurityGroup group)
           
 org.jclouds.compute.domain.SecurityGroup addIpPermission(org.jclouds.net.domain.IpProtocol protocol, int fromPort, int toPort, com.google.common.collect.Multimap<String,String> tenantIdGroupNamePairs, Iterable<String> cidrBlocks, Iterable<String> groupIds, org.jclouds.compute.domain.SecurityGroup group)
           
 org.jclouds.compute.domain.SecurityGroup createSecurityGroup(String name)
           
 org.jclouds.compute.domain.SecurityGroup createSecurityGroup(String name, org.jclouds.domain.Location location)
           
 org.jclouds.compute.domain.SecurityGroup getSecurityGroupById(String id)
           
 Set<org.jclouds.compute.domain.SecurityGroup> listSecurityGroups()
           
 Set<org.jclouds.compute.domain.SecurityGroup> listSecurityGroupsForNode(String id)
           
 Set<org.jclouds.compute.domain.SecurityGroup> listSecurityGroupsInLocation(org.jclouds.domain.Location location)
           
 org.jclouds.compute.domain.SecurityGroup removeIpPermission(org.jclouds.net.domain.IpPermission ipPermission, org.jclouds.compute.domain.SecurityGroup group)
           
 org.jclouds.compute.domain.SecurityGroup removeIpPermission(org.jclouds.net.domain.IpProtocol protocol, int fromPort, int toPort, com.google.common.collect.Multimap<String,String> tenantIdGroupNamePairs, Iterable<String> cidrBlocks, Iterable<String> groupIds, org.jclouds.compute.domain.SecurityGroup group)
           
 boolean removeSecurityGroup(String id)
           
 boolean supportsGroupIds()
           
 boolean supportsPortRangesForGroups()
           
 boolean supportsTenantIdGroupIdPairs()
           
 boolean supportsTenantIdGroupNamePairs()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

userProject

protected final com.google.common.base.Supplier<String> userProject

namingConvention

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

networkCreator

protected final com.google.common.cache.LoadingCache<NetworkAndAddressRange,Network> networkCreator

groupConverter

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

api

protected final GoogleComputeEngineApi api

operationDonePredicate

protected final com.google.common.base.Predicate<AtomicReference<Operation>> operationDonePredicate

operationCompleteCheckInterval

protected final long operationCompleteCheckInterval

operationCompleteCheckTimeout

protected final long operationCompleteCheckTimeout
Constructor Detail

GoogleComputeEngineSecurityGroupExtension

@Inject
public GoogleComputeEngineSecurityGroupExtension(GoogleComputeEngineApi api,
                                                        com.google.common.base.Supplier<String> userProject,
                                                        org.jclouds.compute.functions.GroupNamingConvention.Factory namingConvention,
                                                        com.google.common.cache.LoadingCache<NetworkAndAddressRange,Network> networkCreator,
                                                        com.google.common.base.Function<Network,org.jclouds.compute.domain.SecurityGroup> groupConverter,
                                                        @Named(value="global")
                                                        com.google.common.base.Predicate<AtomicReference<Operation>> operationDonePredicate,
                                                        @Named(value="jclouds.google-compute-engine.operation-complete-interval")
                                                        Long operationCompleteCheckInterval,
                                                        @Named(value="jclouds.google-compute-engine.operation-complete-timeout")
                                                        Long operationCompleteCheckTimeout)
Method Detail

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

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)

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 fromPort,
                                                                int toPort,
                                                                com.google.common.collect.Multimap<String,String> tenantIdGroupNamePairs,
                                                                Iterable<String> cidrBlocks,
                                                                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 fromPort,
                                                                   int toPort,
                                                                   com.google.common.collect.Multimap<String,String> tenantIdGroupNamePairs,
                                                                   Iterable<String> cidrBlocks,
                                                                   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


Copyright © 2009-2014 The Apache Software Foundation. All Rights Reserved.