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)
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
|