Menu

Ranger Service

  • password (string) Ranger Administrator password.
  • url (string)
    Policy Manager External URL ("POLICY_MGR_URL").
  • username (string) Ranger Administrator username.
  • service (object)
    Service to be created.
  • service.name (string)
    Name of the service, required.

Exemple

nikita
.ranger_service({
  "username": "ranger_username",
  "password": "ranger_secret",
  "url": "http://ranger.policy.manager",
  "service": {
    "name": options.install["REPOSITORY_NAME"],
    "description": "Hive Repo",
    "isEnabled": true,
    "type": "hive",
    "configs": {
      "username": "ranger@MY_REALM",
      "password": "ranger_secret",
      "jdbc.driverClassName": "org.apache.hive.jdbc.HiveDriver",
      "jdbc.url": "{hive_url}",
      "commonNameForCertificate": "',
      "policy.download.auth.users": "user",
      "tag.download.auth.users": "user"
    }
  }
}, function(err, status){
  console.log( err ? err.message : "Service Created: " + status)
})
module.exports = ({options}) ->
  throw Error 'Required Options: username' unless options.username
  throw Error 'Required Options: password' unless options.password
  throw Error 'Required Options: url' unless options.url
  throw Error 'Required Options: service' unless options.service
  throw Error 'Required Options: service.name' unless options.service.name
  @system.execute
    unless_exec: """
    curl --fail -H  "Content-Type: application/json" -k -X GET \
      -u #{options.username}:#{options.password} \
      "#{options.url}/service/public/v2/api/service/name/#{options.service.name}"
    """
    cmd: """
    curl --fail -H "Content-Type: application/json" -k -X POST \
      -d '#{JSON.stringify options.service}' \
      -u #{options.username}:#{options.password} \
      "#{options.url}/service/public/v2/api/service/"
    """