heat_template_version: rocky

description: >
  Oslo Notify using a shared OpenStack containerized Rabbitmq service

parameters:
  EndpointMap:
    default: {}
    description: Mapping of service endpoint -> protocol. Typically set
                 via parameter_defaults in the resource registry.
    type: json
  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
  RpcPort:
    default: 5672
    description: The network port for messaging backend
    type: number
  RpcUserName:
    default: guest
    description: The username for messaging backend
    type: string
  RpcPassword:
    description: The password for messaging backend
    type: string
    hidden: true
  RpcUseSSL:
    default: false
    description: >
        Messaging client subscriber parameter to specify
        an SSL connection to the messaging host.
    type: string

resources:

  ContainersCommon:
    type: ../containers-common.yaml

outputs:
  role_data:
    description: Role data for the oslo messaging notify role.
    value:
      service_name: oslo_messaging_notify
      global_config_settings:
        oslo_messaging_notify_scheme: rabbit
        oslo_messaging_notify_user_name: {get_param: RpcUserName}
        oslo_messaging_notify_password: {get_param: RpcPassword}
        oslo_messaging_notify_use_ssl: {get_param: RpcUseSSL}
        oslo_messaging_notify_port: {get_param: RpcPort}
