southeast region for s3
diff --git a/aws/core/src/main/java/org/jclouds/aws/s3/S3PropertiesBuilder.java b/aws/core/src/main/java/org/jclouds/aws/s3/S3PropertiesBuilder.java
index 72fdbb8..7712154 100644
--- a/aws/core/src/main/java/org/jclouds/aws/s3/S3PropertiesBuilder.java
+++ b/aws/core/src/main/java/org/jclouds/aws/s3/S3PropertiesBuilder.java
@@ -23,10 +23,11 @@
 import static org.jclouds.aws.reference.AWSConstants.PROPERTY_AWS_ACCESSKEYID;
 import static org.jclouds.aws.reference.AWSConstants.PROPERTY_AWS_SECRETACCESSKEY;
 import static org.jclouds.aws.s3.reference.S3Constants.PROPERTY_S3_ENDPOINT;
-import static org.jclouds.aws.s3.reference.S3Constants.PROPERTY_S3_SESSIONINTERVAL;
+import static org.jclouds.aws.s3.reference.S3Constants.PROPERTY_S3_ENDPOINT_AP_SOUTHEAST_1;
 import static org.jclouds.aws.s3.reference.S3Constants.PROPERTY_S3_ENDPOINT_EU_WEST_1;
 import static org.jclouds.aws.s3.reference.S3Constants.PROPERTY_S3_ENDPOINT_US_STANDARD;
 import static org.jclouds.aws.s3.reference.S3Constants.PROPERTY_S3_ENDPOINT_US_WEST_1;
+import static org.jclouds.aws.s3.reference.S3Constants.PROPERTY_S3_SESSIONINTERVAL;
 import static org.jclouds.blobstore.reference.BlobStoreConstants.DIRECTORY_SUFFIX_FOLDER;
 import static org.jclouds.blobstore.reference.BlobStoreConstants.PROPERTY_BLOBSTORE_DIRECTORY_SUFFIX;
 import static org.jclouds.blobstore.reference.BlobStoreConstants.PROPERTY_USER_METADATA_PREFIX;
@@ -51,7 +52,8 @@
       properties.setProperty(PROPERTY_S3_ENDPOINT_US_STANDARD, "https://s3.amazonaws.com");
       properties.setProperty(PROPERTY_S3_ENDPOINT_US_WEST_1, "https://s3-us-west-1.amazonaws.com");
       properties.setProperty(PROPERTY_S3_ENDPOINT_EU_WEST_1, "https://s3-eu-west-1.amazonaws.com");
-      properties.setProperty(PROPERTY_USER_METADATA_PREFIX, "x-amz-meta-");
+      properties.setProperty(PROPERTY_S3_ENDPOINT_AP_SOUTHEAST_1,
+               "https://s3-ap-southeast-1.amazonaws.com");
       properties.setProperty(PROPERTY_S3_SESSIONINTERVAL, "60");
       properties.setProperty(PROPERTY_BLOBSTORE_DIRECTORY_SUFFIX, DIRECTORY_SUFFIX_FOLDER);
       return properties;
diff --git a/aws/core/src/main/java/org/jclouds/aws/s3/config/S3RestClientModule.java b/aws/core/src/main/java/org/jclouds/aws/s3/config/S3RestClientModule.java
index bea46e4..037524e 100755
--- a/aws/core/src/main/java/org/jclouds/aws/s3/config/S3RestClientModule.java
+++ b/aws/core/src/main/java/org/jclouds/aws/s3/config/S3RestClientModule.java
@@ -105,9 +105,11 @@
    Map<String, URI> provideRegions(
             @Named(S3Constants.PROPERTY_S3_ENDPOINT_US_STANDARD) String usstandard,
             @Named(S3Constants.PROPERTY_S3_ENDPOINT_US_WEST_1) String uswest,
+            @Named(S3Constants.PROPERTY_S3_ENDPOINT_AP_SOUTHEAST_1) String southeast,
             @Named(S3Constants.PROPERTY_S3_ENDPOINT_EU_WEST_1) String euwest) {
       return ImmutableMap.<String, URI> of(Region.US_STANDARD, URI.create(usstandard),
-               Region.US_WEST_1, URI.create(uswest), Region.EU_WEST_1, URI.create(euwest));
+               Region.AP_SOUTHEAST_1, URI.create(southeast), Region.US_WEST_1, URI.create(uswest),
+               Region.EU_WEST_1, URI.create(euwest));
    }
 
    @Provides
