package com.eucalyptus.auth.principal; import java.io.Serializable; import javax.persistence.DiscriminatorValue; import javax.persistence.Entity; import javax.persistence.PersistenceContext; import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; import com.eucalyptus.util.HasName; @Entity @PersistenceContext( name = "eucalyptus_auth" ) @Cache( usage = CacheConcurrencyStrategy.READ_WRITE ) @DiscriminatorValue( value = "AvailabilityZonePermission" ) public class AvailabilityZonePermission extends BaseAuthorization<HasName> implements Serializable { public AvailabilityZonePermission( ) {} public AvailabilityZonePermission( String value ) { super( value ); } public String getDescription( ) { return "Grants the ability to run instances in the indicated availability zone"; } @Override public String getName( ) { return "Availability Zone Permission"; } @Override public boolean check( HasName t ) { return this.getValue( ).equals( t.getName( ) ) && "Cluster".equals( t.getClass( ).getSimpleName( ) ); } }