-- YAML module extracted from ITU-T X.785 (07/2021)
openapi: 3.0.0
info:
title: ITU-T_MOAccessService
description: ''This is the formal definition of the generic MO Access Service.''
termsOfService: https://www.itu.int/en/ITU-T/about/Pages/default.aspx
contact:
email: zlwang@bupt.edu.cn
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
version: 1.0.0
externalDocs:
description: See Recommendation ITU-T X.785
url: https://www.itu.int/itu-t/recommendations/index.aspx?ser=X
servers:
- url: https://www.itu.int/demo/genericMOAccessService/v1.0.0
- url: http://www.itu.int/demo/genericMOAccessService/v1.0.0
tags:
- name: MOAccessService
description: All APIs realted to the generic MO Access Service
externalDocs:
description: Find out more
url: https://www.itu.int/itu-t/recommendations/index.aspx?ser=X
paths:
/MOAccessService:
post:
tags:
- MOAccessService
summary: "createMO"
description: "create an MO instance with the specified attribute list"
operationId: "createMO"
requestBody:
description: "The input parameters of the createMO operation"
content:
application/json:
schema:
$ref: ''#/components/schemas/CreateMORequest''
required: true
responses:
201:
description: "MO is successfully created, and the new MO ID value will be returned."
content:
application/json:
schema:
$ref: ''#/components/schemas/MOID''
400:
description: "Parameter Error occurred in the createMO operation"
content:
application/json:
schema:
$ref: ''#/components/schemas/CreateMOErrorInfo''
404:
description: "The URL does not exist"
content: {}
405:
description: "Method Not Allowed"
content: {}
409:
description: "Conflict MO Id"
content: {}
500:
description: "Internal Server Error"
content: {}
get:
tags:
- MOAccessService
summary: "getMOAttributes"
description: "get the attributes information of a specific MO instance"
operationId: "getMOAttributes"
parameters:
- name: objectClass
in: query
description: "The Object class of the specified MO instance"
required: true
schema:
type: string
- name: moInstance
in: query
description: "The unique ID of the specific MO instance"
required: true
schema:
type: string
format: uri
- name: attributeNameList
in: query
description: "the attribute name of the string"
required: false
schema:
type: array
items:
$ref: ''#/components/schemas/attributeName''
responses:
200:
description: "The attribute value list of the specified MO is retrieved successfully"
content:
application/json:
schema:
$ref: "#/components/schemas/MOInfo"
400:
description: "Parameter Error occurred in the getMOAttributes operation"
content:
application/json:
schema:
$ref: "#/components/schemas/GetMOErrorInfo"
404:
description: "Specified MO Not found"
content: {}
500:
description: "Internal Server Error"
content: {}
delete:
tags:
- MOAccessService
summary: "deleteMO"
description: "delete a specific MO instance"
operationId: "deleteMO"
parameters:
- name: objectClass
in: query
description: "The Object class of the specified MO instance"
required: true
schema:
type: string
- name: moInstance
in: query
description: "The unique ID of the specific MO instance"
required: true
schema:
type: string
format: uri
responses:
200:
description: "The specified MO instance is deleted successfully"
content: {}
400:
description: "Parameter Error occurred in the deleteMO operation"
content:
application/json:
schema:
$ref: ''#/components/schemas/DeleteMOErrorInfo''
404:
description: "Specified MO does not exist"
content: {}
405:
description: "Method Not Allowed, the specified MO cannot be deleted"
content: {}
500:
description: "Internal Server Error"
content: {}
patch:
tags:
- MOAccessService
summary: Set attribute values of an MO instance
operationId: setMOAttributes
requestBody:
description: MO information that is used for modification
content:
application/json:
schema:
$ref: ''#/components/schemas/MOInfo''
required: true
responses:
200:
description: "The specified MO instance attributes are updated successfullly."
content:
application/json:
schema:
$ref: ''#/components/schemas/MOInfo''
204:
description: "MO successfully modified, without any change. No response is needed."
400:
description: "Parameter Error occurred in the setMOAttributes operation"
content:
application/json:
schema:
$ref: "#/components/schemas/SetMOAttributesErrorInfo"
404:
description: Specific MO does not exist.
content: {}
405:
description: Validation parameter
content: {}
500:
description: "Internal Server Error"
content: {}
components:
schemas:
ManagedObject_C:
type: object
required:
- objectClass
- objectInstance
properties:
objectClass:
type: string
objectInstance:
type: string
format: uri
creationSource:
$ref: ''#/components/schemas/SourceIndicatorType''
SourceIndicatorType:
type: string
enum:
- resourceOperation
- managementOperation
- unknown
ContainmentRelationshipType:
type: object
properties:
associationRelationshipName:
type: string
associationDirection:
$ref: ''#/components/schemas/DirectionType''
fromClass:
type: string
fromAssociationAttribute:
type: string
fromMuitiplicity:
$ref: ''#/components/schemas/MultiplicityType''
toClass:
type: string
toAssociationAttribute:
type: string
toMuitiplicity:
$ref: ''#/components/schemas/MultiplicityType''
AssociationRelationshipType:
type: object
properties:
associationRelationshipName:
type: string
associationDirection:
$ref: ''#/components/schemas/DirectionType''
fromClass:
type: string
fromAssociationAttribute:
type: string
fromMuitiplicity:
$ref: ''#/components/schemas/MultiplicityType''
toClass:
type: string
toAssociationAttribute:
type: string
toMuitiplicity:
$ref: ''#/components/schemas/MultiplicityType''
MultiplicityType:
type: string
enum:
- zero_to_one
- zero_to_n
- one
- one_to_n
- n
DirectionType:
type: string
enum:
- unidirectional
- bidirectional
AdministrativeStateType:
type: string
enum:
- locked
- unlocked
- shuttingDown
AvailabilityStatusType:
type: string
enum:
- inTest
- failed
- powerOff
- offLine
- offDuty
- dependency
- degraded
- notInstalled
- logFull
AvailabilityStatusSetType:
type: array
items:
$ref: ''#/components/schemas/AvailabilityStatusType''
BackedUpStatusType:
type: boolean
ControlStatusType:
type: string
enum:
- inTestsubjectToTest
- partOfServicesLocked
- reservedForTest
- suspended
ControlStatusSetType:
type: array
items:
$ref: ''#/components/schemas/ControlStatusType''
ExternalTimeType:
type: string
format: dateTime
OperationalStateType:
type: string
enum:
- disabled
- enabled
ProceduralStatusType:
type: string
enum:
- initializationRequired
- notInitialized
- initializing
- reporting
- terminating
ProceduralStatusSetType:
type: array
items:
$ref: ''#/components/schemas/ProceduralStatusType''
StandbyStatusType:
type: string
enum:
- hotStandby
- coldStandby
- providingService
UnknownStatusType:
type: boolean
UsageStateType:
type: string
enum:
- idle
- active
- busy
MOInfo:
type: object
properties:
moInfo:
$ref: ''#/components/schemas/ManagedObject_C''
attributeList:
type: array
items:
$ref: ''#/components/schemas/NVPair''
NVPair:
type: object
required:
- name
- value
properties:
name:
type: string
value:
type: string
type:
type: string
NVPairList:
type: object
properties:
attributeList:
type: array
items:
$ref: ''#/components/schemas/NVPair''
CreateMORequest:
allOf:
- $ref: ''#/components/schemas/ManagedObject_C''
- $ref: ''#/components/schemas/NVPairList''
CreateMOErrorInfo:
type: object
properties:
code:
type: string
enum:
- objectClassSpecificationMissmatched
- invalidObjectInstance
- noSuchObjectClass
- noSuchAttribute
- invalidAttributeValue
- missingAttributeValue
message:
type: string
required:
- code
GetMOErrorInfo:
type: object
properties:
code:
type: string
enum:
- duplicateInvocation
- resourceLimitation
- operationCancelled
- complexityLimitation
message:
type: string
required:
- code
SetMOAttributesErrorInfo:
type: object
properties:
code:
type: string
enum:
- modifyNotAllowed
- noSuchAttribute
- invalidAttributeValue
- missingAttributeValue
- complexityLimitation
message:
type: string
required:
- code
DeleteMOErrorInfo:
type: object
properties:
code:
type: string
enum:
- resourceLimitation
- complexityLimitation
message:
type: string
required:
- code
attributeName:
type: string
MOID:
type: string
format: uri