heat_template_version: pike

description: >
  OpenStack Neutron NSX

parameters:
  ServiceData:
    default: {}
    description: Dictionary packing service data
    type: json
  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
  RoleName:
    default: ''
    description: Role name on which the service is applied
    type: string
  RoleParameters:
    default: {}
    description: Parameters specific to the role
    type: json
  EndpointMap:
    default: {}
    description: Mapping of service endpoint -> protocol. Typically set
                 via parameter_defaults in the resource registry.
    type: json
  DefaultOverlayTz:
    description: UUID of the default NSX overlay transport zone.
    type: string
  DefaultTier0Router:
    description: UUID of the default tier0 router that will be used for connecting to
                 tier1 logical routers and configuring external networks.
    type: string
  NsxApiManagers:
    description: IP address of one or more NSX managers separated by commas.
    type: string
  NsxApiUser:
    description: User name of NSX Manager.
    type: string
  NsxApiPassword:
    description: Password of NSX Manager.
    type: string
  NativeDhcpMetadata:
    default: True
    description: This is the flag to indicate if using native DHCP/Metadata or not.
    type: boolean
  DhcpProfileUuid:
    description: This is the UUID of the NSX DHCP Profile that will be used to enable
                 native DHCP service.
    type: string
  MetadataProxyUuid:
    description: This is the UUID of the NSX Metadata Proxy that will be used to enable
                 native metadata service.
    type: string

outputs:
  role_data:
    description: Role data for the Neutron NSX plugin
    value:
      service_name: neutron_plugin_nsx
      config_settings:
        neutron::plugins::nsx::default_overlay_tz: {get_param: DefaultOverlayTz}
        neutron::plugins::nsx::default_tier0_router: {get_param: DefaultTier0Router}
        neutron::plugins::nsx::nsx_api_managers: {get_param: NsxApiManagers}
        neutron::plugins::nsx::nsx_api_user: {get_param: NsxApiUser}
        neutron::plugins::nsx::nsx_api_password: {get_param: NsxApiPassword}
        neutron::plugins::nsx::native_dhcp_metadata: {get_param: NativeDhcpMetadata}
        neutron::plugins::nsx::dhcp_profile_uuid: {get_param: DhcpProfileUuid}
        neutron::plugins::nsx::metadata_proxy_uuid: {get_param: MetadataProxyUuid}

      step_config: |
        include tripleo::profile::base::neutron::plugins::nsx
