heat_template_version: 2016-04-08

description: >
  Base parameters for all Contrail Services.

parameters:
  ServiceNetMap:
    default: {}
    description: Mapping of service_name -> network name. Typically set
                 via parameter_defaults in the resource registry.  This
                 mapping overrides those in ServiceNetMapDefaults.
    type: json
  DefaultPasswords:
    default: {}
    type: json
  EndpointMap:
    default: {}
    description: Mapping of service endpoint -> protocol. Typically set
                 via parameter_defaults in the resource registry.
    type: json
  AdminPassword:
    description: Keystone admin user password
    type: string
  AdminTenantName:
    description: Keystone admin tenant name
    type: string
  AdminToken:
    description: Keystone admin token
    type: string
  AdminUser:
    description: Keystone admin user name
    type: string
  AuthHost:
    description: Keystone host IP address
    type: string
  AuthPort:
    default: 35357
    description: Keystone port
    type: number
  AuthProtocol:
    default: 'http'
    description: Keystone authentication protocol
    type: string
  ContrailDiscoveryServerIp:
    description: Discovery server ip address
    type: string
  ContrailKafkaBrokerList:
    description: List of kafka servers
    type: comma_delimited_list
  ContrailAuth:
    default: 'keystone'
    description: Keystone authentication method
    type: string
  ContrailCassandraServerList:
    default: []
    description: List of cassandra servers
    type: comma_delimited_list
  ContrailDiscoveryServerPort:
    description: Discovery server port
    type: number
    default: 5998
  ContrailInsecure:
    default: false
    description: Keystone insecure mode
    type: boolean
  ContrailMemcachedServer:
    default: '127.0.0.1:12111'
    description: Memcached server
    type: string
  ContrailMultiTenancy:
    default: true
    description: Turn on/off multi-tenancy
    type: boolean
  ContrailZkServerIp:
    default: []
    description: List of zookeeper servers
    type: comma_delimited_list

outputs:
  role_data:
    description: Shared role data for the Contrail services.
    value:
      service_name: contrail_base
      config_settings:
        contrail::admin_password: {get_param: AdminPassword}
        contrail::admin_tenant_name: {get_param: AdminTenantName}
        contrail::admin_token: {get_param: AdminToken}
        contrail::admin_user: {get_param: AdminUser}
        contrail::auth_host: {get_param: [EndpointMap, KeystoneInternal, host] }
        contrail::auth_port: {get_param: [EndpointMap, KeystoneInternal, port] }
        contrail::auth_protocol: {get_param: [EndpointMap, KeystoneInternal, protocol] }
        contrail::disc_server_ip: {get_param: ContrailDiscoveryServerIp}
        contrail::kafka_broker_list: {get_param: ContrailKafkaBrokerList}
        contrail::auth: {get_param: ContrailAuth}
        contrail::cassandra_server_list: {get_param: ContrailCassandraServerList}
        contrail::disc_server_port: {get_param: ContrailDiscoveryServerPort}
        contrail::insecure: {get_param: ContrailInsecure}
        contrail::memcached_server: {get_param: ContrailMemcachedServer}
        contrail::multi_tenancy: {get_param: ContrailMultiTenancy}
        contrail::zk_server_ip: {get_param: ContrailZkServerIp}