diff --git a/aws/core/src/main/java/org/jclouds/aws/s3/functions/BindRegionToXmlPayload.java b/aws/core/src/main/java/org/jclouds/aws/s3/functions/BindRegionToXmlPayload.java
index 55205d6..5b1090e 100644
--- a/aws/core/src/main/java/org/jclouds/aws/s3/functions/BindRegionToXmlPayload.java
+++ b/aws/core/src/main/java/org/jclouds/aws/s3/functions/BindRegionToXmlPayload.java
@@ -53,13 +53,17 @@
       checkArgument(input instanceof String, "this binder is only valid for Region!");
       String constraint = (String) input;
       String value = null;
-      if(Region.US_STANDARD.equals(constraint) || Region.US_EAST_1.equals(constraint)) {
+      if (Region.US_STANDARD.equals(constraint) || Region.US_EAST_1.equals(constraint)) {
          // nothing to bind as this is default.
          return;
-      } else if(Region.EU_WEST_1.equals(constraint)) value = "EU";
-      else if(Region.US_WEST_1.equals(constraint)) value = "us-west-1";
+      } else if (Region.EU_WEST_1.equals(constraint))
+         value = "EU";
+      else if (Region.US_WEST_1.equals(constraint))
+         value = "us-west-1";
+      else if (Region.AP_SOUTHEAST_1.equals(constraint))
+         value = "ap-southeast-1";
       else {
-            throw new IllegalStateException("unimplemented location: " + this);
+         throw new IllegalStateException("unimplemented location: " + this);
       }
       String payload = String
                .format(
diff --git a/aws/core/src/main/java/org/jclouds/aws/s3/reference/S3Constants.java b/aws/core/src/main/java/org/jclouds/aws/s3/reference/S3Constants.java
index efad7a9..6e9d723 100755
--- a/aws/core/src/main/java/org/jclouds/aws/s3/reference/S3Constants.java
+++ b/aws/core/src/main/java/org/jclouds/aws/s3/reference/S3Constants.java
@@ -44,5 +44,6 @@
    public static final String PROPERTY_S3_ENDPOINT_EU_WEST_1 = "jclouds.s3.endpoint.eu_west_1";
    public static final String PROPERTY_S3_ENDPOINT_US_STANDARD = "jclouds.s3.endpoint.us_standard";
    public static final String PROPERTY_S3_ENDPOINT_US_WEST_1 = "jclouds.s3.endpoint.us_west_1";
+   public static final String PROPERTY_S3_ENDPOINT_AP_SOUTHEAST_1 = "jclouds.s3.endpoint.ap_southeast_1";
 
 }
diff --git a/aws/core/src/main/java/org/jclouds/aws/s3/xml/LocationConstraintHandler.java b/aws/core/src/main/java/org/jclouds/aws/s3/xml/LocationConstraintHandler.java
index 21d3e5f..c85da72 100644
--- a/aws/core/src/main/java/org/jclouds/aws/s3/xml/LocationConstraintHandler.java
+++ b/aws/core/src/main/java/org/jclouds/aws/s3/xml/LocationConstraintHandler.java
@@ -51,8 +51,10 @@
          return Region.US_STANDARD;
       if (v.equals("EU"))
          return Region.EU_WEST_1;
-      else if (v.equals("us-west-1"))
+      else if (v.equals(Region.US_WEST_1))
          return Region.US_WEST_1;
+      else if (v.equals(Region.AP_SOUTHEAST_1))
+         return Region.AP_SOUTHEAST_1;
       throw new IllegalStateException("unimplemented location: " + v);
    }