parameters:

  ##############################################
  #                                            #
  # Parameters used across all ONAP components #
  #                                            #
  ##############################################

  public_net_id: fbe8fd92-6636-4e63-ab28-bb6a5b0888a9

  public_net_name: admin-vpn-floating

  ubuntu_1404_image: "Ubuntu 14.04 LTS Generic"

  ubuntu_1604_image: "Ubuntu 16.04 LTS Generic"

  flavor_small: m1.small

  flavor_medium: m1.medium

  flavor_large: m1.large

  flavor_xlarge: m1.xlarge

  flavor_xxlarge: m1.xlarge

  vm_base_name: onap

  key_name: onap_key

  pub_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh

  nexus_repo: https://nexus.onap.org/content/sites/raw

  nexus_docker_repo: 192.168.31.204:5000

  nexus_username: anonymous

  nexus_password: anonymous

  dmaap_topic: AUTO

  artifacts_version: 1.2.0-SNAPSHOT

  openstack_tenant_id: ${OS_PROJECT_ID}

  openstack_tenant_name: ${OS_PROJECT_NAME}

  openstack_username: ${OS_USERNAME}

  openstack_api_key: ${OS_PASSWORD}

  openstack_auth_method: password

  openstack_region: RegionOne

  horizon_url: https://bdc1tlab01.research.att.com/horizon

  keystone_url: https://bdc1tlab01.research.att.com:5000

  cloud_env: openstack


  ######################
  #                    #
  # Network parameters #
  #                    #
  ######################

  dns_list: ["204.178.3.230", "8.8.8.8"]
  external_dns: 8.8.8.8
  dns_forwarder: 204.178.3.230
  oam_network_cidr: 10.0.0.0/16

  ### Private IP addresses ###

  aai1_ip_addr: 10.0.1.1
  aai2_ip_addr: 10.0.1.2
  appc_ip_addr: 10.0.2.1
  dcae_ip_addr: 10.0.4.1
  dns_ip_addr: 10.0.100.1
  so_ip_addr: 10.0.5.1
  mr_ip_addr: 10.0.11.1
  policy_ip_addr: 10.0.6.1
  portal_ip_addr: 10.0.9.1
  robot_ip_addr: 10.0.10.1
  sdc_ip_addr: 10.0.3.1
  sdnc_ip_addr: 10.0.7.1
  vid_ip_addr: 10.0.8.1
  clamp_ip_addr: 10.0.12.1
  openo_ip_addr: 10.0.14.1
  music_ip_addr: 10.0.15.1
  oof_ip_addr: 10.0.16.1
  aaf_ip_addr: 10.0.13.1
  nbi_ip_addr: 10.0.17.1

  ###########################
  #                         #
  # Parameters used by DCAE #
  #                         #
  ###########################

  dcae_deployment_profile: R2MVP
  dnsaas_config_enabled: false
  dnsaas_region: RegionOne
  dnsaas_keystone_url: https://bdc1tlab01.research.att.com:5000/v3
  dnsaas_tenant_name: ${OS_PROJECT_NAME}
  dnsaas_username: ${OS_USERNAME}
  dnsaas_password: ${OS_PASSWORD}
  dcae_keystone_url: "https://bdc1tlab01.research.att.com:5000/v3"
  dcae_centos_7_image: "centos7"
  dcae_domain: dcaeg2.onap.org
  dcae_public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh
  dcae_private_key: '-----BEGIN RSA PRIVATE KEY-----\n
MIIEpQIBAAKCAQEAylw4KKN/ljqnFBvP+blG5PNfsnM4MAuGPMsE5rkKmzcZWNaE\n
NGMXTFKlJ4YrUl7OUv8kbgFTmB8BoNpgrNtKACDaz/psQSOeOADCG/YrT4wrYKrR\n
NhFqOjJpxRmxweEsd14qBOxeFT7Ie42qbCMMzo260HvjLmtUxkOXeJ3xDkGmoJVy\n
yzxX7nO1m4WyWyukO6x6mX0XDsADF4A6AapcqinoisJ7pnXaNkcjU/JY2Jrwem7s\n
+ypzIp86O6gdLpLVU9ORR/UYNAk1h+Z6K5Rual4D9mrpC9IJNaYfIgLe7mC39ZLa\n
fiySNoGhei9P6pYvRJlQki69bid/EPAgX5YZIQIDAQABAoIBAQClDekkhI9ZqseC\n
qFjPuKaxsizZMg+faJb6WSHLSxzyk1OSWY6F6FklgLeC8HW/fuLNYZyGOYDEsG20\n
lMqL02Wdiy7OutS3oOS5iyzIf9a90HfFJi706el6RIpvINETcaXCS0T8tQrcS1Rd\n
KqTaBRC6HXJGAPbBcvw3pwQSdskatU6a/Kt2a3x6DsqqinQcgEB/SbrDaJCUX9sb\n
F2HVUwdq7aZK1Lk0ozr1FID9mrhjwWuQ6XC+vjG0FqtyXeMpR5iaQ73hex3FXQ8z\n
OjkFbMwuHWSh1DSx70r5yFrrBqwQKnMsBqx4QDRf3fIENUnWviaL+n+gwcXA07af\n
4kaNUFUtAoGBAPuNNRAGhZnyZ9zguns9PM56nmeMUikV5dPN2DTbQb79cpfV+7pC\n
6PeSH/dTKFLz62d6qAM2EsNXQvewf8fipBVBRPsRqKOv+uepd01dHNy62I5B+zRm\n
be9Kbe+EN60qdzvyPM+2hV6CnvGv1dirimS9pu6RrxD2Rmz1ectnJE+rAoGBAM3w\n
UbSEemyZ6EKjck2RfdipzY0MNBnIZ2cUqHh8mmPXjdTLzpXb9vmPbHb01Qwo8MP+\n
gMnTbTBOzyNAaHdIrCO9FHW6C85j3ot5Yzcr+EcBVcua+7KHU0Sgn44JNH8DisJ7\n
Y63UP/1Xb4d1/QvHfxYy3WOvvRdVZ7pPo8JNX95jAoGAIe5CIg8/JizUZa7KeKUh\n
9pgDleQPkQsrHQ6/AyIwFBsLwf9THSS5V+uV9D57SfUs46Bf2U8J6N90YQSlt8iS\n
aWuManFPVgT+yxDIzt6obf2mCEpOIBtQ6N4ZRh2HhQwdWTCrkzkDdGQaHG+jYL6C\n
xGPwiG2ON7OAfGIAM7eN5lECgYEAhoRLWlaOgRGnHKAWsYQvZ67CjTdDcPPuVu6v\n
fMQnNMA/7JeTwV+E205L0wfpgZ/cZKmBBlQMJlnUA3q2wfO+PTnse1mjDJU/cGtB\n
22/lJLxChlQdxGeQhGtGzUhF+hEeOhrO6WSSx7CtMRZoy6Dr6lwfMFZCdVNcBd6v\n
YOOZk3ECgYEAseUKGb6E80XTVVNziyuiVbQCsI0ZJuRfqMZ2IIDQJU9u6AnGAway\n
itqHbkGsmDT+4HUz01+1JKnnw42RdSrHdU/LaOonD+RIGqe2x800QXzqASKLdCXr\n
y7RoiFqJtkdFQykzJemA+xOXvHLgKi/MXFsU90PCD0VJKLj8vwpX78Y=\n
-----END RSA PRIVATE KEY-----'

  ################################
  #                              #
  # Docker versions and branches #
  # Rest of the file will be autogenerated from demo repo
  #                              #
  ################################
