org.dasein.cloud.aws.platform
Class Redshift

java.lang.Object
  extended by org.dasein.cloud.platform.bigdata.AbstractDataWarehouseSupport<AWSCloud>
      extended by org.dasein.cloud.aws.platform.Redshift
All Implemented Interfaces:
org.dasein.cloud.platform.bigdata.DataWarehouseSupport

public class Redshift
extends org.dasein.cloud.platform.bigdata.AbstractDataWarehouseSupport<AWSCloud>

Implementation of AWS Redshift support based on the Dasein Cloud Data Warehouse API. Key mappings are:

Since:
2014.03
Version:
2014.03 initial version (issue #83)

Constructor Summary
Redshift(AWSCloud provider)
           
 
Method Summary
 void addSnapshotShare(String snapshotId, String accountNumber)
           
 void authorizeComputeFirewalls(String dataClusterFirewallId, org.dasein.cloud.network.FirewallReference... firewalls)
           
 void authorizeIPs(String dataClusterFirewallId, String... cidrs)
           
 String createCluster(org.dasein.cloud.platform.bigdata.DataClusterCreateOptions options)
           
 String createClusterFirewall(String name, String description)
           
 String createClusterParameterGroup(String family, String name, String description, Map<String,Object> initialParameters)
           
 String createClusterSnapshot(String clusterId, String name, String description)
           
 void disableLogging(String clusterId)
           
 void enableLogging(String clusterId, String bucket, String prefix)
           
 org.dasein.cloud.platform.bigdata.DataCluster getCluster(String clusterId)
           
 org.dasein.cloud.platform.bigdata.DataClusterFirewall getClusterFirewall(String firewallId)
           
 org.dasein.cloud.storage.CloudStorageLogging getClusterLoggingStatus(String clusterId)
           
 org.dasein.cloud.platform.bigdata.DataClusterParameterGroup getClusterParameterGroup(String groupId)
           
 org.dasein.cloud.platform.bigdata.DataClusterProduct getClusterProduct(String productId)
           
 org.dasein.cloud.platform.bigdata.DataClusterSnapshot getClusterSnapshot(String snapshotId)
           
 org.dasein.cloud.Requirement getDataCenterConstraintRequirement()
           
 Iterable<org.dasein.cloud.platform.bigdata.DataClusterFirewall> listClusterFirewalls()
           
 Iterable<org.dasein.cloud.platform.bigdata.DataClusterParameterGroup> listClusterParameterGroups()
           
 Iterable<org.dasein.cloud.platform.bigdata.DataClusterProduct> listClusterProducts()
           
 Iterable<org.dasein.cloud.platform.bigdata.DataCluster> listClusters()
           
 Iterable<org.dasein.cloud.platform.bigdata.DataClusterSnapshot> listClusterSnapshots()
           
 Iterable<org.dasein.cloud.platform.bigdata.DataClusterSnapshot> listClusterSnapshots(org.dasein.cloud.platform.bigdata.DataClusterSnapshotFilterOptions options)
           
 Iterable<org.dasein.cloud.platform.bigdata.DataClusterVersion> listClusterVersions()
           
 void rebootCluster(String clusterId)
           
 void removeAllSnapshotShares(String snapshotId)
           
 void removeCluster(String clusterId, boolean snapshotFirst)
           
 void removeClusterFirewall(String firewallId)
           
 void removeClusterParameterGroup(String groupId)
           
 void removeClusterSnapshot(String snapshotId)
           
 void removeSnapshotShare(String snapshotId, String accountNumber)
           
 void resizeCluster(String clusterId, int nodeCount)
           
 void revokeComputeFirewalls(String dataClusterFirewallId, org.dasein.cloud.network.FirewallReference... firewalls)
           
 void revokeIPs(String dataClusterFirewallId, String... cidrs)
           
 void rotateEncryptionKeys(String clusterId)
           
 boolean supportsAuthorizingComputeFirewalls()
           
 boolean supportsCloudStorageLogging()
           
 boolean supportsClusterFirewalls()
           
 boolean supportsClusterSnapshots(boolean automated)
           
 boolean supportsEncryptionAtRest()
           
 boolean supportsSnapshotSharing()
           
 void updateClusterTags(String[] clusterIds, org.dasein.cloud.Tag... tags)
           
 void updateClusterTags(String clusterId, org.dasein.cloud.Tag... tags)
           
 void updateParameters(String parameterGroupId, Map<String,Object> parameters)
           
 void updateSnapshotTags(String[] snapshotIds, org.dasein.cloud.Tag... tags)
           
 void updateSnapshotTags(String snapshotId, org.dasein.cloud.Tag... tags)
           
 
Methods inherited from class org.dasein.cloud.platform.bigdata.AbstractDataWarehouseSupport
getContext, getProvider
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Redshift

public Redshift(@Nonnull
                AWSCloud provider)
Method Detail

addSnapshotShare

public void addSnapshotShare(@Nonnull
                             String snapshotId,
                             @Nonnull
                             String accountNumber)
                      throws org.dasein.cloud.CloudException,
                             org.dasein.cloud.InternalException
Specified by:
addSnapshotShare in interface org.dasein.cloud.platform.bigdata.DataWarehouseSupport
Overrides:
addSnapshotShare in class org.dasein.cloud.platform.bigdata.AbstractDataWarehouseSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

authorizeComputeFirewalls

public void authorizeComputeFirewalls(@Nonnull
                                      String dataClusterFirewallId,
                                      @Nonnull
                                      org.dasein.cloud.network.FirewallReference... firewalls)
                               throws org.dasein.cloud.CloudException,
                                      org.dasein.cloud.InternalException
Specified by:
authorizeComputeFirewalls in interface org.dasein.cloud.platform.bigdata.DataWarehouseSupport
Overrides:
authorizeComputeFirewalls in class org.dasein.cloud.platform.bigdata.AbstractDataWarehouseSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

authorizeIPs

public void authorizeIPs(@Nonnull
                         String dataClusterFirewallId,
                         @Nonnull
                         String... cidrs)
                  throws org.dasein.cloud.CloudException,
                         org.dasein.cloud.InternalException
Specified by:
authorizeIPs in interface org.dasein.cloud.platform.bigdata.DataWarehouseSupport
Overrides:
authorizeIPs in class org.dasein.cloud.platform.bigdata.AbstractDataWarehouseSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

createCluster

@Nonnull
public String createCluster(@Nonnull
                                    org.dasein.cloud.platform.bigdata.DataClusterCreateOptions options)
                     throws org.dasein.cloud.CloudException,
                            org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

createClusterFirewall

@Nonnull
public String createClusterFirewall(@Nonnull
                                            String name,
                                            @Nonnull
                                            String description)
                             throws org.dasein.cloud.CloudException,
                                    org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

createClusterParameterGroup

@Nonnull
public String createClusterParameterGroup(@Nonnull
                                                  String family,
                                                  @Nonnull
                                                  String name,
                                                  @Nonnull
                                                  String description,
                                                  @Nonnull
                                                  Map<String,Object> initialParameters)
                                   throws org.dasein.cloud.CloudException,
                                          org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

createClusterSnapshot

@Nonnull
public String createClusterSnapshot(@Nonnull
                                            String clusterId,
                                            @Nonnull
                                            String name,
                                            @Nonnull
                                            String description)
                             throws org.dasein.cloud.CloudException,
                                    org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

disableLogging

public void disableLogging(@Nonnull
                           String clusterId)
                    throws org.dasein.cloud.CloudException,
                           org.dasein.cloud.InternalException
Specified by:
disableLogging in interface org.dasein.cloud.platform.bigdata.DataWarehouseSupport
Overrides:
disableLogging in class org.dasein.cloud.platform.bigdata.AbstractDataWarehouseSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

enableLogging

public void enableLogging(@Nonnull
                          String clusterId,
                          @Nonnull
                          String bucket,
                          @Nonnull
                          String prefix)
                   throws org.dasein.cloud.CloudException,
                          org.dasein.cloud.InternalException
Specified by:
enableLogging in interface org.dasein.cloud.platform.bigdata.DataWarehouseSupport
Overrides:
enableLogging in class org.dasein.cloud.platform.bigdata.AbstractDataWarehouseSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

getCluster

public org.dasein.cloud.platform.bigdata.DataCluster getCluster(@Nonnull
                                                                String clusterId)
                                                         throws org.dasein.cloud.CloudException,
                                                                org.dasein.cloud.InternalException
Specified by:
getCluster in interface org.dasein.cloud.platform.bigdata.DataWarehouseSupport
Overrides:
getCluster in class org.dasein.cloud.platform.bigdata.AbstractDataWarehouseSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

getClusterFirewall

public org.dasein.cloud.platform.bigdata.DataClusterFirewall getClusterFirewall(@Nonnull
                                                                                String firewallId)
                                                                         throws org.dasein.cloud.CloudException,
                                                                                org.dasein.cloud.InternalException
Specified by:
getClusterFirewall in interface org.dasein.cloud.platform.bigdata.DataWarehouseSupport
Overrides:
getClusterFirewall in class org.dasein.cloud.platform.bigdata.AbstractDataWarehouseSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

getClusterLoggingStatus

public org.dasein.cloud.storage.CloudStorageLogging getClusterLoggingStatus(@Nonnull
                                                                            String clusterId)
                                                                     throws org.dasein.cloud.CloudException,
                                                                            org.dasein.cloud.InternalException
Specified by:
getClusterLoggingStatus in interface org.dasein.cloud.platform.bigdata.DataWarehouseSupport
Overrides:
getClusterLoggingStatus in class org.dasein.cloud.platform.bigdata.AbstractDataWarehouseSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

getClusterParameterGroup

public org.dasein.cloud.platform.bigdata.DataClusterParameterGroup getClusterParameterGroup(@Nonnull
                                                                                            String groupId)
                                                                                     throws org.dasein.cloud.CloudException,
                                                                                            org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

getClusterProduct

public org.dasein.cloud.platform.bigdata.DataClusterProduct getClusterProduct(@Nonnull
                                                                              String productId)
                                                                       throws org.dasein.cloud.CloudException,
                                                                              org.dasein.cloud.InternalException
Specified by:
getClusterProduct in interface org.dasein.cloud.platform.bigdata.DataWarehouseSupport
Overrides:
getClusterProduct in class org.dasein.cloud.platform.bigdata.AbstractDataWarehouseSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

getClusterSnapshot

public org.dasein.cloud.platform.bigdata.DataClusterSnapshot getClusterSnapshot(@Nonnull
                                                                                String snapshotId)
                                                                         throws org.dasein.cloud.CloudException,
                                                                                org.dasein.cloud.InternalException
Specified by:
getClusterSnapshot in interface org.dasein.cloud.platform.bigdata.DataWarehouseSupport
Overrides:
getClusterSnapshot in class org.dasein.cloud.platform.bigdata.AbstractDataWarehouseSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

getDataCenterConstraintRequirement

@Nonnull
public org.dasein.cloud.Requirement getDataCenterConstraintRequirement()
                                                                throws org.dasein.cloud.CloudException,
                                                                       org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

listClusterFirewalls

@Nonnull
public Iterable<org.dasein.cloud.platform.bigdata.DataClusterFirewall> listClusterFirewalls()
                                                                                     throws org.dasein.cloud.CloudException,
                                                                                            org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

listClusterParameterGroups

@Nonnull
public Iterable<org.dasein.cloud.platform.bigdata.DataClusterParameterGroup> listClusterParameterGroups()
                                                                                                 throws org.dasein.cloud.CloudException,
                                                                                                        org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

listClusterProducts

@Nonnull
public Iterable<org.dasein.cloud.platform.bigdata.DataClusterProduct> listClusterProducts()
                                                                                   throws org.dasein.cloud.CloudException,
                                                                                          org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

listClusterSnapshots

@Nonnull
public Iterable<org.dasein.cloud.platform.bigdata.DataClusterSnapshot> listClusterSnapshots()
                                                                                     throws org.dasein.cloud.CloudException,
                                                                                            org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

listClusterSnapshots

@Nonnull
public Iterable<org.dasein.cloud.platform.bigdata.DataClusterSnapshot> listClusterSnapshots(@Nullable
                                                                                                    org.dasein.cloud.platform.bigdata.DataClusterSnapshotFilterOptions options)
                                                                                     throws org.dasein.cloud.CloudException,
                                                                                            org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

listClusterVersions

@Nonnull
public Iterable<org.dasein.cloud.platform.bigdata.DataClusterVersion> listClusterVersions()
                                                                                   throws org.dasein.cloud.CloudException,
                                                                                          org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

listClusters

@Nonnull
public Iterable<org.dasein.cloud.platform.bigdata.DataCluster> listClusters()
                                                                     throws org.dasein.cloud.CloudException,
                                                                            org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

rebootCluster

public void rebootCluster(@Nonnull
                          String clusterId)
                   throws org.dasein.cloud.CloudException,
                          org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

removeAllSnapshotShares

public void removeAllSnapshotShares(@Nonnull
                                    String snapshotId)
                             throws org.dasein.cloud.CloudException,
                                    org.dasein.cloud.InternalException
Specified by:
removeAllSnapshotShares in interface org.dasein.cloud.platform.bigdata.DataWarehouseSupport
Overrides:
removeAllSnapshotShares in class org.dasein.cloud.platform.bigdata.AbstractDataWarehouseSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

removeCluster

public void removeCluster(@Nonnull
                          String clusterId,
                          boolean snapshotFirst)
                   throws org.dasein.cloud.CloudException,
                          org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

removeClusterFirewall

public void removeClusterFirewall(@Nonnull
                                  String firewallId)
                           throws org.dasein.cloud.CloudException,
                                  org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

removeClusterParameterGroup

public void removeClusterParameterGroup(@Nonnull
                                        String groupId)
                                 throws org.dasein.cloud.CloudException,
                                        org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

removeClusterSnapshot

public void removeClusterSnapshot(@Nonnull
                                  String snapshotId)
                           throws org.dasein.cloud.CloudException,
                                  org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

removeSnapshotShare

public void removeSnapshotShare(@Nonnull
                                String snapshotId,
                                @Nonnull
                                String accountNumber)
                         throws org.dasein.cloud.CloudException,
                                org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

resizeCluster

public void resizeCluster(@Nonnull
                          String clusterId,
                          @Nonnegative
                          int nodeCount)
                   throws org.dasein.cloud.CloudException,
                          org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

revokeComputeFirewalls

public void revokeComputeFirewalls(@Nonnull
                                   String dataClusterFirewallId,
                                   @Nonnull
                                   org.dasein.cloud.network.FirewallReference... firewalls)
                            throws org.dasein.cloud.CloudException,
                                   org.dasein.cloud.InternalException
Specified by:
revokeComputeFirewalls in interface org.dasein.cloud.platform.bigdata.DataWarehouseSupport
Overrides:
revokeComputeFirewalls in class org.dasein.cloud.platform.bigdata.AbstractDataWarehouseSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

revokeIPs

public void revokeIPs(@Nonnull
                      String dataClusterFirewallId,
                      @Nonnull
                      String... cidrs)
               throws org.dasein.cloud.CloudException,
                      org.dasein.cloud.InternalException
Specified by:
revokeIPs in interface org.dasein.cloud.platform.bigdata.DataWarehouseSupport
Overrides:
revokeIPs in class org.dasein.cloud.platform.bigdata.AbstractDataWarehouseSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

rotateEncryptionKeys

public void rotateEncryptionKeys(@Nonnull
                                 String clusterId)
                          throws org.dasein.cloud.CloudException,
                                 org.dasein.cloud.InternalException
Specified by:
rotateEncryptionKeys in interface org.dasein.cloud.platform.bigdata.DataWarehouseSupport
Overrides:
rotateEncryptionKeys in class org.dasein.cloud.platform.bigdata.AbstractDataWarehouseSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

supportsAuthorizingComputeFirewalls

public boolean supportsAuthorizingComputeFirewalls()
                                            throws org.dasein.cloud.CloudException,
                                                   org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

supportsCloudStorageLogging

public boolean supportsCloudStorageLogging()
                                    throws org.dasein.cloud.CloudException,
                                           org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

supportsClusterFirewalls

public boolean supportsClusterFirewalls()
                                 throws org.dasein.cloud.CloudException,
                                        org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

supportsClusterSnapshots

public boolean supportsClusterSnapshots(boolean automated)
                                 throws org.dasein.cloud.CloudException,
                                        org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

supportsEncryptionAtRest

public boolean supportsEncryptionAtRest()
                                 throws org.dasein.cloud.CloudException,
                                        org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

updateParameters

public void updateParameters(@Nonnull
                             String parameterGroupId,
                             @Nonnull
                             Map<String,Object> parameters)
                      throws org.dasein.cloud.CloudException,
                             org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

supportsSnapshotSharing

public boolean supportsSnapshotSharing()
                                throws org.dasein.cloud.InternalException,
                                       org.dasein.cloud.CloudException
Throws:
org.dasein.cloud.InternalException
org.dasein.cloud.CloudException

updateClusterTags

public void updateClusterTags(@Nonnull
                              String clusterId,
                              @Nonnull
                              org.dasein.cloud.Tag... tags)
                       throws org.dasein.cloud.CloudException,
                              org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

updateClusterTags

public void updateClusterTags(@Nonnull
                              String[] clusterIds,
                              @Nonnull
                              org.dasein.cloud.Tag... tags)
                       throws org.dasein.cloud.CloudException,
                              org.dasein.cloud.InternalException
Specified by:
updateClusterTags in interface org.dasein.cloud.platform.bigdata.DataWarehouseSupport
Overrides:
updateClusterTags in class org.dasein.cloud.platform.bigdata.AbstractDataWarehouseSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

updateSnapshotTags

public void updateSnapshotTags(@Nonnull
                               String snapshotId,
                               @Nonnull
                               org.dasein.cloud.Tag... tags)
                        throws org.dasein.cloud.CloudException,
                               org.dasein.cloud.InternalException
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException

updateSnapshotTags

public void updateSnapshotTags(@Nonnull
                               String[] snapshotIds,
                               @Nonnull
                               org.dasein.cloud.Tag... tags)
                        throws org.dasein.cloud.CloudException,
                               org.dasein.cloud.InternalException
Specified by:
updateSnapshotTags in interface org.dasein.cloud.platform.bigdata.DataWarehouseSupport
Overrides:
updateSnapshotTags in class org.dasein.cloud.platform.bigdata.AbstractDataWarehouseSupport<AWSCloud>
Throws:
org.dasein.cloud.CloudException
org.dasein.cloud.InternalException


Copyright © 2009-2014 Dell, Inc.. All Rights Reserved.