heat_template_version: 2016-04-08

description: >
  Openstack Manila generic backend.

parameters:
  ManilaGenericBackendName:
    type: string
    default: tripleo_generic
  ManilaGenericDriverHandlesShareServers:
    type: string
    default: true
  ManilaGenericSmbTemplateConfigPath:
    type: string
    default: '$state_path/smb.conf'
  ManilaGenericVolumeNameTemplate:
    type: string
    default: 'manila-share-%s'
  ManilaGenericVolumeSnapshotNameTemplate:
    type: string
    default: 'manila-snapshot-%s'
  ManilaGenericShareMountPath:
    type: string
    default: '/shares'
  ManilaGenericMaxTimeToCreateVolume:
    type: string
    default: '180'
  ManilaGenericMaxTimeToAttach:
    type: string
    default: '120'
  ManilaGenericServiceInstanceSmbConfigPath:
    type: string
    default: '$share_mount_path/smb.conf'
  ManilaGenericShareVolumeFsType:
    type: string
    default: 'ext4'
  ManilaGenericCinderVolumeType:
    type: string
    default: ''
  ManilaServiceInstanceUser:
    type: string
    default: ''
  ManilaServiceInstancePassword: #SET THIS via parameter_defaults
    type: string
    hidden: true
  ManilaServiceInstanceFlavorId:
    type: number
    default: 1
  ManilaServiceNetworkCidr:
    type: string
    default: '172.16.0.0/16'
  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: {}
    type: json
    description: Mapping of service endpoint -> protocol. Typically set
                 via parameter_defaults in the resource registry.

outputs:
  role_data:
    description: Role data for the Manila Generic backend.
    value:
      service_name: manila_backend_generic
      config_settings:
        manila::backend::generic::title: {get_param: ManilaGenericBackendName}
        manila::backend::generic::driver_handles_share_servers: {get_param: ManilaGenericDriverHandlesShareServers}
        manila::backend::generic::smb_template_config_path: {get_param: ManilaGenericSmbTemplateConfigPath}
        manila::backend::generic::volume_name_template: {get_param: ManilaGenericVolumeNameTemplate}
        manila::backend::generic::volume_snapshot_name_template: {get_param: ManilaGenericVolumeSnapshotNameTemplate}
        manila::backend::generic::share_mount_path: {get_param: ManilaGenericShareMountPath}
        manila::backend::generic::max_time_to_create_volume: {get_param: ManilaGenericMaxTimeToCreateVolume}
        manila::backend::generic::max_time_to_attach: {get_param: ManilaGenericMaxTimeToAttach}
        manila::backend::generic::service_instance_smb_config_path: {get_param: ManilaGenericServiceInstanceSmbConfigPath}
        manila::backend::generic::share_volume_fstype: {get_param: ManilaGenericShareVolumeFsType}
        manila::backend::generic::cinder_volume_type: {get_param: ManilaGenericCinderVolumeType}
        manila::service_instance::service_instance_user: {get_param: ManilaServiceInstanceUser}
        manila::service_instance::service_instance_password: {get_param: ManilaServiceInstancePassword}
        manila::service_instance::service_instance_flavor_id: {get_param: ManilaServiceInstanceFlavorId}
        manila::service_instance::service_network_cidr: {get_param: ManilaServiceNetworkCidr}

      step_config: