Overview

Namespaces

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

Classes

  • Slice_Authority
  • Overview
  • Namespace
  • Class
  • Tree

Class Slice_Authority

GENI Clearinghouse Slice Authority (SA) controller interface

The SA maintains a list of slices, their details and members and provides access to creating, looking up, updating and renewing slices. In addition, provides access to slice and user credentials for interacting with slices within the AM API.

Supports these methods:
  • slice_credental <= get_slice_credential(slice_id, experimenter_cert)
  • user_credential <= get_user_credential(experimenter_cert)
  • slice_id <= create_slice(slice_name, project_id, project_name, owner_id, description)
  • [slice_id]* <= lookup_slice_ids(project_id, [owner_id])
  • [id, slice_name, project_id, expiration, creation, owner_id, slice_description, slice_email, slice_urn]* <= lookup_slices(project_id, member_id)
  • [id, slice_name, project_id, expiration, creation, owner_id, slice_description, slice_email, slice_urn] <= lookup_slice(slice_id)
  • [id, slice_name, project_id, expiration, creation, owner_id, slice_description, slice_email, slice_urn] <= lookup_slice_by_urn(slice_urn)
  • success <= renew_slice(slice_id, expiration)
  • success <= add_slice_member(slice_id, member_id, role_type)
  • success <= remove_slice_member(slice_id, member_id)
  • success <= change_slice_member_role(slice_id, member_id, role_type)
  • [member_id, role]* <= get_slice_members(slice_id, role_type=null)
  • [slice_id, member_id, role]* <= get_slice_members_for_project(project_id, role_type=null)
  • [slice_id]* <= get_slices_for_member(member_id, is_member, role_type=null)
Namespace: Slice_Authority
Located at sa_controller.php
Methods summary
public slice_credential
# get_slice_credential( dict $args_dict )

Create a slice credential and return it

Create a slice credential and return it

Parameters

$args_dict
dict
$args_dict Dictionary containing name/value pairs:
  • "operation" : name of this method ("get_slice_credential")
  • "slice_id" : ID of slice for which to return credential
  • "experimenter_cert" : Certificate of experimenter for whom to generate slice credential

Returns

slice_credential
Slice credential for given experimenter and slice
public user_credential
# get_user_credential( dict $args_dict )

Create a user credential and return it

Create a user credential and return it

Parameters

$args_dict
dict
$args_dict Dictionary containing name/value pairs:
  • "operation" : name of this method ("get_user_credential")
  • "experimenter_cert" : Certificate of experimenter for whom to generate slice credential

Returns

user_credential
User credential for given experimenter
public boolean
# create_slice( dict $args_dict )

Create a slice for given project, name, urn, owner_id

Create a slice for given project, name, urn, owner_id

Parameters

$args_dict
dict
$args_dict Dictionary containing name/value pairs:
  • "operation" : name of this method ("create_slice")
  • "slice_name" : name of slice to be created
  • "project_id" : ID of project to which to associate slice
  • "project_name" : name of project to which to associate slice
  • "owner_id" : ID of owner of slice
  • "description" : Description associated with slice

Returns

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

*** NOT IMPLEMENTED! *** Make slice 'disabled' (that is, one can no longer allocate resources to it) Whether this actually deletes the slice is implementation and poicy dependent.

Will return an error if this call is made when there are active slivers on the given slice.

*** NOT IMPLEMENTED! *** Make slice 'disabled' (that is, one can no longer allocate resources to it) Whether this actually deletes the slice is implementation and poicy dependent.

Will return an error if this call is made when there are active slivers on the given slice.

Parameters

$args_dict
dict
$args_dict Dictionary containing name/value pairs:
  • "operation" : name of this method ("renew_slice")
  • "slice_id" : ID of slice

Returns

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

Renew slice of given ID with given new expiration time

Renew slice of given ID with given new expiration time

Parameters

$args_dict
dict
$args_dict Dictionary containing name/value pairs:
  • "operation" : name of this method ("renew_slice")
  • "slice_id" : ID of slice
  • "expiration : new expiration time of slice

Returns

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

Add a member of given role to given slice

Add a member of given role to given slice

Parameters

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

Returns

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

Remove a member from given slice

Remove a member from given slice

Parameters

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

Returns

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

Change role of given member in given slice

Change role of given member in given slice

Parameters

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

Returns

dict
["code" => error_code, "value" => result, "output" =>error_info]
public array
# lookup_slice_ids( dict $args_dict )

Lookup slice id's by project_id, owner_id and/or slice_name

Lookup slice id's by project_id, owner_id and/or slice_name

Parameters

$args_dict
dict
$args_dict Dictionary containing name/value pairs:
  • "operation" : name of this method ("lookup_slice_ids")
  • "slice_name" : name of slice to be created [optional]
  • "project_id" : ID of project to which to associate slice [optional]
  • "owner_id" : ID of owner of slice [optional]

Returns

array
List of slice ID's matching given criteria
public array
# lookup_slices( dict $args_dict )

Lookup slice id's by project_id, member_id and/or slice_name

Lookup slice id's by project_id, member_id and/or slice_name

Parameters

$args_dict
dict
$args_dict Dictionary containing name/value pairs:
  • "operation" : name of this method ("lookup_slices")
  • "project_id" : ID of project to which to associate slice [optional]
  • "owner_id" : ID of member of slice [optional]

Returns

array
List of slice info tuples (id, slice_name, project_id, expiration, creation, owner_id, slice_description, slice_email, slice_urn) matching given criteria
public dict
# lookup_slice( dict $args_dict )

Lookup slice info by slice id

Lookup slice info by slice id

Parameters

$args_dict
dict
$args_dict Dictionary containing name/value pairs:
  • "operation" : name of this method ("lookup_slice")
  • "slice_id" : ID of slice

Returns

dict
Slice info tuple (id, slice_name, project_id, expiration, creation, owner_id, slice_description, slice_email, slice_urn) for given slice
public dict
# lookup_slice_by_urn( dict $args_dict )

Lookup slice info by slice URN

Lookup slice info by slice URN

Parameters

$args_dict
dict
$args_dict Dictionary containing name/value pairs:
  • "operation" : name of this method ("lookup_slice_by_urn")
  • "slice_urn" : URN of slice

Returns

dict
Slice info tuple (id, slice_name, project_id, expiration, creation, owner_id, slice_description, slice_email, slice_urn) for given slice
public array
# get_slice_members( dict $args )

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

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

Parameters

$args
dict
$args_dict Dictionary containing name/value pairs:
  • "operation" : name of this method ("get_slice_members")
  • "slice_id" : ID of slice to be modifiedb
  • "role_type" : role to be associated with given member [optional]

Returns

array
List of (member_id, role) tuples for members of given slice
public array
# get_slice_members_for_project( dict $args_dict )

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

Return list of member ID's and roles associated with given slice 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_slice_members")
  • "project_id" : ID of project of slices to be queried
  • "role_type" : role to be associated with given member [optional]

Returns

array
List of (slice_id, member_id, role) tuples for members of given slice
public array
# get_slices_for_member( dict $args_dict )

Return list of slice ID's for given member_id

Return list of slice ID's for given member_id

Optionally indicate sense of 'is member' or 'is not member' If is_member is true, return slices for which member is a member If is_member is false, return slices for which member is NOT a member

Optionally indicate role type of member If role is provided, filter on slices 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_slices_for_member")
  • "member_id" : ID of member about which slices are being queried
  • "is_member" : determines sense of 'member_id' query match [optional]
  • "role_type" : role associated with given member [optional]

Returns

array
List of ID's of given slices
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