<?php
namespace Airavata\Service\Iam\Admin\Services\CPI;

/**
 * Autogenerated by Thrift Compiler (0.10.0)
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 *  @generated
 */
use Thrift\Base\TBase;
use Thrift\Type\TType;
use Thrift\Type\TMessageType;
use Thrift\Exception\TException;
use Thrift\Exception\TProtocolException;
use Thrift\Protocol\TProtocol;
use Thrift\Protocol\TBinaryProtocolAccelerated;
use Thrift\Exception\TApplicationException;


final class Constant extends \Thrift\Type\TConstant {
  static protected $IAM_ADMIN_SERVICES_CPI_VERSION;
  static protected $IAM_ADMIN_SERVICES_CPI_NAME;

  static protected function init_IAM_ADMIN_SERVICES_CPI_VERSION() {
    return "0.17";
  }

  static protected function init_IAM_ADMIN_SERVICES_CPI_NAME() {
    return "IamAdminServices";
  }
}


