-- Module DirectoryShadowAbstractService (X.525:10/2012)
-- See also ITU-T X.525 (10/2012)
-- See also the index of all ASN.1 assignments needed in this document
DirectoryShadowAbstractService {joint-iso-itu-t ds(5) module(1)
directoryShadowAbstractService(15) 7} DEFINITIONS IMPLICIT TAGS ::=
BEGIN
-- EXPORTS All
-- The types and values defined in this module are exported for use in the other ASN.1
-- modules contained within the Directory Specifications, and for the use of other
-- applications which will use them to access directory services. Other applications
-- may use them for their own purposes, but this will not constrain extensions and
-- modifications needed to maintain or improve the directory service.
IMPORTS
-- from Rec. ITU-T X.501 | ISO/IEC 9594-2
commonProtocolSpecification, directoryAbstractService,
directoryOperationalBindingTypes, informationFramework,
directoryOSIProtocols, distributedOperations, dsaOperationalAttributeTypes,
enhancedSecurity, opBindingManagement
FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
usefulDefinitions(0) 7}
Attribute{}, AttributeType, CONTEXT, DistinguishedName,
RelativeDistinguishedName, SubtreeSpecification, SupportedAttributes
FROM InformationFramework informationFramework
OPERATIONAL-BINDING, OperationalBindingID
FROM OperationalBindingManagement opBindingManagement
DSEType, SupplierAndConsumers
FROM DSAOperationalAttributeTypes dsaOperationalAttributeTypes
OPTIONALLY-PROTECTED{}, OPTIONALLY-PROTECTED-SEQ{}
FROM EnhancedSecurity enhancedSecurity
-- from Rec. ITU-T X.511 | ISO/IEC 9594-3
CommonResultsSeq, ContextSelection, EntryModification, SecurityParameters
FROM DirectoryAbstractService directoryAbstractService
-- from Rec. ITU-T X.518 | ISO/IEC 9594-4
AccessPoint, dSABind
FROM DistributedOperations distributedOperations
-- from Rec. ITU-T X.519 | ISO/IEC 9594-5
id-op-binding-shadow
FROM DirectoryOperationalBindingTypes directoryOperationalBindingTypes
shadowConsumerInitiatedAC, shadowSupplierInitiatedAC
FROM DirectoryOSIProtocols directoryOSIProtocols
ERROR, OPERATION, id-errcode-shadowError, id-opcode-coordinateShadowUpdate,
id-opcode-requestShadowUpdate, id-opcode-updateShadow
FROM CommonProtocolSpecification commonProtocolSpecification;
-- bind operation
dSAShadowBind OPERATION ::= dSABind
-- shadow operational binding
shadowOperationalBinding OPERATIONAL-BINDING ::= {
AGREEMENT ShadowingAgreementInfo
APPLICATION CONTEXTS
{{shadowSupplierInitiatedAC
APPLIES TO {All-operations-supplier-initiated}} |
{shadowConsumerInitiatedAC
APPLIES TO {All-operations-consumer-initiated}}}
ASYMMETRIC ROLE-A
{ -- shadow supplier roleESTABLISHMENT-INITIATOR TRUE
ESTABLISHMENT-PARAMETER NULL
MODIFICATION-INITIATOR TRUE
TERMINATION-INITIATOR TRUE}
ROLE-B
{ -- shadow consumer roleESTABLISHMENT-INITIATOR TRUE
ESTABLISHMENT-PARAMETER NULL
MODIFICATION-INITIATOR TRUE
MODIFICATION-PARAMETER ModificationParameter
TERMINATION-INITIATOR TRUE}
ID id-op-binding-shadow
}
-- types
ModificationParameter ::= SEQUENCE {
secondaryShadows SET OF SupplierAndConsumers,
...
}
AgreementID ::= OperationalBindingID
ShadowingAgreementInfo ::= SEQUENCE {
shadowSubject UnitOfReplication,
updateMode UpdateMode DEFAULT supplierInitiated:onChange:TRUE,
master AccessPoint OPTIONAL,
secondaryShadows [2] BOOLEAN DEFAULT FALSE
}
UnitOfReplication ::= SEQUENCE {
area AreaSpecification,
attributes AttributeSelection,
knowledge Knowledge OPTIONAL,
subordinates BOOLEAN DEFAULT FALSE,
contextSelection ContextSelection OPTIONAL,
supplyContexts
[0] CHOICE {allContexts NULL,
selectedContexts SET SIZE (1..MAX) OF CONTEXT.&id,
...} OPTIONAL
}
AreaSpecification ::= SEQUENCE {
contextPrefix DistinguishedName,
replicationArea SubtreeSpecification,
...
}
Knowledge ::= SEQUENCE {
knowledgeType ENUMERATED {master(0), shadow(1), both(2)},
extendedKnowledge BOOLEAN DEFAULT FALSE,
...
}
AttributeSelection ::= SET OF ClassAttributeSelection
ClassAttributeSelection ::= SEQUENCE {
class OBJECT IDENTIFIER OPTIONAL,
classAttributes ClassAttributes DEFAULT allAttributes:NULL
}
ClassAttributes ::= CHOICE {
allAttributes NULL,
include [0] AttributeTypes,
exclude [1] AttributeTypes,
...
}
AttributeTypes ::= SET OF AttributeType
UpdateMode ::= CHOICE {
supplierInitiated [0] SupplierUpdateMode,
consumerInitiated [1] ConsumerUpdateMode,
...
}
SupplierUpdateMode ::= CHOICE {
onChange BOOLEAN,
scheduled SchedulingParameters,
...
}
ConsumerUpdateMode ::= SchedulingParameters
SchedulingParameters ::= SEQUENCE {
periodic PeriodicStrategy OPTIONAL, -- shall be present if othertimes
-- is set to FALSE
othertimes BOOLEAN DEFAULT FALSE,
...
}
PeriodicStrategy ::= SEQUENCE {
beginTime Time OPTIONAL,
windowSize INTEGER,
updateInterval INTEGER,
...
}
Time ::= GeneralizedTime
-- as per 46.3 b) and c) of Rec. ITU-T X.680 | ISO/IEC 8824-1
-- shadow operations, arguments, and results
All-operations-consumer-initiated OPERATION ::=
{requestShadowUpdate | updateShadow}
All-operations-supplier-initiated OPERATION ::=
{coordinateShadowUpdate | updateShadow}
coordinateShadowUpdate OPERATION ::= {
ARGUMENT CoordinateShadowUpdateArgument
RESULT CoordinateShadowUpdateResult
ERRORS {shadowError}
CODE id-opcode-coordinateShadowUpdate
}
CoordinateShadowUpdateArgument ::=
OPTIONALLY-PROTECTED{CoordinateShadowUpdateArgumentData}
CoordinateShadowUpdateArgumentData ::= [0] SEQUENCE {
agreementID AgreementID,
lastUpdate Time OPTIONAL,
updateStrategy
CHOICE {standard ENUMERATED {noChanges(0), incremental(1), total(2), ...
},
other EXTERNAL,
...},
securityParameters SecurityParameters OPTIONAL,
...
}
CoordinateShadowUpdateResult ::= CHOICE {
null NULL,
information OPTIONALLY-PROTECTED{CoordinateShadowUpdateResultData},
...
}
CoordinateShadowUpdateResultData ::= [0] SEQUENCE {
agreementID AgreementID,
lastUpdate Time OPTIONAL,
...,
...,
COMPONENTS OF CommonResultsSeq
}
requestShadowUpdate OPERATION ::= {
ARGUMENT RequestShadowUpdateArgument
RESULT RequestShadowUpdateResult
ERRORS {shadowError}
CODE id-opcode-requestShadowUpdate
}
RequestShadowUpdateArgument ::=
OPTIONALLY-PROTECTED{RequestShadowUpdateArgumentData}
RequestShadowUpdateArgumentData ::= [0] SEQUENCE {
agreementID AgreementID,
lastUpdate Time OPTIONAL,
requestedStrategy
CHOICE {standard ENUMERATED {incremental(1), total(2), ...
},
other EXTERNAL,
...},
securityParameters SecurityParameters OPTIONAL,
...
}
RequestShadowUpdateResult ::= CHOICE {
null NULL,
information OPTIONALLY-PROTECTED{RequestShadowUpdateResultData},
...
}
RequestShadowUpdateResultData ::= [0] SEQUENCE {
agreementID AgreementID,
lastUpdate Time OPTIONAL,
...,
...,
COMPONENTS OF CommonResultsSeq
}
updateShadow OPERATION ::= {
ARGUMENT UpdateShadowArgument
RESULT UpdateShadowResult
ERRORS {shadowError}
CODE id-opcode-updateShadow
}
UpdateShadowArgument ::= OPTIONALLY-PROTECTED{UpdateShadowArgumentData}
UpdateShadowArgumentData ::= [0] SEQUENCE {
agreementID AgreementID,
updateTime Time,
updateWindow UpdateWindow OPTIONAL,
updatedInfo RefreshInformation,
securityParameters SecurityParameters OPTIONAL,
...
}
UpdateShadowResult ::= CHOICE {
null NULL,
information OPTIONALLY-PROTECTED{UpdateShadowResultData},
...
}
UpdateShadowResultData ::= [0] SEQUENCE {
agreementID AgreementID,
lastUpdate Time OPTIONAL,
...,
...,
COMPONENTS OF CommonResultsSeq
}
UpdateWindow ::= SEQUENCE {start Time,
stop Time,
...
}
RefreshInformation ::= CHOICE {
noRefresh NULL,
total [0] TotalRefresh,
incremental [1] IncrementalRefresh,
otherStrategy EXTERNAL,
...
}
TotalRefresh ::= SEQUENCE {
sDSE SDSEContent OPTIONAL,
subtree SET SIZE (1..MAX) OF Subtree OPTIONAL,
...
}
SDSEContent ::= SEQUENCE {
sDSEType SDSEType,
subComplete [0] BOOLEAN DEFAULT FALSE,
attComplete [1] BOOLEAN OPTIONAL,
attributes SET OF Attribute{{SupportedAttributes}},
attValIncomplete SET OF AttributeType DEFAULT {},
...
}
SDSEType ::= DSEType
Subtree ::= SEQUENCE {
rdn RelativeDistinguishedName,
COMPONENTS OF TotalRefresh,
...
}
IncrementalRefresh ::= SEQUENCE OF IncrementalStepRefresh
IncrementalStepRefresh ::= SEQUENCE {
sDSEChanges
CHOICE {add [0] SDSEContent,
remove NULL,
modify [1] ContentChange,
...} OPTIONAL,
subordinateUpdates SEQUENCE SIZE (1..MAX) OF SubordinateChanges OPTIONAL
}
ContentChange ::= SEQUENCE {
rename
CHOICE {newRDN RelativeDistinguishedName,
newDN DistinguishedName} OPTIONAL,
attributeChanges
CHOICE {replace [0] SET SIZE (1..MAX) OF Attribute{{SupportedAttributes}},
changes [1] SEQUENCE SIZE (1..MAX) OF EntryModification
} OPTIONAL,
sDSEType SDSEType,
subComplete [2] BOOLEAN DEFAULT FALSE,
attComplete [3] BOOLEAN OPTIONAL,
attValIncomplete SET OF AttributeType DEFAULT {},
...
}
SubordinateChanges ::= SEQUENCE {
subordinate RelativeDistinguishedName,
changes IncrementalStepRefresh,
...
}
-- errors and parameters
shadowError ERROR ::= {
PARAMETER OPTIONALLY-PROTECTED-SEQ {ShadowErrorData}
CODE id-errcode-shadowError
}
ShadowErrorData ::= SEQUENCE {
problem ShadowProblem,
lastUpdate Time OPTIONAL,
updateWindow UpdateWindow OPTIONAL,
...,
...,
COMPONENTS OF CommonResultsSeq
}
ShadowProblem ::= INTEGER {
invalidAgreementID(1), inactiveAgreement(2), invalidInformationReceived(3),
unsupportedStrategy(4), missedPrevious(5), fullUpdateRequired(6),
unwillingToPerform(7), unsuitableTiming(8), updateAlreadyReceived(9),
invalidSequencing(10), insufficientResources(11)}
END -- DirectoryShadowAbstractService
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D