OSID Logo
OSID Specifications
provisioning package
Version 3.1.0
Interfaceosid.provisioning.ProvisionableDistributorAssignmentSession
Implementsosid.OsidSession
Description

This session provides methods to re-assign Provisionables to Distributor mappings. A Provisionable may appear in multiple Distributor objects and removing the last reference to a Provisionable is the equivalent of deleting it. Each Distributor may have its own authorizations governing who is allowed to operate on it.

Adding a reference of a Provisionable to another Distributor is not a copy operation (eg: does not change its Id).

MethodcanAssignProvisionables
Description

Tests if this user can alter provisionable/distributor mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known mapping methods in this session will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer assignment operations to unauthorized users.

Returnboolean false if provisionable is not authorized, true otherwise
Compliancemandatory This method must be implemented.
MethodcanAssignProvisionablesToDistributor
Description

Tests if this user can alter provisionable/distributor mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known mapping methods in this session will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer assignment operations to unauthorized users.

Parametersosid.id.IddistributorId the Id of the Distributor
Returnboolean false if mapping is not authorized, true otherwise
ErrorsNULL_ARGUMENT distributorId is null
Compliancemandatory This method must be implemented.
MethodgetAssignableDistributorIds
Description

Gets a list of distributors including and under the given distributor node in which any provisionable can be assigned.

Parametersosid.id.IddistributorId the Id of the Distributor
Returnosid.id.IdList list of assignable distributor Ids
ErrorsNULL_ARGUMENT distributorId is null
OPERATION_FAILED unable to complete request
Compliancemandatory This method must be implemented.
MethodgetAssignableDistributorIdsForProvisionable
Description

Gets a list of distributors including and under the given distributor node in which a specific provisionable can be assigned.

Parametersosid.id.IddistributorId the Id of the Distributor
osid.id.IdprovisionableId the Id of the Provisionable
Returnosid.id.IdList list of assignable distributor Ids
ErrorsNULL_ARGUMENT distributorId or provisionableId is null
OPERATION_FAILED unable to complete request
Compliancemandatory This method must be implemented.
MethodassignProvisionableToDistributor
Description

Adds an existing Provisionable to a Distributor.

Parametersosid.id.IdprovisionableId the Id of the Provisionable
osid.id.IddistributorId the Id of the Distributor
ErrorsALREADY_EXISTS provisionableId is already assigned to distributorId
NOT_FOUND provisionableId or distributorId not found
NULL_ARGUMENT provisionableId or distributorId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodunassignProvisionableFromDistributor
Description

Removes a Provisionable from a Distributor.

Parametersosid.id.IdprovisionableId the Id of the Provisionable
osid.id.IddistributorId the Id of the Distributor
ErrorsNOT_FOUND provisionableId or distributorId not found or provisionableId not assigned to distributorId
NULL_ARGUMENT provisionableId or distributorId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodreassignProvisionableToDistributor
Description

Moves a Provisionable from one Distributor to another. Mappings to other Distributors are unaffected.

Parametersosid.id.IdprovisionableId the Id of the Provisionable
osid.id.IdfromDistributorId the Id of the current Distributor
osid.id.IdtoDistributorId the Id of the destination Distributor
ErrorsALREADY_EXISTS provisionableId already assigned to toDistributorId
NOT_FOUND provisionableId, fromDistributorId, or toDistributorId not found or provisionableId not mapped to fromDistributorId
NULL_ARGUMENT provisionableId, fromDistributorId, or toDistributorId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.