diff --git a/templates/sample.j2 b/templates/sample.j2
new file mode 100644
index 0000000..da40187
--- /dev/null
+++ b/templates/sample.j2
@@ -0,0 +1,90 @@
+
+# Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost.
+HOSTIP={{ hostvars[public_address][interface_name].ipv4.address }}
+
+# Define the API BaaS administrator account.
+# User name - default is "superuser".
+AS_ADMIN={{ baas_superuser_name }}
+AS_ADMIN_EMAIL={{ baas_superuser_email }}
+AS_PASSWD={{ baas_superuser_pass }}
+
+# Specify Cassandra configuration information.
+CASS_HOSTS="{{ cassandra_hosts }}"
+
+# Cassandra uname/pword if you enabled Cassandra authentication.
+# Even if you have not enabled Cassandra authentication,
+# you must pass values for these properties.
+CASS_USERNAME={{ opdk_cass_username }}
+# Default value
+CASS_PASSWORD={{ opdk_cass_password }}
+
+# Specify BaaS Cassandra connection information.
+# Specify the data center name.
+# Default is dc-1.
+{% if groups['dc-1'] is defined and inventory_hostname in groups['dc-1'] %}
+BAAS_CASS_LOCALDC=dc-1
+BAAS_CASS_DC_LIST="dc-1"
+{% if opdk_version == '4.17.01' %}
+BAAS_CLUSTER_SEEDS="{% for host in groups['dc-1-baas'] %}dc-1:{{ hostvars[host][interface_name].ipv4.address }}{% if not loop.last %},{% endif %}{% endfor %}"
+{% endif %}
+{% elif groups['dc-2'] is defined and inventory_hostname in groups['dc-2'] %}
+BAAS_CASS_LOCALDC=dc-2
+BAAS_CASS_DC_LIST="dc-2"
+{% if opdk_version == '4.17.01' %}
+BAAS_CLUSTER_SEEDS="{% for host in groups['dc-2-baas'] %}dc-2:{{ hostvars[host][interface_name].ipv4.address }}{% if not loop.last %},{% endif %}{% endfor %}"
+{% endif %}
+{% endif %}
+
+
+
+# Replication is in the form "dataCenterName:#CassandraNodes".
+# For example, for dc-1 with three Cassandra nodes, it is dc-1:3.
+{% if groups['dc-1-cassandra'] is defined and inventory_hostname in groups['dc-1'] %}
+BAAS_CASS_REPLICATION=dc-1:{{ groups['dc-1-cassandra'] | length }}
+{% elif groups['dc-2-cassandra'] is defined and inventory_hostname in groups['dc-2'] %}
+BAAS_CASS_REPLICATION=dc-2:{{ groups['dc-2-cassandra'] | length }}
+{% else %}
+BAAS_CASS_REPLICATION=dc-1:{{ groups['cassandra'] | length }}
+{% endif %}
+
+# ElasticSearch IPs or DNS names, separated by spaces.
+{% if groups['dc-1-elastic'] is defined and inventory_hostname in groups['dc-1'] %}
+ES_HOSTS="{% for host in groups['dc-1-elastic'] %}{{ hostvars[host][interface_name].ipv4.address }}{% if not loop.last %} {% endif %}{% endfor %}"
+{% elif groups['dc-2-elastic'] is defined and inventory_hostname in groups['dc-2'] %}
+ES_HOSTS="{% for host in groups['dc-2-elastic'] %}{{ hostvars[host][interface_name].ipv4.address }}{% if not loop.last %} {% endif %}{% endfor %}"
+{% else %}
+ES_HOSTS="{% for host in groups['elastic'] %}{{ hostvars[host][interface_name].ipv4.address }}{% if not loop.last %} {% endif %}{% endfor %}"
+{% endif %}
+
+# API BaaS Stack information.
+# Default cluster name is "apigee_baas"
+BAAS_USERGRID_CLUSTERNAME="{{ baas_cluster_name }}"
+
+# URL and port of the load balancer for the API BaaS Stack nodes, # or IP/DNS and port of a single Stack node with no load balancer.
+{% if baas_load_balancer_host is defined and baas_load_balancer_host and baas_load_balancer_port is defined and baas_load_balancer_port %}
+BAAS_USERGRID_URL="http://{{ baas_load_balancer_host }}:{{ baas_load_balancer_port }}"
+{% elif groups['portal'][0] is defined and groups['baas'][0] and baas_portal_port is defined and baas_portal_port %}
+BAAS_USERGRID_URL="http://{{ groups['baas'][0] }}:{{ baas_load_balancer_port }}"
+{% endif %}
+
+# API BaaS Portal information.
+# URL and port number of load balancer, if there is one in front of the Portal, # or the URL and port of the Portal node.
+{% if groups['dc-1-portal'] is defined and inventory_hostname in groups['dc-1'] %}
+BAAS_PORTAL_URL="http://{{ hostvars[groups['dc-1-portal'][0]]['local_address'] }}:{{baas_portal_port }}"
+{% elif groups['dc-2-portal'] is defined and inventory_hostname in groups['dc-2'] %}
+BAAS_PORTAL_URL="http://{{ hostvars[groups['dc-2-portal'][0]]['local_address'] }}:{{ baas_portal_port }}"
+{% else %}
+BAAS_PORTAL_URL="http://{{ hostvars[groups['portal'][0]]['local_address'] }}:{{ baas_portal_port }}"
+{% endif %}
+
+# Portal port. Default value is 9000.
+BAAS_PORTAL_LISTEN_PORT={{ baas_portal_port }}
+
+# SMTP information. BaaS requires an SMTP server.
+SMTPHOST={{ baas_smtp_host }}
+SMTPPORT={{ baas_smtp_port }}
+SMTPUSER='{{ baas_smtp_user }}'
+SMTPPASSWORD='{{ baas_smtp_user_pass }}'
+SMTPSSL={{ baas_smtp_ssl }}
+
+LICENSE_FILE={{ opdk_license_target_file_path }}
