Overview

Namespaces

  • Authorization_Service
  • Logging_Service
  • Member_Authority
  • Overview
  • Project_Authority
  • Service_Registry
  • Slice_Authority

Classes

  • Project_Authority
  • Overview
  • Namespace
  • Class
  • Tree

Class Project_Authority

GENI Clearinghouse Project Authority (PA) controller interface

The PA maintains a list of projects, their details and members and provides access to creating, looking up, updating, deleting projects.

Supports these methods:
  • project_id <= create_project(project_name, lead_id, lead_email, purpose)
  • success <= delete_project(project_id);
  • [project_name, lead_id, project_email, project_purpose] <= lookup_project(project_id);
  • success <= update_project(project_id, project_email, project_purpose);
  • success <= change_lead(project_id, previous_lead_id, new_lead_id);
  • success <= add_project_member(project_id, member_id, role)
  • success <= remove_project_member(project_id, member_id)
  • success <= change_member_role(project_id, member_id, role)
  • [member_id, role]* <= get_project_members(project_id, role=null)
  • [project_id]* <= get_projects_for_member(member_id, is_member, role=null)
Namespace: Project_Authority
Located at pa_controller.php
Methods summary
public boolean
# create_project( dict $args_dict )

Create and register new project within clearinghouse

Create and register new project within clearinghouse

Parameters

$args_dict
dict
$args_dict Dictionary containing name/value pairs:
  • "operation" : name of this method ("create_project")
  • "project_name" : name of project being created
  • "lead_id" : UUID of project lead
  • "project_purpose" : description of project purpose

Returns

boolean
Success/Failure
public boolean
# delete_project( dict $args_dict )

Delete given project of given ID

Delete given project of given ID

Parameters

$args_dict
dict
$args_dict Dictionary containing name/value pairs:
  • "operation" : name of this method ("delete_project")
  • "project_id" : ID of project to be deleted

Returns

boolean
Success/Failure
public boolean
# update_project( dict $args_dict )

Update details of given project

Update details of given project

Parameters

$args_dict
dict
$args_dict Dictionary containing name/value pairs:
  • "operation" : name of this method ("update_project")
  • "project_id" : ID of project to be modified
  • "project_name" : new name of project
  • "project_purpose" : new purpose of project

Returns

boolean
Success/Failure
public boolean
# change_lead( dict $args_dict )

Update lead of given project

Update lead of given project

Parameters

$args_dict
dict
$args_dict Dictionary containing name/value pairs:
  • "operation" : name of this method ("change_lead")
  • "project_id" : ID of project to be modified
  • "previous_lead_id" : ID of previous project lead
  • "lead_id" : ID of new project lead

Returns

boolean
Success/Failure
public boolean
# add_project_member( dict $args_dict )

Add a member of given role to given project

Add a member of given role to given project

Parameters

$args_dict
dict
$args_dict Dictionary containing name/value pairs:
  • "operation" : name of this method ("add_project_member")
  • "project_id" : ID of project to be modified
  • "member_id : ID of member to be associated with given project
  • "role_type" : role of member within project

Returns

boolean
Success/Failure
public boolean
# remove_project_member( dict $args_dict )

Remove a member from given project

Remove a member from given project

Parameters

$args_dict
dict
$args_dict Dictionary containing name/value pairs:
  • "operation" : name of this method ("remove_project_member")
  • "project_id" : ID of project to be modified
  • "member_id : ID of member to be disassociated with given project

Returns

boolean
Success/Failure
public boolean
# change_member_role( dict $args_dict )

Change role of given member in given project

Change role of given member in given project

Parameters

$args_dict
dict
$args_dict Dictionary containing name/value pairs:
  • "operation" : name of this method ("change_member_role")
  • "project_id" : ID of project to be modified
  • "member_id : ID of member whose role within project is to be modified
  • "role_type" : role to be associated with given member

Returns

boolean
Success/Failure
public array
# get_projects( dict $args_dict )

Return list of all project ID's, optionally limited by lead_id

Return list of all project ID's, optionally limited by lead_id

Parameters

$args_dict
dict
$args_dict Dictionary containing name/value pairs:
  • "operation" : name of this method ("get_projects")
  • "lead_id" : ID of lead of projects to be provided [optional]

Returns

array
List of project IDs associated with given lead ID (if provided)
public array
# lookup_projects( dict $args_dict )

Return list of all projects and data. Optionally, filtered by lead_id if provided

Return list of all projects and data. Optionally, filtered by lead_id if provided

Parameters

$args_dict
dict
$args_dict Dictionary containing name/value pairs:
  • "operation" : name of this method ("lookup_projects")
  • "lead_id" : ID of lead of projects to be provided [optional]

Returns

array
List of project ID, project name, lead_id, project_email, creation time and project purpose for projects of given lead ID (if provided)
public dict
# lookup_project( dict $args_dict )

Return information about project with given ID or name Optionally, filtered by lead_id if provided

Return information about project with given ID or name Optionally, filtered by lead_id if provided

Parameters

$args_dict
dict
$args_dict Dictionary containing name/value pairs:
  • "operation" : name of this method ("lookup_project")
  • "lead_id" : ID of lead of project [optional]
  • "project_id" : ID of project to be provided
  • "project_name" : name of project to be provided
  • NOTE: At least one of preceding two tags is required

Returns

dict
Project ID, project name, lead_id, project_email, creation time and project purpose for projects of given lead ID (if provided)
public array
# get_project_members( dict $args_dict )

Return list of member ID's and roles associated with given project.
If role is provided, filter to members of given role

Return list of member ID's and roles associated with given project.
If role is provided, filter to members of given role

Parameters

$args_dict
dict
$args_dict Dictionary containing name/value pairs:
  • "operation" : name of this method ("get_project_members")
  • "project_id" : ID of project to be modified
  • "role_type" : role filter to be applied to query [optional]

Returns

array
List of (member_id, role) tuples for members of given project
public arrary
# get_projects_for_member( dict $args_dict )

Return list of project ID's for given member_id
Optionally indicate sense of 'is member' or 'is not member'
If is_member is true, return projects for which member is a member
If is_member is false, return projects for which member is NOT a member

Optionally indicate role type of member
If role is provided, filter on projects
for which member has given role (is_member = true)
for which member does NOT have given role (is_member = false)

Return list of project ID's for given member_id
Optionally indicate sense of 'is member' or 'is not member'
If is_member is true, return projects for which member is a member
If is_member is false, return projects for which member is NOT a member

Optionally indicate role type of member
If role is provided, filter on projects
for which member has given role (is_member = true)
for which member does NOT have given role (is_member = false)

Parameters

$args_dict
dict
$args_dict Dictionary containing name/value pairs:
  • "operation" : name of this method ("get_projects_for_member")
  • "member_id" : ID of member about which projects are being queried
  • "is_member" : determines sense of 'member_id' query match [optional]
  • "role_type" : role associated with given member [optional]

Returns

arrary
List of ID's of given projects
public number
# get_version( dict $args_dict )

Get the version of the API of this particular service provider

Get the version of the API of this particular service provider

Parameters

$args_dict
dict
$args_dict Dictionary containing 'operation' argument

Returns

number
Version of API of this particular service provider
API documentation generated by ApiGen 2.8.0