parameters:

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

  public_net_id: 3a6247f1-fac6-4167-a49f-33cc8415ccf4

  public_net_name: provider

  ubuntu_1404_image: trusty

  ubuntu_1604_image: xenial

  flavor_small: m1.small

  flavor_medium: m1.medium

  flavor_large: m1.large

  flavor_xlarge: m1.xlarge

  vm_base_name: onap

  key_name: onap_key

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

  nexus_artifact_repo: https://nexus.onap.org

  nexus_docker_repo: 10.145.122.118:5000

  nexus_username: anonymous

  nexus_password: anonymous

  dmaap_topic: AUTO

  artifacts_version: 1.1.1

  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

  keystone_url: http://10.145.122.117:5000

  cloud_env: RegionOne


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

  dns_list: ["10.145.122.117", "10.145.122.118"]
  external_dns: 10.145.122.118
  dns_forwarder: 10.145.122.117
  oam_network_cidr: 172.16.0.0/16

  ### Private IP addresses ###

  aai1_ip_addr: 172.16.1.1
  aai2_ip_addr: 172.16.1.2
  appc_ip_addr: 172.16.2.1
  dcae_ip_addr: 172.16.4.1
  dns_ip_addr: 172.16.100.1
  so_ip_addr: 172.16.5.1
  mr_ip_addr: 172.16.11.1
  policy_ip_addr: 172.16.6.1
  portal_ip_addr: 172.16.9.1
  robot_ip_addr: 172.16.10.1
  sdc_ip_addr: 172.16.3.1
  sdnc_ip_addr: 172.16.7.1
  vid_ip_addr: 172.16.8.1
  clamp_ip_addr: 172.16.12.1
  openo_ip_addr: 172.16.14.1

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

  dnsaas_config_enabled: false
  dnsaas_region: RegionOne
  dnsaas_keystone_url: http://10.145.122.117:5000/v3
  dnsaas_tenant_name: ${OS_PROJECT_NAME}
  dnsaas_username: ${OS_USERNAME}
  dnsaas_password: ${OS_PASSWORD}
  dcae_keystone_url: http://10.145.122.117:5000/v2.0
  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
  #                              #
  ################################
