support `domainName` as a location config property (softlayer only)

Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/b4518dd5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/b4518dd5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/b4518dd5

Branch: refs/heads/master
Commit: b4518dd5c1e6075a2f243e0f790f0be6f0a55773
Parents: 3ed4459
Author: Alex Heneveld <[email protected]>
Authored: Fri May 8 17:19:19 2015 +0100
Committer: Alex Heneveld <[email protected]>
Committed: Fri May 8 18:51:50 2015 +0100

----------------------------------------------------------------------
 .../java/brooklyn/location/cloud/CloudLocationConfig.java    | 3 +++
 docs/guide/ops/locations/index.md                            | 3 +++
 .../main/java/brooklyn/location/jclouds/JcloudsLocation.java | 8 ++++++++
 3 files changed, 14 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b4518dd5/core/src/main/java/brooklyn/location/cloud/CloudLocationConfig.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/brooklyn/location/cloud/CloudLocationConfig.java 
b/core/src/main/java/brooklyn/location/cloud/CloudLocationConfig.java
index 39ef6fa..6831726 100644
--- a/core/src/main/java/brooklyn/location/cloud/CloudLocationConfig.java
+++ b/core/src/main/java/brooklyn/location/cloud/CloudLocationConfig.java
@@ -98,4 +98,7 @@ public interface CloudLocationConfig {
     public static final ConfigKey<Object> MIN_DISK = new 
BasicConfigKey<Object>(Object.class, "minDisk",
         "Minimum size of disk, either as string (100gb) or number of GB (100), 
for use in selecting the machine/hardware profile", null);
 
+    public static final ConfigKey<String> DOMAIN_NAME = new 
BasicConfigKey<String>(String.class, "domainName",
+        "DNS domain where the host should be created, e.g. yourdomain.com 
(selected clouds only)", null);
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b4518dd5/docs/guide/ops/locations/index.md
----------------------------------------------------------------------
diff --git a/docs/guide/ops/locations/index.md 
b/docs/guide/ops/locations/index.md
index 3c1f6b8..02e82bb 100644
--- a/docs/guide/ops/locations/index.md
+++ b/docs/guide/ops/locations/index.md
@@ -139,6 +139,9 @@ For more keys and more detail on the keys below, see
   For all names, a random suffix will be appended to help guarantee uniqueness;
   this can be removed by setting `vmNameSaltLength: 0`.
   
+- A DNS domain name where this host should be placed can be specified with 
`domainName`
+  (in selected clouds only)
+
 - User metadata can be attached using the syntax `userMetadata: { key: value, 
key2: "value 2" }` 
   (or `userMetadata=key=value,key2="value 2"` in a properties file)
 

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b4518dd5/locations/jclouds/src/main/java/brooklyn/location/jclouds/JcloudsLocation.java
----------------------------------------------------------------------
diff --git 
a/locations/jclouds/src/main/java/brooklyn/location/jclouds/JcloudsLocation.java
 
b/locations/jclouds/src/main/java/brooklyn/location/jclouds/JcloudsLocation.java
index 1118409..c74cfe2 100644
--- 
a/locations/jclouds/src/main/java/brooklyn/location/jclouds/JcloudsLocation.java
+++ 
b/locations/jclouds/src/main/java/brooklyn/location/jclouds/JcloudsLocation.java
@@ -1065,6 +1065,14 @@ public class JcloudsLocation extends 
AbstractCloudMachineProvisioningLocation im
                     public void apply(TemplateOptions t, ConfigBag props, 
Object v) {
                         t.networks((String)v);
                     }})
+              .put(DOMAIN_NAME, new CustomizeTemplateOptions() {
+                    public void apply(TemplateOptions t, ConfigBag props, 
Object v) {
+                        if (t instanceof SoftLayerTemplateOptions) {
+                            
((SoftLayerTemplateOptions)t).domainName((String)v);
+                        } else {
+                            LOG.info("ignoring domain-name({}) in VM creation 
because not supported for cloud/type ({})", v, t);                            
+                        }
+                    }})
               .put(TEMPLATE_OPTIONS, new CustomizeTemplateOptions() {
                   @Override
                   public void apply(TemplateOptions options, ConfigBag config, 
Object v) {

Reply via email to